Compare commits
45 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0927c3638a | |||
| b1eed1c153 | |||
| fac6f6c712 | |||
| 3f1fc798f0 | |||
| e6a86f61dc | |||
| 2799632c02 | |||
| 8ffa681e02 | |||
| 154035e76f | |||
| 1d4c664bfa | |||
| 85a650afce | |||
| f6c4d3731c | |||
| 5e9070145e | |||
| 81ced841dd | |||
| 9837a9dcfd | |||
| 1704ec3c7d | |||
| c70a326055 | |||
| 53616a73e9 | |||
| 2d3a3d6a78 | |||
| 6ca9e5987b | |||
| 2c1590001f | |||
| 82aee038e9 | |||
| a94d7abf0d | |||
| 3b87903889 | |||
| 191f826075 | |||
| 5d52c43074 | |||
| f6a67aeb20 | |||
| 370e2f0940 | |||
| 2ec9fc26d3 | |||
| c2d898d462 | |||
| 7c04231255 | |||
| 08216dcee9 | |||
| 9817df12ff | |||
| 5b0e8eb574 | |||
| cecde85faa | |||
| aa95b4f341 | |||
| 816f8807a3 | |||
| 26d3c407b3 | |||
| a973e8ea8d | |||
| b007597c58 | |||
| 1e83a44c93 | |||
| 259ad83de9 | |||
| b4f5432d5a | |||
| 4fe4523c49 | |||
| 34028ea31e | |||
| 4244314a40 |
@@ -19,7 +19,6 @@ flatpak build ${builddir} meson \
|
||||
--buildtype=debugoptimized \
|
||||
-Dx11-backend=true \
|
||||
-Dwayland-backend=true \
|
||||
-Dvulkan=disabled \
|
||||
-Dbuild-tests=false \
|
||||
-Dbuild-testsuite=false \
|
||||
-Dbuild-examples=false \
|
||||
|
||||
@@ -185,7 +185,6 @@
|
||||
"builddir" : true,
|
||||
"config-opts" : [
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
|
||||
@@ -114,7 +114,6 @@
|
||||
"builddir" : true,
|
||||
"config-opts" : [
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
|
||||
@@ -114,7 +114,6 @@
|
||||
"builddir" : true,
|
||||
"config-opts" : [
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
@@ -131,7 +130,6 @@
|
||||
"env" : {
|
||||
"DBUS_SESSION_BUS_ADDRESS" : "''",
|
||||
"GSK_RENDERER" : "opengl",
|
||||
"GDK_DEBUG" : "vulkan-disable",
|
||||
"G_ENABLE_DEBUG" : "true"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +114,6 @@
|
||||
"builddir" : true,
|
||||
"config-opts" : [
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
@@ -131,7 +130,6 @@
|
||||
"env" : {
|
||||
"DBUS_SESSION_BUS_ADDRESS" : "''",
|
||||
"GSK_RENDERER" : "opengl",
|
||||
"GDK_DEBUG" : "vulkan-disable",
|
||||
"G_ENABLE_DEBUG" : "true"
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -2,7 +2,7 @@
|
||||
<interface>
|
||||
<menu id="menubar">
|
||||
<submenu>
|
||||
<attribute name="label" translatable="yes">_Application</attribute>
|
||||
<attribute name="label" translatable="yes">_File</attribute>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">_New</attribute>
|
||||
@@ -33,7 +33,7 @@
|
||||
</section>
|
||||
</submenu>
|
||||
<submenu>
|
||||
<attribute name="label" translatable="yes">_File</attribute>
|
||||
<attribute name="label" translatable="yes">_Preferences</attribute>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">_Prefer Dark Theme</attribute>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -50,18 +50,6 @@
|
||||
#include "gdkenumtypes.h"
|
||||
#include "gdkeventsprivate.h"
|
||||
|
||||
static struct {
|
||||
GdkDragAction action;
|
||||
const char *name;
|
||||
GdkCursor *cursor;
|
||||
} drag_cursors[] = {
|
||||
{ GDK_ACTION_ASK, "dnd-ask", NULL },
|
||||
{ GDK_ACTION_COPY, "copy", NULL },
|
||||
{ GDK_ACTION_MOVE, "move", NULL },
|
||||
{ GDK_ACTION_LINK, "alias", NULL },
|
||||
{ 0, "no-drop", NULL },
|
||||
};
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_CONTENT,
|
||||
@@ -786,6 +774,20 @@ gdk_drag_handle_source_event (GdkEvent *event)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static struct {
|
||||
GdkDragAction action;
|
||||
const char *name;
|
||||
GdkCursor *cursor;
|
||||
} drag_cursors[] = {
|
||||
{ 0, "default", NULL },
|
||||
{ GDK_ACTION_ASK, "dnd-ask", NULL },
|
||||
{ GDK_ACTION_COPY, "copy", NULL },
|
||||
{ GDK_ACTION_MOVE, "dnd-move", NULL }, /* Not using move here, since move is stuck using
|
||||
* a mismatched visual metaphor in Adwaita
|
||||
*/
|
||||
{ GDK_ACTION_LINK, "alias", NULL },
|
||||
};
|
||||
|
||||
GdkCursor *
|
||||
gdk_drag_get_cursor (GdkDrag *drag,
|
||||
GdkDragAction action)
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <jpeglib.h>
|
||||
#include <jerror.h>
|
||||
#include <setjmp.h>
|
||||
#include <malloc.h>
|
||||
|
||||
/* {{{ Error handling */
|
||||
|
||||
@@ -237,8 +238,10 @@ gdk_load_jpeg (GBytes *input_bytes,
|
||||
|
||||
g_bytes_unref (bytes);
|
||||
|
||||
malloc_trim (0);
|
||||
|
||||
gdk_profiler_end_mark (before, "Load jpeg", NULL);
|
||||
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "gsk/gl/fp16private.h"
|
||||
#include <png.h>
|
||||
#include <stdio.h>
|
||||
#include <malloc.h>
|
||||
|
||||
/* The main difference between the png load/save code here and
|
||||
* gdk-pixbuf is that we can support loading 16-bit data in the
|
||||
@@ -300,6 +301,8 @@ gdk_load_png (GBytes *bytes,
|
||||
g_free (row_pointers);
|
||||
png_destroy_read_struct (&png, &info, NULL);
|
||||
|
||||
malloc_trim (0);
|
||||
|
||||
if (GDK_PROFILER_IS_RUNNING)
|
||||
{
|
||||
gint64 end = GDK_PROFILER_CURRENT_TIME;
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "gdktexturedownloaderprivate.h"
|
||||
|
||||
#include <tiffio.h>
|
||||
#include <malloc.h>
|
||||
|
||||
/* Our main interest in tiff as an image format is that it is
|
||||
* flexible enough to save all our texture formats without
|
||||
@@ -500,6 +501,8 @@ gdk_load_tiff (GBytes *input_bytes,
|
||||
|
||||
TIFFClose (tif);
|
||||
|
||||
malloc_trim (0);
|
||||
|
||||
if (GDK_PROFILER_IS_RUNNING)
|
||||
{
|
||||
gint64 end = GDK_PROFILER_CURRENT_TIME;
|
||||
|
||||
@@ -296,10 +296,6 @@ typedef NSString *CALayerContentsGravity;
|
||||
GdkMonitor *monitor;
|
||||
GdkRectangle geometry;
|
||||
GdkRectangle workarea;
|
||||
int shadow_top = 0;
|
||||
int shadow_left = 0;
|
||||
int shadow_right = 0;
|
||||
int shadow_bottom = 0;
|
||||
GdkRectangle window_gdk;
|
||||
GdkPoint pointer_position;
|
||||
GdkPoint new_origin;
|
||||
@@ -307,13 +303,6 @@ typedef NSString *CALayerContentsGravity;
|
||||
if (!inManualMove)
|
||||
return NO;
|
||||
|
||||
/* Get our shadow so we can adjust the window position sans-shadow */
|
||||
_gdk_macos_surface_get_shadow (gdk_surface,
|
||||
&shadow_top,
|
||||
&shadow_right,
|
||||
&shadow_bottom,
|
||||
&shadow_left);
|
||||
|
||||
windowFrame = [self frame];
|
||||
currentLocation = [NSEvent mouseLocation];
|
||||
|
||||
@@ -339,21 +328,9 @@ typedef NSString *CALayerContentsGravity;
|
||||
window_gdk.width = windowFrame.size.width;
|
||||
window_gdk.height = windowFrame.size.height;
|
||||
|
||||
/* Subtract our shadowin from the window */
|
||||
window_gdk.x += shadow_left;
|
||||
window_gdk.y += shadow_top;
|
||||
window_gdk.width = window_gdk.width - shadow_left - shadow_right;
|
||||
window_gdk.height = window_gdk.height - shadow_top - shadow_bottom;
|
||||
|
||||
/* Now place things on the monitor */
|
||||
_edge_snapping_motion (&self->snapping, &pointer_position, &window_gdk);
|
||||
|
||||
/* And add our shadow back to the frame */
|
||||
window_gdk.x -= shadow_left;
|
||||
window_gdk.y -= shadow_top;
|
||||
window_gdk.width += shadow_left + shadow_right;
|
||||
window_gdk.height += shadow_top + shadow_bottom;
|
||||
|
||||
/* Convert to quartz coordinates */
|
||||
_gdk_macos_display_to_display_coords ([self gdkDisplay],
|
||||
window_gdk.x,
|
||||
@@ -737,17 +714,11 @@ typedef NSString *CALayerContentsGravity;
|
||||
|
||||
-(NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen
|
||||
{
|
||||
GdkMacosSurface *surface = gdk_surface;
|
||||
NSRect rect;
|
||||
int shadow_top;
|
||||
|
||||
/* Allow the window to move up "shadow_top" more than normally allowed
|
||||
* by the default impl. This makes it possible to move windows with
|
||||
* client side shadow right up to the screen's menu bar. */
|
||||
_gdk_macos_surface_get_shadow (surface, &shadow_top, NULL, NULL, NULL);
|
||||
rect = [super constrainFrameRect:frameRect toScreen:screen];
|
||||
if (frameRect.origin.y > rect.origin.y)
|
||||
rect.origin.y = MIN (frameRect.origin.y, rect.origin.y + shadow_top);
|
||||
rect.origin.y = MIN (frameRect.origin.y, rect.origin.y);
|
||||
|
||||
return rect;
|
||||
}
|
||||
|
||||
@@ -47,20 +47,20 @@ _gdk_macos_display_position_toplevel_with_parent (GdkMacosDisplay *self,
|
||||
/* Try to center on top of the parent but also try to make the whole thing
|
||||
* visible in case that lands us under the topbar/panel/etc.
|
||||
*/
|
||||
parent_rect.x = parent->root_x + parent->shadow_left;
|
||||
parent_rect.y = parent->root_y + parent->shadow_top;
|
||||
parent_rect.width = GDK_SURFACE (parent)->width - parent->shadow_left - parent->shadow_right;
|
||||
parent_rect.height = GDK_SURFACE (parent)->height - parent->shadow_top - parent->shadow_bottom;
|
||||
parent_rect.x = parent->root_x;
|
||||
parent_rect.y = parent->root_y;
|
||||
parent_rect.width = GDK_SURFACE (parent)->width;
|
||||
parent_rect.height = GDK_SURFACE (parent)->height;
|
||||
|
||||
surface_rect.width = GDK_SURFACE (surface)->width - surface->shadow_left - surface->shadow_right;
|
||||
surface_rect.height = GDK_SURFACE (surface)->height - surface->shadow_top - surface->shadow_bottom;
|
||||
surface_rect.width = GDK_SURFACE (surface)->width;
|
||||
surface_rect.height = GDK_SURFACE (surface)->height;
|
||||
surface_rect.x = parent_rect.x + ((parent_rect.width - surface_rect.width) / 2);
|
||||
surface_rect.y = parent_rect.y + ((parent_rect.height - surface_rect.height) / 2);
|
||||
|
||||
_gdk_macos_monitor_clamp (GDK_MACOS_MONITOR (monitor), &surface_rect);
|
||||
|
||||
*x = surface_rect.x - surface->shadow_left;
|
||||
*y = surface_rect.y - surface->shadow_top;
|
||||
*x = surface_rect.x;
|
||||
*y = surface_rect.y;
|
||||
}
|
||||
|
||||
static inline gboolean
|
||||
@@ -99,15 +99,15 @@ _gdk_macos_display_position_toplevel (GdkMacosDisplay *self,
|
||||
gdk_macos_monitor_get_workarea (monitor, &workarea);
|
||||
|
||||
/* First place at top-left of current monitor */
|
||||
surface_rect.width = GDK_SURFACE (surface)->width - surface->shadow_left - surface->shadow_right;
|
||||
surface_rect.height = GDK_SURFACE (surface)->height - surface->shadow_top - surface->shadow_bottom;
|
||||
surface_rect.width = GDK_SURFACE (surface)->width;
|
||||
surface_rect.height = GDK_SURFACE (surface)->height;
|
||||
surface_rect.x = workarea.x + ((workarea.width - surface_rect.width) / 2);
|
||||
surface_rect.y = workarea.y + ((workarea.height - surface_rect.height) / 2);
|
||||
|
||||
_gdk_macos_monitor_clamp (GDK_MACOS_MONITOR (surface->best_monitor), &surface_rect);
|
||||
|
||||
*x = surface_rect.x - surface->shadow_left;
|
||||
*y = surface_rect.y - surface->shadow_top;
|
||||
*x = surface_rect.x;
|
||||
*y = surface_rect.y;
|
||||
|
||||
/* Try to see if there are any other surfaces at this origin and if so,
|
||||
* adjust until we get something better.
|
||||
@@ -119,11 +119,11 @@ _gdk_macos_display_position_toplevel (GdkMacosDisplay *self,
|
||||
*y += WARP_OFFSET_Y;
|
||||
|
||||
/* If we reached the bottom right, just bail and try the workspace origin */
|
||||
if (*x + surface->shadow_left + WARP_OFFSET_X > workarea.x + workarea.width ||
|
||||
*y + surface->shadow_top + WARP_OFFSET_Y > workarea.y + workarea.height)
|
||||
if (*x + WARP_OFFSET_X > workarea.x + workarea.width ||
|
||||
*y + WARP_OFFSET_Y > workarea.y + workarea.height)
|
||||
{
|
||||
*x = workarea.x - surface->shadow_left;
|
||||
*y = workarea.y - surface->shadow_top;
|
||||
*x = workarea.x;
|
||||
*y = workarea.y;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,19 +68,10 @@ gdk_macos_popup_surface_layout (GdkMacosPopupSurface *self,
|
||||
monitor = _gdk_macos_surface_get_best_monitor (GDK_MACOS_SURFACE (self));
|
||||
gdk_macos_monitor_get_workarea (monitor, &bounds);
|
||||
|
||||
gdk_popup_layout_get_shadow_width (layout,
|
||||
&self->parent_instance.shadow_left,
|
||||
&self->parent_instance.shadow_right,
|
||||
&self->parent_instance.shadow_top,
|
||||
&self->parent_instance.shadow_bottom);
|
||||
|
||||
gdk_surface_layout_popup_helper (GDK_SURFACE (self),
|
||||
width,
|
||||
height,
|
||||
self->parent_instance.shadow_left,
|
||||
self->parent_instance.shadow_right,
|
||||
self->parent_instance.shadow_top,
|
||||
self->parent_instance.shadow_bottom,
|
||||
0, 0, 0, 0, /* shadow-left/right/top/bottom */
|
||||
monitor,
|
||||
&bounds,
|
||||
self->layout,
|
||||
|
||||
@@ -61,11 +61,6 @@ struct _GdkMacosSurface
|
||||
int height;
|
||||
} next_layout;
|
||||
|
||||
int shadow_top;
|
||||
int shadow_right;
|
||||
int shadow_bottom;
|
||||
int shadow_left;
|
||||
|
||||
cairo_rectangle_int_t next_frame;
|
||||
|
||||
gint64 pending_frame_counter;
|
||||
@@ -91,16 +86,6 @@ CGDirectDisplayID _gdk_macos_surface_get_screen_id (GdkMacosSurface
|
||||
const char *_gdk_macos_surface_get_title (GdkMacosSurface *self);
|
||||
void _gdk_macos_surface_set_title (GdkMacosSurface *self,
|
||||
const char *title);
|
||||
void _gdk_macos_surface_get_shadow (GdkMacosSurface *self,
|
||||
int *top,
|
||||
int *right,
|
||||
int *bottom,
|
||||
int *left);
|
||||
void _gdk_macos_surface_set_shadow (GdkMacosSurface *self,
|
||||
int top,
|
||||
int right,
|
||||
int bottom,
|
||||
int left);
|
||||
gboolean _gdk_macos_surface_is_opaque (GdkMacosSurface *self);
|
||||
NSView *_gdk_macos_surface_get_view (GdkMacosSurface *self);
|
||||
gboolean _gdk_macos_surface_get_modal_hint (GdkMacosSurface *self);
|
||||
|
||||
@@ -236,32 +236,6 @@ gdk_macos_surface_get_scale (GdkSurface *surface)
|
||||
return [self->window backingScaleFactor];
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_macos_surface_set_shadow (GdkMacosSurface *surface,
|
||||
int top,
|
||||
int right,
|
||||
int bottom,
|
||||
int left)
|
||||
{
|
||||
GdkMacosSurface *self = (GdkMacosSurface *)surface;
|
||||
|
||||
g_assert (GDK_IS_MACOS_SURFACE (self));
|
||||
|
||||
if (self->shadow_top == top &&
|
||||
self->shadow_right == right &&
|
||||
self->shadow_bottom == bottom &&
|
||||
self->shadow_left == left)
|
||||
return;
|
||||
|
||||
self->shadow_top = top;
|
||||
self->shadow_right = right;
|
||||
self->shadow_bottom = bottom;
|
||||
self->shadow_left = left;
|
||||
|
||||
if (top || right || bottom || left)
|
||||
[self->window setHasShadow:NO];
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_macos_surface_begin_frame (GdkMacosSurface *self)
|
||||
{
|
||||
@@ -579,29 +553,6 @@ gdk_macos_surface_init (GdkMacosSurface *self)
|
||||
self->monitors = g_ptr_array_new_with_free_func (g_object_unref);
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_macos_surface_get_shadow (GdkMacosSurface *self,
|
||||
int *top,
|
||||
int *right,
|
||||
int *bottom,
|
||||
int *left)
|
||||
{
|
||||
|
||||
g_return_if_fail (GDK_IS_MACOS_SURFACE (self));
|
||||
|
||||
if (top)
|
||||
*top = self->shadow_top;
|
||||
|
||||
if (left)
|
||||
*left = self->shadow_left;
|
||||
|
||||
if (bottom)
|
||||
*bottom = self->shadow_bottom;
|
||||
|
||||
if (right)
|
||||
*right = self->shadow_right;
|
||||
}
|
||||
|
||||
gboolean
|
||||
_gdk_macos_surface_is_opaque (GdkMacosSurface *self)
|
||||
{
|
||||
@@ -1097,16 +1048,12 @@ _gdk_macos_surface_monitor_changed (GdkMacosSurface *self)
|
||||
|
||||
g_set_object (&child->best_monitor, best);
|
||||
|
||||
area.x = self->root_x + GDK_SURFACE (child)->x + child->shadow_left;
|
||||
area.y = self->root_y + GDK_SURFACE (child)->y + child->shadow_top;
|
||||
area.width = GDK_SURFACE (child)->width - child->shadow_left - child->shadow_right;
|
||||
area.height = GDK_SURFACE (child)->height - child->shadow_top - child->shadow_bottom;
|
||||
area.x = self->root_x + GDK_SURFACE (child)->x;
|
||||
area.y = self->root_y + GDK_SURFACE (child)->y;
|
||||
area.width = GDK_SURFACE (child)->width;
|
||||
area.height = GDK_SURFACE (child)->height;
|
||||
|
||||
_gdk_macos_monitor_clamp (GDK_MACOS_MONITOR (best), &area);
|
||||
|
||||
area.x -= child->shadow_left;
|
||||
area.y -= child->shadow_top;
|
||||
|
||||
_gdk_macos_surface_move (child, area.x, area.y);
|
||||
gdk_surface_invalidate_rect (GDK_SURFACE (child), NULL);
|
||||
}
|
||||
|
||||
@@ -152,13 +152,6 @@ _gdk_macos_toplevel_surface_compute_size (GdkSurface *surface)
|
||||
mask = GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE;
|
||||
}
|
||||
|
||||
if (size.shadow.is_valid)
|
||||
_gdk_macos_surface_set_shadow (macos_surface,
|
||||
size.shadow.top,
|
||||
size.shadow.right,
|
||||
size.shadow.bottom,
|
||||
size.shadow.left);
|
||||
|
||||
_gdk_macos_surface_set_geometry_hints (macos_surface, &geometry, mask);
|
||||
|
||||
if (surface->state & (GDK_TOPLEVEL_STATE_FULLSCREEN |
|
||||
|
||||
@@ -79,6 +79,7 @@ static const struct {
|
||||
{ "move", "dnd-move" },
|
||||
{ "no-drop", "dnd-none" },
|
||||
{ "dnd-ask", "dnd-copy" }, /* not CSS, but we want to guarantee it anyway */
|
||||
{ "dnd-move", "default" },
|
||||
{ "not-allowed", "crossed_circle" },
|
||||
{ "grab", "hand2" },
|
||||
{ "grabbing", "hand2" },
|
||||
|
||||
@@ -310,7 +310,8 @@ gdk_wayland_device_update_surface_cursor (GdkDevice *device)
|
||||
if (buffer)
|
||||
{
|
||||
wl_surface_attach (pointer->pointer_surface, buffer, 0, 0);
|
||||
wl_surface_set_buffer_scale (pointer->pointer_surface, scale);
|
||||
if (wl_surface_get_version (pointer->pointer_surface) >= WL_SURFACE_SET_BUFFER_SCALE_SINCE_VERSION)
|
||||
wl_surface_set_buffer_scale (pointer->pointer_surface, scale);
|
||||
wl_surface_damage (pointer->pointer_surface, 0, 0, w, h);
|
||||
wl_surface_commit (pointer->pointer_surface);
|
||||
}
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
#include <wayland/xdg-foreign-unstable-v2-client-protocol.h>
|
||||
#include <wayland/server-decoration-client-protocol.h>
|
||||
#include "linux-dmabuf-unstable-v1-client-protocol.h"
|
||||
#include "presentation-time-client-protocol.h"
|
||||
|
||||
#include "wm-button-layout-translation.h"
|
||||
|
||||
@@ -95,7 +96,6 @@
|
||||
#define GTK_SHELL1_VERSION 5
|
||||
#define OUTPUT_VERSION_WITH_DONE 2
|
||||
#define NO_XDG_OUTPUT_DONE_SINCE_VERSION 3
|
||||
#define XDG_ACTIVATION_VERSION 1
|
||||
#define OUTPUT_VERSION 3
|
||||
|
||||
#ifdef HAVE_TOPLEVEL_STATE_SUSPENDED
|
||||
@@ -585,21 +585,25 @@ gdk_registry_handle_global (void *data,
|
||||
{
|
||||
display_wayland->xdg_activation =
|
||||
wl_registry_bind (display_wayland->wl_registry, id,
|
||||
&xdg_activation_v1_interface,
|
||||
MIN (version, XDG_ACTIVATION_VERSION));
|
||||
&xdg_activation_v1_interface, 1);
|
||||
}
|
||||
else if (strcmp (interface, "wp_fractional_scale_manager_v1") == 0)
|
||||
{
|
||||
display_wayland->fractional_scale =
|
||||
wl_registry_bind (display_wayland->wl_registry, id,
|
||||
&wp_fractional_scale_manager_v1_interface,
|
||||
MIN (version, 1));
|
||||
&wp_fractional_scale_manager_v1_interface, 1);
|
||||
}
|
||||
else if (strcmp (interface, "wp_viewporter") == 0)
|
||||
{
|
||||
display_wayland->viewporter =
|
||||
wl_registry_bind (display_wayland->wl_registry, id,
|
||||
&wp_viewporter_interface,
|
||||
&wp_viewporter_interface, 1);
|
||||
}
|
||||
else if (strcmp (interface, "wp_presentation") == 0)
|
||||
{
|
||||
display_wayland->presentation =
|
||||
wl_registry_bind (display_wayland->wl_registry, id,
|
||||
&wp_presentation_interface,
|
||||
MIN (version, 1));
|
||||
}
|
||||
|
||||
@@ -700,7 +704,8 @@ _gdk_wayland_display_open (const char *display_name)
|
||||
process_on_globals_closures (display_wayland);
|
||||
|
||||
/* Wait for initializing to complete. This means waiting for all
|
||||
* asynchronous roundtrips that were triggered during initial roundtrip. */
|
||||
* asynchronous roundtrips that were triggered during initial roundtrip.
|
||||
*/
|
||||
while (display_wayland->async_roundtrips != NULL)
|
||||
{
|
||||
if (wl_display_dispatch (display_wayland->wl_display) < 0)
|
||||
@@ -710,6 +715,18 @@ _gdk_wayland_display_open (const char *display_name)
|
||||
}
|
||||
}
|
||||
|
||||
/* Check that we got all the required globals */
|
||||
if (display_wayland->compositor == NULL ||
|
||||
display_wayland->shm == NULL ||
|
||||
display_wayland->data_device_manager == NULL)
|
||||
{
|
||||
g_warning ("The Wayland compositor does not provide one or more of the required interfaces, "
|
||||
"not using Wayland display");
|
||||
g_object_unref (display);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (display_wayland->xdg_wm_base_id)
|
||||
{
|
||||
display_wayland->shell_variant = GDK_WAYLAND_SHELL_VARIANT_XDG_SHELL;
|
||||
@@ -799,6 +816,7 @@ gdk_wayland_display_dispose (GObject *object)
|
||||
g_clear_pointer (&display_wayland->xdg_activation, xdg_activation_v1_destroy);
|
||||
g_clear_pointer (&display_wayland->fractional_scale, wp_fractional_scale_manager_v1_destroy);
|
||||
g_clear_pointer (&display_wayland->viewporter, wp_viewporter_destroy);
|
||||
g_clear_pointer (&display_wayland->presentation, wp_presentation_destroy);
|
||||
g_clear_pointer (&display_wayland->linux_dmabuf, zwp_linux_dmabuf_v1_destroy);
|
||||
g_clear_pointer (&display_wayland->linux_dmabuf_feedback, zwp_linux_dmabuf_feedback_v1_destroy);
|
||||
if (display_wayland->linux_dmabuf_formats)
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <gdk/wayland/xdg-activation-v1-client-protocol.h>
|
||||
#include <gdk/wayland/fractional-scale-v1-client-protocol.h>
|
||||
#include <gdk/wayland/viewporter-client-protocol.h>
|
||||
#include <gdk/wayland/presentation-time-client-protocol.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <gdk/gdkkeys.h>
|
||||
@@ -125,6 +126,7 @@ struct _GdkWaylandDisplay
|
||||
struct xdg_activation_v1 *xdg_activation;
|
||||
struct wp_fractional_scale_manager_v1 *fractional_scale;
|
||||
struct wp_viewporter *viewporter;
|
||||
struct wp_presentation *presentation;
|
||||
|
||||
GList *async_roundtrips;
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <gdk/wayland/gdkwayland.h>
|
||||
#include <gdk/wayland/gdkdisplay-wayland.h>
|
||||
#include <gdk/wayland/gdkseat-wayland.h>
|
||||
#include <gdk/wayland/gdkwaylandpresentationtime-private.h>
|
||||
|
||||
#include <xkbcommon/xkbcommon.h>
|
||||
|
||||
|
||||
@@ -466,9 +466,9 @@ gdk_wayland_surface_create_subsurface (GdkSurface *surface)
|
||||
GdkWaylandSubsurface *sub;
|
||||
struct wl_region *region;
|
||||
|
||||
if (disp->viewporter == NULL)
|
||||
if (disp->subcompositor == NULL || disp->viewporter == NULL)
|
||||
{
|
||||
GDK_DISPLAY_DEBUG (display, OFFLOAD, "Can't use subsurfaces without viewporter");
|
||||
GDK_DISPLAY_DEBUG (display, OFFLOAD, "Can't use subsurfaces without subcompositor and viewporter");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,8 @@ struct _GdkWaylandSurface
|
||||
struct wl_event_queue *event_queue;
|
||||
struct wl_callback *frame_callback;
|
||||
|
||||
GdkWaylandPresentationTime *presentation_time;
|
||||
|
||||
unsigned int initial_configure_received : 1;
|
||||
unsigned int has_uncommitted_ack_configure : 1;
|
||||
unsigned int has_pending_subsurface_commits : 1;
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
#include "gdktoplevel-wayland-private.h"
|
||||
|
||||
#include "linux-dmabuf-unstable-v1-client-protocol.h"
|
||||
#include "presentation-time-client-protocol.h"
|
||||
|
||||
|
||||
/**
|
||||
@@ -403,6 +404,17 @@ gdk_wayland_surface_request_frame (GdkSurface *surface)
|
||||
wl_proxy_set_queue ((struct wl_proxy *) self->frame_callback, NULL);
|
||||
wl_callback_add_listener (self->frame_callback, &frame_listener, surface);
|
||||
|
||||
if (self->presentation_time == NULL)
|
||||
{
|
||||
GdkWaylandDisplay *wayland_display = GDK_WAYLAND_DISPLAY (gdk_surface_get_display (surface));
|
||||
self->presentation_time = gdk_wayland_presentation_time_new (wayland_display);
|
||||
}
|
||||
|
||||
gdk_wayland_presentation_time_track (self->presentation_time,
|
||||
clock,
|
||||
self->display_server.wl_surface,
|
||||
gdk_frame_clock_get_frame_counter (clock));
|
||||
|
||||
for (gsize i = 0; i < gdk_surface_get_n_subsurfaces (surface); i++)
|
||||
{
|
||||
GdkSubsurface *subsurface = gdk_surface_get_subsurface (surface, i);
|
||||
@@ -1048,6 +1060,7 @@ gdk_wayland_surface_hide_surface (GdkSurface *surface)
|
||||
|
||||
unmap_popups_for_surface (surface);
|
||||
|
||||
g_clear_pointer (&impl->presentation_time, gdk_wayland_presentation_time_free);
|
||||
g_clear_pointer (&impl->frame_callback, wl_callback_destroy);
|
||||
if (impl->awaiting_frame_frozen)
|
||||
{
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include "gdktoplevelprivate.h"
|
||||
#include "gdkdevice-wayland-private.h"
|
||||
|
||||
#include <wayland/presentation-time-client-protocol.h>
|
||||
#include <wayland/xdg-shell-unstable-v6-client-protocol.h>
|
||||
#include <wayland/xdg-foreign-unstable-v2-client-protocol.h>
|
||||
|
||||
@@ -122,6 +123,8 @@ struct _GdkWaylandToplevel
|
||||
|
||||
struct wl_output *initial_fullscreen_output;
|
||||
|
||||
struct wp_presentation_feedback *feedback;
|
||||
|
||||
struct {
|
||||
GdkToplevelState unset_flags;
|
||||
GdkToplevelState set_flags;
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include <gdk/gdkframeclock.h>
|
||||
#include <gdk/wayland/gdkdisplay-wayland.h>
|
||||
#include <gdk/wayland/gdksurface-wayland.h>
|
||||
#include <gdk/wayland/gdkwaylanddisplay.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _GdkWaylandPresentationTime GdkWaylandPresentationTime;
|
||||
|
||||
GdkWaylandPresentationTime *gdk_wayland_presentation_time_new (GdkWaylandDisplay *display);
|
||||
void gdk_wayland_presentation_time_track (GdkWaylandPresentationTime *self,
|
||||
GdkFrameClock *frame_clock,
|
||||
struct wl_surface *surface,
|
||||
gint64 frame_number);
|
||||
void gdk_wayland_presentation_time_free (GdkWaylandPresentationTime *self);
|
||||
|
||||
G_END_DECLS
|
||||
@@ -0,0 +1,152 @@
|
||||
#include "config.h"
|
||||
|
||||
#include <gdk/gdkframeclockprivate.h>
|
||||
|
||||
#include "gdkwaylandpresentationtime-private.h"
|
||||
|
||||
typedef struct _GdkWaylandPresentationFrame
|
||||
{
|
||||
GdkWaylandPresentationTime *self;
|
||||
struct wp_presentation_feedback *feedback;
|
||||
GdkFrameClock *frame_clock;
|
||||
gint64 frame_number;
|
||||
} GdkWaylandPresentationFrame;
|
||||
|
||||
static void
|
||||
gdk_wayland_presentation_frame_free (GdkWaylandPresentationFrame *frame)
|
||||
{
|
||||
g_clear_pointer (&frame->feedback, wp_presentation_feedback_destroy);
|
||||
g_clear_object (&frame->frame_clock);
|
||||
frame->self = NULL;
|
||||
g_free (frame);
|
||||
}
|
||||
|
||||
struct _GdkWaylandPresentationTime
|
||||
{
|
||||
GdkWaylandDisplay *display;
|
||||
GPtrArray *frames;
|
||||
};
|
||||
|
||||
GdkWaylandPresentationTime *
|
||||
gdk_wayland_presentation_time_new (GdkWaylandDisplay *display)
|
||||
{
|
||||
GdkWaylandPresentationTime *self;
|
||||
|
||||
g_return_val_if_fail (GDK_IS_WAYLAND_DISPLAY (display), NULL);
|
||||
|
||||
self = g_new0 (GdkWaylandPresentationTime, 1);
|
||||
self->display = g_object_ref (display);
|
||||
self->frames = g_ptr_array_new_with_free_func ((GDestroyNotify)gdk_wayland_presentation_frame_free);
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
void
|
||||
gdk_wayland_presentation_time_free (GdkWaylandPresentationTime *self)
|
||||
{
|
||||
g_clear_pointer (&self->frames, g_ptr_array_unref);
|
||||
g_clear_object (&self->display);
|
||||
g_free (self);
|
||||
}
|
||||
|
||||
static gint64
|
||||
time_from_wayland (uint32_t tv_sec_hi,
|
||||
uint32_t tv_sec_lo,
|
||||
uint32_t tv_nsec)
|
||||
{
|
||||
guint64 t = tv_sec_hi;
|
||||
t <<= 32;
|
||||
t |= tv_sec_lo;
|
||||
t *= G_USEC_PER_SEC;
|
||||
t += tv_nsec / 1000L;
|
||||
return (gint64)t;
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_wayland_presentation_feedback_sync_output (void *data,
|
||||
struct wp_presentation_feedback *feedback,
|
||||
struct wl_output *output)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_wayland_presentation_feedback_presented (void *data,
|
||||
struct wp_presentation_feedback *feedback,
|
||||
uint32_t tv_sec_hi,
|
||||
uint32_t tv_sec_lo,
|
||||
uint32_t tv_nsec,
|
||||
uint32_t refresh,
|
||||
uint32_t seq_hi,
|
||||
uint32_t seq_lo,
|
||||
uint32_t flags)
|
||||
{
|
||||
GdkWaylandPresentationFrame *frame = data;
|
||||
GdkWaylandPresentationTime *self;
|
||||
GdkFrameTimings *timings;
|
||||
guint pos;
|
||||
|
||||
g_assert (frame != NULL);
|
||||
g_assert (frame->self != NULL);
|
||||
|
||||
self = frame->self;
|
||||
|
||||
if ((timings = gdk_frame_clock_get_timings (frame->frame_clock, frame->frame_number)))
|
||||
{
|
||||
timings->presentation_time = time_from_wayland (tv_sec_hi, tv_sec_lo, tv_nsec);
|
||||
timings->complete = TRUE;
|
||||
}
|
||||
|
||||
if (g_ptr_array_find (self->frames, frame, &pos))
|
||||
g_ptr_array_remove_index_fast (self->frames, pos);
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_wayland_presentation_feedback_discarded (void *data,
|
||||
struct wp_presentation_feedback *feedback)
|
||||
{
|
||||
GdkWaylandPresentationFrame *frame = data;
|
||||
guint pos;
|
||||
|
||||
g_assert (frame != NULL);
|
||||
g_assert (frame->self != NULL);
|
||||
|
||||
if (g_ptr_array_find (frame->self->frames, frame, &pos))
|
||||
g_ptr_array_remove_index_fast (frame->self->frames, pos);
|
||||
}
|
||||
|
||||
static const struct wp_presentation_feedback_listener gdk_wayland_presentation_feedback_listener = {
|
||||
gdk_wayland_presentation_feedback_sync_output,
|
||||
gdk_wayland_presentation_feedback_presented,
|
||||
gdk_wayland_presentation_feedback_discarded,
|
||||
};
|
||||
|
||||
void
|
||||
gdk_wayland_presentation_time_track (GdkWaylandPresentationTime *self,
|
||||
GdkFrameClock *frame_clock,
|
||||
struct wl_surface *surface,
|
||||
gint64 frame_number)
|
||||
{
|
||||
struct wp_presentation_feedback *feedback;
|
||||
GdkWaylandPresentationFrame *frame;
|
||||
|
||||
g_return_if_fail (self != NULL);
|
||||
g_return_if_fail (surface != NULL);
|
||||
|
||||
if (self->display->presentation == NULL)
|
||||
return;
|
||||
|
||||
if (!(feedback = wp_presentation_feedback (self->display->presentation, surface)))
|
||||
return;
|
||||
|
||||
frame = g_new0 (GdkWaylandPresentationFrame, 1);
|
||||
frame->self = self;
|
||||
frame->frame_clock = g_object_ref (frame_clock);
|
||||
frame->frame_number = frame_number;
|
||||
frame->feedback = g_steal_pointer (&feedback);
|
||||
|
||||
g_ptr_array_add (self->frames, frame);
|
||||
|
||||
wp_presentation_feedback_add_listener (frame->feedback,
|
||||
&gdk_wayland_presentation_feedback_listener,
|
||||
frame);
|
||||
}
|
||||
@@ -22,6 +22,7 @@ gdk_wayland_sources = files([
|
||||
'gdktoplevel-wayland.c',
|
||||
'gdkpopup-wayland.c',
|
||||
'gdkvulkancontext-wayland.c',
|
||||
'gdkwaylandpresentationtime.c',
|
||||
'wm-button-layout-translation.c',
|
||||
])
|
||||
|
||||
@@ -69,6 +70,7 @@ proto_sources = [
|
||||
['xdg-activation', 'staging', 'v1', ],
|
||||
['fractional-scale', 'staging', 'v1', ],
|
||||
['linux-dmabuf', 'unstable', 'v1', ],
|
||||
['presentation-time', 'stable', 'v1', ],
|
||||
]
|
||||
|
||||
gdk_wayland_gen_headers = []
|
||||
|
||||
@@ -1627,7 +1627,7 @@ _gdk_win32_surface_lacks_wm_decorations (GdkSurface *window)
|
||||
has_any_decorations = FALSE;
|
||||
|
||||
if (style & (WS_BORDER | WS_THICKFRAME | WS_CAPTION |
|
||||
WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX))
|
||||
WS_SYSMENU | WS_MAXIMIZEBOX))
|
||||
has_any_decorations = TRUE;
|
||||
else
|
||||
GDK_NOTE (MISC, g_print ("Window %p (handle %p): has no decorations (style %lx)\n",
|
||||
@@ -1696,7 +1696,6 @@ _gdk_win32_surface_update_style_bits (GdkSurface *window)
|
||||
update_single_bit (&new_style, all, decorations & GDK_DECOR_RESIZEH, WS_THICKFRAME);
|
||||
update_single_bit (&new_style, all, decorations & GDK_DECOR_TITLE, WS_CAPTION);
|
||||
update_single_bit (&new_style, all, decorations & GDK_DECOR_MENU, WS_SYSMENU);
|
||||
update_single_bit (&new_style, all, decorations & GDK_DECOR_MINIMIZE, WS_MINIMIZEBOX);
|
||||
update_single_bit (&new_style, all, decorations & GDK_DECOR_MAXIMIZE, WS_MAXIMIZEBOX);
|
||||
}
|
||||
|
||||
|
||||
@@ -52,8 +52,6 @@
|
||||
#include "ninesliceprivate.h"
|
||||
#include "fp16private.h"
|
||||
|
||||
#define ALLOW_OFFLOAD_FOR_ANY_TEXTURE 1
|
||||
|
||||
#define ORTHO_NEAR_PLANE -10000
|
||||
#define ORTHO_FAR_PLANE 10000
|
||||
#define MAX_GRADIENT_STOPS 6
|
||||
@@ -176,6 +174,8 @@ struct _GskGLRenderJob
|
||||
* looking at the format of the framebuffer we are rendering on.
|
||||
*/
|
||||
int target_format;
|
||||
|
||||
guint offscreen_count; /* if > 0, we're rendering to an offscreen */
|
||||
};
|
||||
|
||||
typedef struct _GskGLRenderOffscreen
|
||||
@@ -4002,9 +4002,15 @@ gsk_gl_render_job_visit_subsurface_node (GskGLRenderJob *job,
|
||||
{
|
||||
if (!gdk_subsurface_is_above_parent (subsurface))
|
||||
{
|
||||
/* Clear the area so we can see through */
|
||||
if (gsk_gl_render_job_begin_draw (job, CHOOSE_PROGRAM (job, color)))
|
||||
if (job->offscreen_count > 0)
|
||||
{
|
||||
GDK_DISPLAY_DEBUG (gdk_gl_context_get_display (job->command_queue->context), OFFLOAD, "Hiding subsurface %p in offscreen context", subsurface);
|
||||
gdk_subsurface_detach (subsurface);
|
||||
gsk_gl_render_job_visit_node (job, gsk_subsurface_node_get_child (node));
|
||||
}
|
||||
else if (gsk_gl_render_job_begin_draw (job, CHOOSE_PROGRAM (job, color)))
|
||||
{
|
||||
/* Clear the area so we can see through */
|
||||
GskGLCommandBatch *batch;
|
||||
guint16 color[4];
|
||||
rgba_to_half (&(GdkRGBA){0,0,0,0}, color);
|
||||
@@ -4422,8 +4428,12 @@ gsk_gl_render_job_visit_node_with_offscreen (GskGLRenderJob *job,
|
||||
reset_clip = TRUE;
|
||||
}
|
||||
|
||||
job->offscreen_count++;
|
||||
|
||||
gsk_gl_render_job_visit_node (job, node);
|
||||
|
||||
job->offscreen_count--;
|
||||
|
||||
if (reset_clip)
|
||||
gsk_gl_render_job_pop_clip (job);
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ typedef struct
|
||||
|
||||
GtkActionMuxer *muxer;
|
||||
GMenu *combined;
|
||||
GMenuModel *standard_app_menu;
|
||||
|
||||
GSList *inhibitors;
|
||||
int quit_inhibit;
|
||||
@@ -150,6 +151,29 @@ static GActionEntry gtk_application_impl_quartz_actions[] = {
|
||||
{ "show-all", gtk_application_impl_quartz_show_all }
|
||||
};
|
||||
|
||||
static void
|
||||
gtk_application_impl_quartz_set_app_menu (GtkApplicationImpl *impl,
|
||||
GMenuModel *app_menu)
|
||||
{
|
||||
GtkApplicationImplQuartz *quartz = (GtkApplicationImplQuartz *) impl;
|
||||
|
||||
/* If there are any items at all, then the first one is the app menu */
|
||||
if (g_menu_model_get_n_items (G_MENU_MODEL (quartz->combined)))
|
||||
g_menu_remove (quartz->combined, 0);
|
||||
|
||||
if (app_menu)
|
||||
g_menu_prepend_submenu (quartz->combined, "Application", app_menu);
|
||||
else
|
||||
{
|
||||
GMenu *empty;
|
||||
|
||||
/* We must preserve the rule that index 0 is the app menu */
|
||||
empty = g_menu_new ();
|
||||
g_menu_prepend_submenu (quartz->combined, "Application", G_MENU_MODEL (empty));
|
||||
g_object_unref (empty);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_application_impl_quartz_startup (GtkApplicationImpl *impl,
|
||||
gboolean register_session)
|
||||
@@ -184,6 +208,23 @@ gtk_application_impl_quartz_startup (GtkApplicationImpl *impl,
|
||||
g_object_unref (gtkinternal);
|
||||
|
||||
/* now setup the menu */
|
||||
if (quartz->standard_app_menu == NULL)
|
||||
{
|
||||
GtkBuilder *builder;
|
||||
|
||||
/* If the user didn't fill in their own menu yet, add ours.
|
||||
*
|
||||
* The fact that we do this here ensures that we will always have the
|
||||
* app menu at index 0 in 'combined'.
|
||||
*/
|
||||
builder = gtk_builder_new_from_resource ("/org/gtk/libgtk/ui/gtkapplication-quartz.ui");
|
||||
quartz->standard_app_menu = G_MENU_MODEL (g_object_ref (gtk_builder_get_object (builder, "app-menu")));
|
||||
g_object_unref (builder);
|
||||
}
|
||||
|
||||
gtk_application_impl_quartz_set_app_menu (impl, quartz->standard_app_menu);
|
||||
|
||||
/* This may or may not add an item to 'combined' */
|
||||
gtk_application_impl_set_menubar (impl, gtk_application_get_menubar (impl->application));
|
||||
|
||||
/* OK. Now put it in the menu. */
|
||||
@@ -254,30 +295,12 @@ gtk_application_impl_quartz_set_menubar (GtkApplicationImpl *impl,
|
||||
{
|
||||
GtkApplicationImplQuartz *quartz = (GtkApplicationImplQuartz *) impl;
|
||||
|
||||
/* If we have the menubar, it is a section at index '0' */
|
||||
if (g_menu_model_get_n_items (G_MENU_MODEL (quartz->combined)))
|
||||
g_menu_remove (quartz->combined, 0);
|
||||
/* If we have the menubar, it is a section at index '1' */
|
||||
if (g_menu_model_get_n_items (G_MENU_MODEL (quartz->combined)) > 1)
|
||||
g_menu_remove (quartz->combined, 1);
|
||||
|
||||
if (menubar)
|
||||
g_menu_append_section (quartz->combined, NULL, menubar);
|
||||
else
|
||||
{
|
||||
// Ensure that we will always have one menu.
|
||||
char app_menu_key[] = "APP_MENU";
|
||||
GMenuModel *app_menu = g_object_get_data (G_OBJECT (impl), app_menu_key);
|
||||
if (app_menu == NULL)
|
||||
{
|
||||
GtkBuilder *builder;
|
||||
|
||||
// If the user didn't fill in their own menu yet, add ours.
|
||||
builder = gtk_builder_new_from_resource ("/org/gtk/libgtk/ui/gtkapplication-quartz.ui");
|
||||
app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu"));
|
||||
g_object_set_data_full (G_OBJECT (impl), app_menu_key, g_object_ref (app_menu), g_object_unref);
|
||||
g_object_unref (builder);
|
||||
}
|
||||
|
||||
g_menu_append_submenu (quartz->combined, "Application", app_menu);
|
||||
}
|
||||
}
|
||||
|
||||
static guint
|
||||
@@ -346,6 +369,7 @@ gtk_application_impl_quartz_finalize (GObject *object)
|
||||
GtkApplicationImplQuartz *quartz = (GtkApplicationImplQuartz *) object;
|
||||
|
||||
g_clear_object (&quartz->combined);
|
||||
g_clear_object (&quartz->standard_app_menu);
|
||||
|
||||
G_OBJECT_CLASS (gtk_application_impl_quartz_parent_class)->finalize (object);
|
||||
}
|
||||
@@ -358,6 +382,7 @@ gtk_application_impl_quartz_class_init (GtkApplicationImplClass *class)
|
||||
class->startup = gtk_application_impl_quartz_startup;
|
||||
class->shutdown = gtk_application_impl_quartz_shutdown;
|
||||
class->active_window_changed = gtk_application_impl_quartz_active_window_changed;
|
||||
class->set_app_menu = gtk_application_impl_quartz_set_app_menu;
|
||||
class->set_menubar = gtk_application_impl_quartz_set_menubar;
|
||||
class->inhibit = gtk_application_impl_quartz_inhibit;
|
||||
class->uninhibit = gtk_application_impl_quartz_uninhibit;
|
||||
|
||||
@@ -150,6 +150,7 @@ struct _GtkScalePrivate
|
||||
|
||||
guint draw_value : 1;
|
||||
guint value_pos : 2;
|
||||
guint has_markup : 1;
|
||||
|
||||
GtkScaleFormatValueFunc format_value_func;
|
||||
gpointer format_value_func_user_data;
|
||||
@@ -375,6 +376,27 @@ gtk_scale_allocate_value (GtkScale *scale)
|
||||
g_return_if_reached ();
|
||||
break;
|
||||
}
|
||||
if (priv->has_markup && (priv->value_pos == GTK_POS_LEFT || priv->value_pos == GTK_POS_RIGHT))
|
||||
{
|
||||
if (priv->top_marks_widget)
|
||||
{
|
||||
int marks_height;
|
||||
gtk_widget_measure (priv->top_marks_widget,
|
||||
GTK_ORIENTATION_VERTICAL, -1,
|
||||
&marks_height, NULL,
|
||||
NULL, NULL);
|
||||
value_alloc.y += marks_height / 2;
|
||||
}
|
||||
if (priv->bottom_marks_widget)
|
||||
{
|
||||
int marks_height;
|
||||
gtk_widget_measure (priv->bottom_marks_widget,
|
||||
GTK_ORIENTATION_VERTICAL, -1,
|
||||
&marks_height, NULL,
|
||||
NULL, NULL);
|
||||
value_alloc.y -= marks_height / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
else /* VERTICAL */
|
||||
{
|
||||
@@ -403,6 +425,27 @@ gtk_scale_allocate_value (GtkScale *scale)
|
||||
default:
|
||||
g_return_if_reached ();
|
||||
}
|
||||
if (priv->has_markup && (priv->value_pos == GTK_POS_TOP || priv->value_pos == GTK_POS_BOTTOM))
|
||||
{
|
||||
if (priv->top_marks_widget)
|
||||
{
|
||||
int marks_width;
|
||||
gtk_widget_measure (priv->top_marks_widget,
|
||||
GTK_ORIENTATION_HORIZONTAL, -1,
|
||||
&marks_width, NULL,
|
||||
NULL, NULL);
|
||||
value_alloc.x += marks_width / 2;
|
||||
}
|
||||
if (priv->bottom_marks_widget)
|
||||
{
|
||||
int marks_width;
|
||||
gtk_widget_measure (priv->bottom_marks_widget,
|
||||
GTK_ORIENTATION_HORIZONTAL, -1,
|
||||
&marks_width, NULL,
|
||||
NULL, NULL);
|
||||
value_alloc.x -= marks_width / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
gtk_widget_size_allocate (priv->value_widget, &value_alloc, -1);
|
||||
@@ -1285,6 +1328,7 @@ gtk_scale_get_range_border (GtkRange *range,
|
||||
if (gtk_orientable_get_orientation (GTK_ORIENTABLE (range)) == GTK_ORIENTATION_HORIZONTAL)
|
||||
{
|
||||
int height;
|
||||
bool need_symmetry = !priv->has_markup && (priv->value_pos == GTK_POS_LEFT || priv->value_pos == GTK_POS_RIGHT || !priv->draw_value);
|
||||
|
||||
if (priv->top_marks_widget)
|
||||
{
|
||||
@@ -1293,7 +1337,11 @@ gtk_scale_get_range_border (GtkRange *range,
|
||||
&height, NULL,
|
||||
NULL, NULL);
|
||||
if (height > 0)
|
||||
border->top += height;
|
||||
{
|
||||
border->top += height;
|
||||
if (need_symmetry)
|
||||
border->bottom += height;
|
||||
}
|
||||
}
|
||||
|
||||
if (priv->bottom_marks_widget)
|
||||
@@ -1303,12 +1351,17 @@ gtk_scale_get_range_border (GtkRange *range,
|
||||
&height, NULL,
|
||||
NULL, NULL);
|
||||
if (height > 0)
|
||||
border->bottom += height;
|
||||
{
|
||||
border->bottom += height;
|
||||
if (need_symmetry)
|
||||
border->top += height;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int width;
|
||||
bool need_symmetry = !priv->has_markup && (priv->value_pos == GTK_POS_TOP || priv->value_pos == GTK_POS_BOTTOM || !priv->draw_value);
|
||||
|
||||
if (priv->top_marks_widget)
|
||||
{
|
||||
@@ -1317,7 +1370,11 @@ gtk_scale_get_range_border (GtkRange *range,
|
||||
&width, NULL,
|
||||
NULL, NULL);
|
||||
if (width > 0)
|
||||
border->left += width;
|
||||
{
|
||||
border->left += width;
|
||||
if (need_symmetry)
|
||||
border->right += width;
|
||||
}
|
||||
}
|
||||
|
||||
if (priv->bottom_marks_widget)
|
||||
@@ -1327,7 +1384,11 @@ gtk_scale_get_range_border (GtkRange *range,
|
||||
&width, NULL,
|
||||
NULL, NULL);
|
||||
if (width > 0)
|
||||
border->right += width;
|
||||
{
|
||||
border->right += width;
|
||||
if (need_symmetry)
|
||||
border->left += width;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1642,6 +1703,7 @@ gtk_scale_clear_marks (GtkScale *scale)
|
||||
|
||||
g_slist_free_full (priv->marks, gtk_scale_mark_free);
|
||||
priv->marks = NULL;
|
||||
priv->has_markup = false;
|
||||
|
||||
g_clear_pointer (&priv->top_marks_widget, gtk_widget_unparent);
|
||||
g_clear_pointer (&priv->bottom_marks_widget, gtk_widget_unparent);
|
||||
@@ -1760,6 +1822,7 @@ gtk_scale_add_mark (GtkScale *scale,
|
||||
gtk_widget_insert_after (mark->label_widget, mark->widget, NULL);
|
||||
else
|
||||
gtk_widget_insert_before (mark->label_widget, mark->widget, NULL);
|
||||
priv->has_markup = true;
|
||||
}
|
||||
|
||||
m = g_slist_find (priv->marks, mark);
|
||||
|
||||
@@ -692,6 +692,7 @@ add_wayland_protocols (GdkDisplay *display,
|
||||
append_wayland_protocol_row (gen, (struct wl_proxy *)d->xdg_activation);
|
||||
append_wayland_protocol_row (gen, (struct wl_proxy *)d->fractional_scale);
|
||||
append_wayland_protocol_row (gen, (struct wl_proxy *)d->viewporter);
|
||||
append_wayland_protocol_row (gen, (struct wl_proxy *)d->presentation);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -402,7 +402,11 @@ entry {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
progress > trough > progress {
|
||||
> progress > trough {
|
||||
min-height: 2px;
|
||||
}
|
||||
|
||||
> progress > trough > progress {
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
border-radius: 0;
|
||||
@@ -410,7 +414,6 @@ entry {
|
||||
border-color: $selected_bg_color;
|
||||
border-style: solid;
|
||||
box-shadow: none;
|
||||
|
||||
}
|
||||
|
||||
// linked entries
|
||||
|
||||
@@ -60,6 +60,7 @@ is
|
||||
it
|
||||
ja
|
||||
ka
|
||||
kab
|
||||
kg
|
||||
kk
|
||||
km
|
||||
|
||||
@@ -23,8 +23,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gtk/-/issues/\n"
|
||||
"POT-Creation-Date: 2024-03-05 13:23+0000\n"
|
||||
"PO-Revision-Date: 2024-03-05 20:44+0100\n"
|
||||
"POT-Creation-Date: 2024-03-16 23:08+0000\n"
|
||||
"PO-Revision-Date: 2024-03-19 14:05+0100\n"
|
||||
"Last-Translator: Guillaume Bernard <associations@guillaume-bernard.fr>\n"
|
||||
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
|
||||
"Language: fr\n"
|
||||
@@ -62,11 +62,11 @@ msgstr "Impossible de fournir le contenu comme « %s »"
|
||||
msgid "Cannot provide contents as %s"
|
||||
msgstr "Impossible de fournir le contenu comme %s"
|
||||
|
||||
#: gdk/gdkdisplay.c:176 gdk/gdkglcontext.c:459
|
||||
#: gdk/gdkdisplay.c:176 gdk/gdkglcontext.c:463
|
||||
msgid "The current backend does not support OpenGL"
|
||||
msgstr "Le moteur actuel ne gère pas OpenGL"
|
||||
|
||||
#: gdk/gdkdisplay.c:1315 gdk/gdkvulkancontext.c:1601
|
||||
#: gdk/gdkdisplay.c:1315 gdk/gdkvulkancontext.c:1600
|
||||
msgid "Vulkan support disabled via GDK_DEBUG"
|
||||
msgstr "Prise en charge de Vulkan désactivée via GDK_DEBUG"
|
||||
|
||||
@@ -74,47 +74,47 @@ msgstr "Prise en charge de Vulkan désactivée via GDK_DEBUG"
|
||||
msgid "GL support disabled via GDK_DEBUG"
|
||||
msgstr "Prise en charge de GL désactivée via GDK_DEBUG"
|
||||
|
||||
#: gdk/gdkdisplay.c:1665
|
||||
#: gdk/gdkdisplay.c:1674
|
||||
msgid "No EGL configuration available"
|
||||
msgstr "Aucune configuration EGL disponible"
|
||||
|
||||
#: gdk/gdkdisplay.c:1673
|
||||
#: gdk/gdkdisplay.c:1682
|
||||
msgid "Failed to get EGL configurations"
|
||||
msgstr "Impossible d’obtenir les configurations EGL"
|
||||
|
||||
#: gdk/gdkdisplay.c:1703
|
||||
#: gdk/gdkdisplay.c:1712
|
||||
msgid "No EGL configuration with required features found"
|
||||
msgstr ""
|
||||
"Aucune configuration EGL avec les fonctionnalités requises n’a été trouvée"
|
||||
|
||||
#: gdk/gdkdisplay.c:1710
|
||||
#: gdk/gdkdisplay.c:1719
|
||||
msgid "No perfect EGL configuration found"
|
||||
msgstr "Aucune configuration EGL idéale trouvée"
|
||||
|
||||
#: gdk/gdkdisplay.c:1752
|
||||
#: gdk/gdkdisplay.c:1761
|
||||
#, c-format
|
||||
msgid "EGL implementation is missing extension %s"
|
||||
msgid_plural "EGL implementation is missing %2$d extensions: %1$s"
|
||||
msgstr[0] "L’extension %s manque dans l’implémentation EGL"
|
||||
msgstr[1] "%2$d extensions manquent dans l’implémentation EGL : %1$s"
|
||||
|
||||
#: gdk/gdkdisplay.c:1801
|
||||
#: gdk/gdkdisplay.c:1810
|
||||
msgid "libEGL not available in this sandbox"
|
||||
msgstr "libEGL n’est pas disponible dans ce bac à sable"
|
||||
|
||||
#: gdk/gdkdisplay.c:1802
|
||||
#: gdk/gdkdisplay.c:1811
|
||||
msgid "libEGL not available"
|
||||
msgstr "libEGL non disponible"
|
||||
|
||||
#: gdk/gdkdisplay.c:1812
|
||||
#: gdk/gdkdisplay.c:1821
|
||||
msgid "Failed to create EGL display"
|
||||
msgstr "Impossible de créer l’affichage EGL"
|
||||
|
||||
#: gdk/gdkdisplay.c:1821
|
||||
#: gdk/gdkdisplay.c:1830
|
||||
msgid "Could not initialize EGL display"
|
||||
msgstr "Impossible d’initialiser l’affichage EGL"
|
||||
|
||||
#: gdk/gdkdisplay.c:1831
|
||||
#: gdk/gdkdisplay.c:1840
|
||||
#, c-format
|
||||
msgid "EGL version %d.%d is too old. GTK requires %d.%d"
|
||||
msgstr "La version %d.%d d’EGL est trop ancienne. GTK requiert %d.%d"
|
||||
@@ -128,32 +128,32 @@ msgstr ""
|
||||
msgid "No compatible formats to transfer contents."
|
||||
msgstr "Aucun format compatible pour le transfert du contenu."
|
||||
|
||||
#: gdk/gdkglcontext.c:419 gdk/x11/gdkglcontext-glx.c:645
|
||||
#: gdk/gdkglcontext.c:423 gdk/x11/gdkglcontext-glx.c:645
|
||||
msgid "No GL API allowed."
|
||||
msgstr "Aucune API GL autorisée."
|
||||
|
||||
#: gdk/gdkglcontext.c:442 gdk/win32/gdkglcontext-win32-wgl.c:395
|
||||
#: gdk/gdkglcontext.c:446 gdk/win32/gdkglcontext-win32-wgl.c:395
|
||||
#: gdk/win32/gdkglcontext-win32-wgl.c:538
|
||||
#: gdk/win32/gdkglcontext-win32-wgl.c:582 gdk/x11/gdkglcontext-glx.c:691
|
||||
msgid "Unable to create a GL context"
|
||||
msgstr "Impossible de créer un contexte GL"
|
||||
|
||||
#: gdk/gdkglcontext.c:1304
|
||||
#: gdk/gdkglcontext.c:1309
|
||||
msgid "OpenGL ES disabled via GDK_DEBUG"
|
||||
msgstr "OpenGL ES désactivé via GTK_DEBUG"
|
||||
|
||||
#: gdk/gdkglcontext.c:1316
|
||||
#: gdk/gdkglcontext.c:1321
|
||||
msgid "OpenGL disabled via GDK_DEBUG"
|
||||
msgstr "OpenGL désactivé via GTK_DEBUG"
|
||||
|
||||
#: gdk/gdkglcontext.c:1327
|
||||
#: gdk/gdkglcontext.c:1332
|
||||
#, c-format
|
||||
msgid "Application does not support %s API"
|
||||
msgstr "L’application ne prend pas en charge l’API %s"
|
||||
|
||||
#. translators: This is about OpenGL backend names, like
|
||||
#. * "Trying to use X11 GLX, but EGL is already in use"
|
||||
#: gdk/gdkglcontext.c:2113
|
||||
#: gdk/gdkglcontext.c:2117
|
||||
#, c-format
|
||||
msgid "Trying to use %s, but %s is already in use"
|
||||
msgstr "Tentative d’utilisation de %s, mais %s est déjà utilisé"
|
||||
@@ -2386,7 +2386,7 @@ msgid "If you delete an item, it will be permanently lost."
|
||||
msgstr "Si vous supprimez un élément, il sera définitivement perdu."
|
||||
|
||||
#: gtk/gtkfilechooserwidget.c:1188 gtk/gtkfilechooserwidget.c:1786
|
||||
#: gtk/gtklabel.c:5711 gtk/gtktext.c:6193 gtk/gtktextview.c:9079
|
||||
#: gtk/gtklabel.c:5712 gtk/gtktext.c:6194 gtk/gtktextview.c:9099
|
||||
msgid "_Delete"
|
||||
msgstr "_Supprimer"
|
||||
|
||||
@@ -2595,7 +2595,7 @@ msgid "_Time"
|
||||
msgstr "D_ate"
|
||||
|
||||
#: gtk/gtkfilechooserwidget.c:7375 gtk/gtkplacessidebar.c:2306
|
||||
#: gtk/inspector/a11y.ui:43 gtk/inspector/actions.ui:19
|
||||
#: gtk/inspector/a11y.ui:43 gtk/inspector/actions.ui:18
|
||||
#: gtk/inspector/css-node-tree.ui:22 gtk/inspector/prop-list.ui:24
|
||||
#: gtk/ui/gtkfilechooserwidget.ui:385 gtk/print/ui/gtkprintunixdialog.ui:80
|
||||
msgid "Name"
|
||||
@@ -2724,31 +2724,31 @@ msgstr "Fermer"
|
||||
msgid "Close the infobar"
|
||||
msgstr "Fermer la barre d’information"
|
||||
|
||||
#: gtk/gtklabel.c:5708 gtk/gtktext.c:6181 gtk/gtktextview.c:9067
|
||||
#: gtk/gtklabel.c:5709 gtk/gtktext.c:6182 gtk/gtktextview.c:9087
|
||||
msgid "Cu_t"
|
||||
msgstr "Co_uper"
|
||||
|
||||
#: gtk/gtklabel.c:5709 gtk/gtktext.c:6185 gtk/gtktextview.c:9071
|
||||
#: gtk/gtklabel.c:5710 gtk/gtktext.c:6186 gtk/gtktextview.c:9091
|
||||
msgid "_Copy"
|
||||
msgstr "_Copier"
|
||||
|
||||
#: gtk/gtklabel.c:5710 gtk/gtktext.c:6189 gtk/gtktextview.c:9075
|
||||
#: gtk/gtklabel.c:5711 gtk/gtktext.c:6190 gtk/gtktextview.c:9095
|
||||
msgid "_Paste"
|
||||
msgstr "C_oller"
|
||||
|
||||
#: gtk/gtklabel.c:5716 gtk/gtktext.c:6202 gtk/gtktextview.c:9100
|
||||
#: gtk/gtklabel.c:5717 gtk/gtktext.c:6203 gtk/gtktextview.c:9120
|
||||
msgid "Select _All"
|
||||
msgstr "_Tout sélectionner"
|
||||
|
||||
#: gtk/gtklabel.c:5721
|
||||
#: gtk/gtklabel.c:5722
|
||||
msgid "_Open Link"
|
||||
msgstr "_Ouvrir le lien"
|
||||
|
||||
#: gtk/gtklabel.c:5725
|
||||
#: gtk/gtklabel.c:5726
|
||||
msgid "Copy _Link Address"
|
||||
msgstr "Copier l’_adresse du lien"
|
||||
|
||||
#: gtk/gtklabel.c:5769 gtk/gtktext.c:2724 gtk/gtktextview.c:9149
|
||||
#: gtk/gtklabel.c:5770 gtk/gtktext.c:2723 gtk/gtktextview.c:9169
|
||||
msgid "Context menu"
|
||||
msgstr "Menu contextuel"
|
||||
|
||||
@@ -3516,42 +3516,42 @@ msgstr "Récupération des informations sur l’imprimante…"
|
||||
#. * multiple pages on a sheet when printing
|
||||
#.
|
||||
#: gtk/print/gtkprintunixdialog.c:2753
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5645
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5672
|
||||
msgid "Left to right, top to bottom"
|
||||
msgstr "De gauche à droite, du haut vers le bas"
|
||||
|
||||
#: gtk/print/gtkprintunixdialog.c:2753
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5645
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5672
|
||||
msgid "Left to right, bottom to top"
|
||||
msgstr "De gauche à droite, du bas vers le haut"
|
||||
|
||||
#: gtk/print/gtkprintunixdialog.c:2754
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5646
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5673
|
||||
msgid "Right to left, top to bottom"
|
||||
msgstr "De droite à gauche, du haut vers le bas"
|
||||
|
||||
#: gtk/print/gtkprintunixdialog.c:2754
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5646
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5673
|
||||
msgid "Right to left, bottom to top"
|
||||
msgstr "De droite à gauche, du bas vers le haut"
|
||||
|
||||
#: gtk/print/gtkprintunixdialog.c:2755
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5647
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5674
|
||||
msgid "Top to bottom, left to right"
|
||||
msgstr "Du haut vers le bas, de gauche à droite"
|
||||
|
||||
#: gtk/print/gtkprintunixdialog.c:2755
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5647
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5674
|
||||
msgid "Top to bottom, right to left"
|
||||
msgstr "Du haut vers le bas, de droite à gauche"
|
||||
|
||||
#: gtk/print/gtkprintunixdialog.c:2756
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5648
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5675
|
||||
msgid "Bottom to top, left to right"
|
||||
msgstr "Du bas vers le haut, de gauche à droite"
|
||||
|
||||
#: gtk/print/gtkprintunixdialog.c:2756
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5648
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5675
|
||||
msgid "Bottom to top, right to left"
|
||||
msgstr "Du bas vers le haut, de droite à gauche"
|
||||
|
||||
@@ -3691,15 +3691,15 @@ msgctxt "accessibility"
|
||||
msgid "Sidebar"
|
||||
msgstr "Panneau latéral"
|
||||
|
||||
#: gtk/gtktext.c:6207 gtk/gtktextview.c:9105
|
||||
#: gtk/gtktext.c:6208 gtk/gtktextview.c:9125
|
||||
msgid "Insert _Emoji"
|
||||
msgstr "Insérer un _émoji"
|
||||
|
||||
#: gtk/gtktextview.c:9087
|
||||
#: gtk/gtktextview.c:9107
|
||||
msgid "_Undo"
|
||||
msgstr "Ann_uler"
|
||||
|
||||
#: gtk/gtktextview.c:9091
|
||||
#: gtk/gtktextview.c:9111
|
||||
msgid "_Redo"
|
||||
msgstr "_Rétablir"
|
||||
|
||||
@@ -3929,7 +3929,7 @@ msgctxt "Vulkan version"
|
||||
msgid "None"
|
||||
msgstr "Aucune"
|
||||
|
||||
#: gtk/inspector/general.c:922
|
||||
#: gtk/inspector/general.c:923
|
||||
msgid "IM Context is hardcoded by GTK_IM_MODULE"
|
||||
msgstr "Le contexte de méthode de saisie est fixé par GTK_IM_MODULE"
|
||||
|
||||
@@ -4300,27 +4300,27 @@ msgstr "Taille :"
|
||||
msgid "Trigger"
|
||||
msgstr "Déclencher"
|
||||
|
||||
#: gtk/inspector/size-groups.c:225
|
||||
#: gtk/inspector/size-groups.c:228
|
||||
msgctxt "sizegroup mode"
|
||||
msgid "None"
|
||||
msgstr "Aucun"
|
||||
|
||||
#: gtk/inspector/size-groups.c:226
|
||||
#: gtk/inspector/size-groups.c:229
|
||||
msgctxt "sizegroup mode"
|
||||
msgid "Horizontal"
|
||||
msgstr "Horizontal"
|
||||
|
||||
#: gtk/inspector/size-groups.c:227
|
||||
#: gtk/inspector/size-groups.c:230
|
||||
msgctxt "sizegroup mode"
|
||||
msgid "Vertical"
|
||||
msgstr "Vertical"
|
||||
|
||||
#: gtk/inspector/size-groups.c:228
|
||||
#: gtk/inspector/size-groups.c:231
|
||||
msgctxt "sizegroup mode"
|
||||
msgid "Both"
|
||||
msgstr "Les deux"
|
||||
|
||||
#: gtk/inspector/size-groups.c:240
|
||||
#: gtk/inspector/size-groups.c:243
|
||||
msgid "Mode"
|
||||
msgstr "Mode"
|
||||
|
||||
@@ -4377,14 +4377,10 @@ msgstr "Hiérarchie"
|
||||
msgid "Implements"
|
||||
msgstr "Implémente"
|
||||
|
||||
#: gtk/inspector/visual.c:674 gtk/inspector/visual.c:693
|
||||
#: gtk/inspector/visual.c:672 gtk/inspector/visual.c:691
|
||||
msgid "Theme is hardcoded by GTK_THEME"
|
||||
msgstr "Le thème est figé par GTK_THEME"
|
||||
|
||||
#: gtk/inspector/visual.c:942
|
||||
msgid "Backend does not support window scaling"
|
||||
msgstr "Le moteur ne gère pas la mise à l’échelle des fenêtres"
|
||||
|
||||
#: gtk/inspector/visual.ui:34
|
||||
msgid "GTK Theme"
|
||||
msgstr "Thème GTK"
|
||||
@@ -4405,43 +4401,39 @@ msgstr "Taille de curseur"
|
||||
msgid "Icon Theme"
|
||||
msgstr "Thème d’icônes"
|
||||
|
||||
#: gtk/inspector/visual.ui:194
|
||||
#: gtk/inspector/visual.ui:199
|
||||
msgid "Font Scale"
|
||||
msgstr "Mise à l’échelle des polices"
|
||||
|
||||
#: gtk/inspector/visual.ui:239
|
||||
#: gtk/inspector/visual.ui:244
|
||||
msgid "Text Direction"
|
||||
msgstr "Direction du texte"
|
||||
|
||||
#: gtk/inspector/visual.ui:254
|
||||
#: gtk/inspector/visual.ui:259
|
||||
msgid "Left-to-Right"
|
||||
msgstr "De gauche à droite"
|
||||
|
||||
#: gtk/inspector/visual.ui:255
|
||||
#: gtk/inspector/visual.ui:260
|
||||
msgid "Right-to-Left"
|
||||
msgstr "De droite à gauche"
|
||||
|
||||
#: gtk/inspector/visual.ui:273
|
||||
msgid "Window Scaling"
|
||||
msgstr "Mise à l’échelle des fenêtres"
|
||||
|
||||
#: gtk/inspector/visual.ui:306
|
||||
#: gtk/inspector/visual.ui:277
|
||||
msgid "Animations"
|
||||
msgstr "Animations"
|
||||
|
||||
#: gtk/inspector/visual.ui:331
|
||||
#: gtk/inspector/visual.ui:302
|
||||
msgid "Slowdown"
|
||||
msgstr "Ralenti"
|
||||
|
||||
#: gtk/inspector/visual.ui:385
|
||||
#: gtk/inspector/visual.ui:356
|
||||
msgid "Show Framerate"
|
||||
msgstr "Afficher la fréquence d’image"
|
||||
|
||||
#: gtk/inspector/visual.ui:410
|
||||
#: gtk/inspector/visual.ui:381
|
||||
msgid "Show Graphic Updates"
|
||||
msgstr "Afficher les mises à jour graphiques"
|
||||
|
||||
#: gtk/inspector/visual.ui:430
|
||||
#: gtk/inspector/visual.ui:401
|
||||
msgid ""
|
||||
"Tints all the places where the current renderer uses Cairo instead of the "
|
||||
"GPU."
|
||||
@@ -4449,47 +4441,47 @@ msgstr ""
|
||||
"Colore tous les endroits où le moteur de rendu actuel utilise Cairo au lieu "
|
||||
"du GPU."
|
||||
|
||||
#: gtk/inspector/visual.ui:436
|
||||
#: gtk/inspector/visual.ui:407
|
||||
msgid "Show Cairo Rendering"
|
||||
msgstr "Afficher le rendu de Cairo"
|
||||
|
||||
#: gtk/inspector/visual.ui:461
|
||||
#: gtk/inspector/visual.ui:432
|
||||
msgid "Show Baselines"
|
||||
msgstr "Afficher les lignes de base"
|
||||
|
||||
#: gtk/inspector/visual.ui:489
|
||||
#: gtk/inspector/visual.ui:460
|
||||
msgid "Show Layout Borders"
|
||||
msgstr "Afficher les bords de l’agencement"
|
||||
|
||||
#: gtk/inspector/visual.ui:546
|
||||
#: gtk/inspector/visual.ui:517
|
||||
msgid "CSS Padding"
|
||||
msgstr "Remplissage CSS"
|
||||
|
||||
#: gtk/inspector/visual.ui:556
|
||||
#: gtk/inspector/visual.ui:527
|
||||
msgid "CSS Border"
|
||||
msgstr "Bordure CSS"
|
||||
|
||||
#: gtk/inspector/visual.ui:566
|
||||
#: gtk/inspector/visual.ui:537
|
||||
msgid "CSS Margin"
|
||||
msgstr "Marge CSS"
|
||||
|
||||
#: gtk/inspector/visual.ui:576
|
||||
#: gtk/inspector/visual.ui:547
|
||||
msgid "Widget Margin"
|
||||
msgstr "Marge du composant graphique"
|
||||
|
||||
#: gtk/inspector/visual.ui:611
|
||||
#: gtk/inspector/visual.ui:582
|
||||
msgid "Show Focus"
|
||||
msgstr "Montrer le focus"
|
||||
|
||||
#: gtk/inspector/visual.ui:636
|
||||
#: gtk/inspector/visual.ui:607
|
||||
msgid "Show Accessibility warnings"
|
||||
msgstr "Afficher les avertissements d’accessibilité"
|
||||
|
||||
#: gtk/inspector/visual.ui:661
|
||||
#: gtk/inspector/visual.ui:632
|
||||
msgid "Show Graphics Offload"
|
||||
msgstr "Afficher le déchargement graphique"
|
||||
|
||||
#: gtk/inspector/visual.ui:693
|
||||
#: gtk/inspector/visual.ui:664
|
||||
msgid "Inspect Inspector"
|
||||
msgstr "Inspecter l’inspecteur"
|
||||
|
||||
@@ -4519,7 +4511,7 @@ msgstr "Objets"
|
||||
|
||||
#: gtk/inspector/window.ui:231
|
||||
msgid "Toggle Sidebar"
|
||||
msgstr "Bascule de la barre latérale"
|
||||
msgstr "Bascule du panneau latéral"
|
||||
|
||||
#: gtk/inspector/window.ui:253
|
||||
msgid "Refresh action state"
|
||||
@@ -6621,22 +6613,22 @@ msgstr "Certains paramètres dans la boîte de dialogue sont en conflit"
|
||||
#. * job priority option in the print dialog
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcpdb.c:541
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5640
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5667
|
||||
msgid "Urgent"
|
||||
msgstr "Urgent"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcpdb.c:541
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5640
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5667
|
||||
msgid "High"
|
||||
msgstr "Haute"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcpdb.c:541
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5640
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5667
|
||||
msgid "Medium"
|
||||
msgstr "Moyenne"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcpdb.c:541
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5640
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5667
|
||||
msgid "Low"
|
||||
msgstr "Basse"
|
||||
|
||||
@@ -6644,7 +6636,7 @@ msgstr "Basse"
|
||||
#. * dialog that controls the front cover page.
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcpdb.c:562
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5782
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5809
|
||||
msgctxt "printer option"
|
||||
msgid "Before"
|
||||
msgstr "Avant"
|
||||
@@ -6653,7 +6645,7 @@ msgstr "Avant"
|
||||
#. * dialog that controls the back cover page.
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcpdb.c:569
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5797
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5824
|
||||
msgctxt "printer option"
|
||||
msgid "After"
|
||||
msgstr "Après"
|
||||
@@ -6838,266 +6830,266 @@ msgstr "Il y a un problème avec l’imprimante « %s »."
|
||||
msgid "; "
|
||||
msgstr " ; "
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4582
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4649
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4609
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4676
|
||||
msgctxt "printing option"
|
||||
msgid "Two Sided"
|
||||
msgstr "Recto verso"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4583
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4610
|
||||
msgctxt "printing option"
|
||||
msgid "Paper Type"
|
||||
msgstr "Type de papier"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4584
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4611
|
||||
msgctxt "printing option"
|
||||
msgid "Paper Source"
|
||||
msgstr "Source du papier"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4585
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4650
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4612
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4677
|
||||
msgctxt "printing option"
|
||||
msgid "Output Tray"
|
||||
msgstr "Bac de sortie"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4586
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4613
|
||||
msgctxt "printing option"
|
||||
msgid "Resolution"
|
||||
msgstr "Résolution"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4587
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4614
|
||||
msgctxt "printing option"
|
||||
msgid "GhostScript pre-filtering"
|
||||
msgstr "Pré-filtrage GhostScript"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4596
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4623
|
||||
msgctxt "printing option value"
|
||||
msgid "One Sided"
|
||||
msgstr "Recto"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4598
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4625
|
||||
msgctxt "printing option value"
|
||||
msgid "Long Edge (Standard)"
|
||||
msgstr "Bord long (standard)"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4600
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4627
|
||||
msgctxt "printing option value"
|
||||
msgid "Short Edge (Flip)"
|
||||
msgstr "Bord court (retourné)"
|
||||
|
||||
#. Translators: this is an option of "Paper Source"
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4602
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4604
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4612
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4629
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4631
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4639
|
||||
msgctxt "printing option value"
|
||||
msgid "Auto Select"
|
||||
msgstr "Sélection automatique"
|
||||
|
||||
#. Translators: this is an option of "Paper Source"
|
||||
#. Translators: this is an option of "Resolution"
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4606
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4608
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4610
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4614
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4633
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4635
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4637
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4641
|
||||
msgctxt "printing option value"
|
||||
msgid "Printer Default"
|
||||
msgstr "Selon l’imprimante"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4616
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4643
|
||||
msgctxt "printing option value"
|
||||
msgid "Embed GhostScript fonts only"
|
||||
msgstr "Inclure uniquement les polices GhostScript"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4618
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4645
|
||||
msgctxt "printing option value"
|
||||
msgid "Convert to PS level 1"
|
||||
msgstr "Convertir en PS niveau 1"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4620
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4647
|
||||
msgctxt "printing option value"
|
||||
msgid "Convert to PS level 2"
|
||||
msgstr "Convertir en PS niveau 2"
|
||||
|
||||
#. Translators: this is an option of "GhostScript"
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4622
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4649
|
||||
msgctxt "printing option value"
|
||||
msgid "No pre-filtering"
|
||||
msgstr "Pas de pré-filtrage"
|
||||
|
||||
#. Translators: "Miscellaneous" is the label for a button, that opens
|
||||
#. up an extra panel of settings in a print dialog.
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4631
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4658
|
||||
msgctxt "printing option group"
|
||||
msgid "Miscellaneous"
|
||||
msgstr "Divers"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4658
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4685
|
||||
msgctxt "sides"
|
||||
msgid "One Sided"
|
||||
msgstr "Recto"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4660
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4687
|
||||
msgctxt "sides"
|
||||
msgid "Long Edge (Standard)"
|
||||
msgstr "Bord long (standard)"
|
||||
|
||||
#. Translators: this is an option of "Two Sided"
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4662
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4689
|
||||
msgctxt "sides"
|
||||
msgid "Short Edge (Flip)"
|
||||
msgstr "Bord court (retourné)"
|
||||
|
||||
#. Translators: Top output bin
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4665
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4692
|
||||
msgctxt "output-bin"
|
||||
msgid "Top Bin"
|
||||
msgstr "Bac supérieur"
|
||||
|
||||
#. Translators: Middle output bin
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4667
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4694
|
||||
msgctxt "output-bin"
|
||||
msgid "Middle Bin"
|
||||
msgstr "Bac intermédiaire"
|
||||
|
||||
#. Translators: Bottom output bin
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4669
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4696
|
||||
msgctxt "output-bin"
|
||||
msgid "Bottom Bin"
|
||||
msgstr "Bac inférieur"
|
||||
|
||||
#. Translators: Side output bin
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4671
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4698
|
||||
msgctxt "output-bin"
|
||||
msgid "Side Bin"
|
||||
msgstr "Bac latéral"
|
||||
|
||||
#. Translators: Left output bin
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4673
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4700
|
||||
msgctxt "output-bin"
|
||||
msgid "Left Bin"
|
||||
msgstr "Bac de gauche"
|
||||
|
||||
#. Translators: Right output bin
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4675
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4702
|
||||
msgctxt "output-bin"
|
||||
msgid "Right Bin"
|
||||
msgstr "Bac de droite"
|
||||
|
||||
#. Translators: Center output bin
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4677
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4704
|
||||
msgctxt "output-bin"
|
||||
msgid "Center Bin"
|
||||
msgstr "Bac central"
|
||||
|
||||
#. Translators: Rear output bin
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4679
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4706
|
||||
msgctxt "output-bin"
|
||||
msgid "Rear Bin"
|
||||
msgstr "Bac arrière"
|
||||
|
||||
#. Translators: Output bin where one sided output is oriented in the face-up position
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4681
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4708
|
||||
msgctxt "output-bin"
|
||||
msgid "Face Up Bin"
|
||||
msgstr "Bac à face vers le haut"
|
||||
|
||||
#. Translators: Output bin where one sided output is oriented in the face-down position
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4683
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4710
|
||||
msgctxt "output-bin"
|
||||
msgid "Face Down Bin"
|
||||
msgstr "Bac à face vers le bas"
|
||||
|
||||
#. Translators: Large capacity output bin
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4685
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4712
|
||||
msgctxt "output-bin"
|
||||
msgid "Large Capacity Bin"
|
||||
msgstr "Bac de grande capacité"
|
||||
|
||||
#. Translators: Output stacker number %d
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4707
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4734
|
||||
#, c-format
|
||||
msgctxt "output-bin"
|
||||
msgid "Stacker %d"
|
||||
msgstr "Empileur %d"
|
||||
|
||||
#. Translators: Output mailbox number %d
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4711
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4738
|
||||
#, c-format
|
||||
msgctxt "output-bin"
|
||||
msgid "Mailbox %d"
|
||||
msgstr "Boîte de messagerie %d"
|
||||
|
||||
#. Translators: Private mailbox
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4715
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4742
|
||||
msgctxt "output-bin"
|
||||
msgid "My Mailbox"
|
||||
msgstr "Ma boîte de messagerie"
|
||||
|
||||
#. Translators: Output tray number %d
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4719
|
||||
#: modules/printbackends/gtkprintbackendcups.c:4746
|
||||
#, c-format
|
||||
msgctxt "output-bin"
|
||||
msgid "Tray %d"
|
||||
msgstr "Plateau %d"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5196
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5223
|
||||
msgid "Printer Default"
|
||||
msgstr "Selon l’imprimante"
|
||||
|
||||
#. Translators, this string is used to label the job priority option
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5670
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5697
|
||||
msgid "Job Priority"
|
||||
msgstr "Priorité de la tâche"
|
||||
|
||||
#. Translators, this string is used to label the billing info entry
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5681
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5708
|
||||
msgid "Billing Info"
|
||||
msgstr "Informations de facturation"
|
||||
|
||||
#. Translators, these strings are names for various 'standard' cover
|
||||
#. * pages that the printing system may support.
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5705
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5732
|
||||
msgctxt "cover page"
|
||||
msgid "None"
|
||||
msgstr "Aucune"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5706
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5733
|
||||
msgctxt "cover page"
|
||||
msgid "Classified"
|
||||
msgstr "Classifié"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5707
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5734
|
||||
msgctxt "cover page"
|
||||
msgid "Confidential"
|
||||
msgstr "Confidentiel"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5708
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5735
|
||||
msgctxt "cover page"
|
||||
msgid "Secret"
|
||||
msgstr "Secret"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5709
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5736
|
||||
msgctxt "cover page"
|
||||
msgid "Standard"
|
||||
msgstr "Standard"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5710
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5737
|
||||
msgctxt "cover page"
|
||||
msgid "Top Secret"
|
||||
msgstr "Top secret"
|
||||
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5711
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5738
|
||||
msgctxt "cover page"
|
||||
msgid "Unclassified"
|
||||
msgstr "Non classifié"
|
||||
@@ -7105,7 +7097,7 @@ msgstr "Non classifié"
|
||||
#. Translators, this string is used to label the pages-per-sheet option
|
||||
#. * in the print dialog
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5723
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5750
|
||||
msgctxt "printer option"
|
||||
msgid "Pages per Sheet"
|
||||
msgstr "Pages par feuille"
|
||||
@@ -7113,7 +7105,7 @@ msgstr "Pages par feuille"
|
||||
#. Translators, this string is used to label the option in the print
|
||||
#. * dialog that controls in what order multiple pages are arranged
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5740
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5767
|
||||
msgctxt "printer option"
|
||||
msgid "Page Ordering"
|
||||
msgstr "Ordre des pages"
|
||||
@@ -7122,7 +7114,7 @@ msgstr "Ordre des pages"
|
||||
#. * a print job is printed. Possible values are 'now', a specified time,
|
||||
#. * or 'on hold'
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5817
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5844
|
||||
msgctxt "printer option"
|
||||
msgid "Print at"
|
||||
msgstr "Imprimer à"
|
||||
@@ -7130,7 +7122,7 @@ msgstr "Imprimer à"
|
||||
#. Translators: this is the name of the option that allows the user
|
||||
#. * to specify a time when a print job will be printed.
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5828
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5855
|
||||
msgctxt "printer option"
|
||||
msgid "Print at time"
|
||||
msgstr "Imprimer à l’heure"
|
||||
@@ -7140,19 +7132,19 @@ msgstr "Imprimer à l’heure"
|
||||
#. * the width and height in points. E.g: "Custom
|
||||
#. * 230.4x142.9"
|
||||
#.
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5875
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5902
|
||||
#, c-format
|
||||
msgid "Custom %s×%s"
|
||||
msgstr "Personnalisé %s×%s"
|
||||
|
||||
#. TRANSLATORS: this is the ICC color profile to use for this job
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5986
|
||||
#: modules/printbackends/gtkprintbackendcups.c:6013
|
||||
msgctxt "printer option"
|
||||
msgid "Printer Profile"
|
||||
msgstr "Profil d’imprimante"
|
||||
|
||||
#. TRANSLATORS: this is when color profile information is unavailable
|
||||
#: modules/printbackends/gtkprintbackendcups.c:5993
|
||||
#: modules/printbackends/gtkprintbackendcups.c:6020
|
||||
msgctxt "printer option value"
|
||||
msgid "Unavailable"
|
||||
msgstr "Non disponible"
|
||||
@@ -8141,6 +8133,12 @@ msgstr ""
|
||||
"Si vous souhaitez vraiment créer un cache d’icônes ici, utilisez --ignore-"
|
||||
"theme-index.\n"
|
||||
|
||||
#~ msgid "Backend does not support window scaling"
|
||||
#~ msgstr "Le moteur ne gère pas la mise à l’échelle des fenêtres"
|
||||
|
||||
#~ msgid "Window Scaling"
|
||||
#~ msgstr "Mise à l’échelle des fenêtres"
|
||||
|
||||
#~ msgid "Show _Size Column"
|
||||
#~ msgstr "Afficher la colonne _Taille"
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk+ master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gtk/-/issues/\n"
|
||||
"POT-Creation-Date: 2024-03-16 23:08+0000\n"
|
||||
"PO-Revision-Date: 2024-03-17 11:25+0100\n"
|
||||
"POT-Creation-Date: 2024-03-18 17:37+0000\n"
|
||||
"PO-Revision-Date: 2024-03-25 00:19+0100\n"
|
||||
"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n"
|
||||
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
||||
"Language: sl_SI\n"
|
||||
@@ -52,7 +52,7 @@ msgstr "Ni mogoče določiti vsebine kot »%s«."
|
||||
msgid "Cannot provide contents as %s"
|
||||
msgstr "Ni mogoče določiti vsebine kot %s."
|
||||
|
||||
#: gdk/gdkdisplay.c:176 gdk/gdkglcontext.c:463
|
||||
#: gdk/gdkdisplay.c:176 gdk/gdkglcontext.c:464
|
||||
msgid "The current backend does not support OpenGL"
|
||||
msgstr "Trenutno zagnan ozadnji program ne podpira OpenGL"
|
||||
|
||||
@@ -118,32 +118,32 @@ msgstr "Funkcija Poteg/Spust iz drugih programov ni podprta."
|
||||
msgid "No compatible formats to transfer contents."
|
||||
msgstr "Ni skladnih zapisov za prenos vsebine."
|
||||
|
||||
#: gdk/gdkglcontext.c:423 gdk/x11/gdkglcontext-glx.c:645
|
||||
#: gdk/gdkglcontext.c:424 gdk/x11/gdkglcontext-glx.c:645
|
||||
msgid "No GL API allowed."
|
||||
msgstr "API GL ni dovoljen."
|
||||
|
||||
#: gdk/gdkglcontext.c:446 gdk/win32/gdkglcontext-win32-wgl.c:395
|
||||
#: gdk/gdkglcontext.c:447 gdk/win32/gdkglcontext-win32-wgl.c:395
|
||||
#: gdk/win32/gdkglcontext-win32-wgl.c:538
|
||||
#: gdk/win32/gdkglcontext-win32-wgl.c:582 gdk/x11/gdkglcontext-glx.c:691
|
||||
msgid "Unable to create a GL context"
|
||||
msgstr "Ni mogoče ustvariti vsebine GL"
|
||||
|
||||
#: gdk/gdkglcontext.c:1309
|
||||
#: gdk/gdkglcontext.c:1310
|
||||
msgid "OpenGL ES disabled via GDK_DEBUG"
|
||||
msgstr "Podpora OpenGL ES je onemogočena z GDK_DEBUG"
|
||||
|
||||
#: gdk/gdkglcontext.c:1321
|
||||
#: gdk/gdkglcontext.c:1322
|
||||
msgid "OpenGL disabled via GDK_DEBUG"
|
||||
msgstr "Podpora GL je onemogočena z GDK_DEBUG"
|
||||
|
||||
#: gdk/gdkglcontext.c:1332
|
||||
#: gdk/gdkglcontext.c:1333
|
||||
#, c-format
|
||||
msgid "Application does not support %s API"
|
||||
msgstr "Program ne podpira vmesnika API %s"
|
||||
|
||||
#. translators: This is about OpenGL backend names, like
|
||||
#. * "Trying to use X11 GLX, but EGL is already in use"
|
||||
#: gdk/gdkglcontext.c:2117
|
||||
#: gdk/gdkglcontext.c:2123
|
||||
#, c-format
|
||||
msgid "Trying to use %s, but %s is already in use"
|
||||
msgstr "Podana je zahteva za uporabo %s, a je %s že v uporabi."
|
||||
@@ -560,10 +560,9 @@ msgid "Unsupported color type %u in png image"
|
||||
msgstr "Nepodprta barvna globina %u v sliki PNG"
|
||||
|
||||
#: gdk/loaders/gdkpng.c:272
|
||||
#, fuzzy, c-format
|
||||
#| msgid "Not enough memory for image size %ux%u"
|
||||
#, c-format
|
||||
msgid "Image stride too large for image size %ux%u"
|
||||
msgstr "Ni dovolj pomnilnika za sliko velikosti %ux%u"
|
||||
msgstr "Korak slike je prevelik za velikost slike %ux%u"
|
||||
|
||||
#: gdk/loaders/gdktiff.c:358
|
||||
msgid "Failed to load RGB data from TIFF file"
|
||||
@@ -873,7 +872,7 @@ msgstr "Izrisovalnik ne podpira OpenGL ES 3.0"
|
||||
|
||||
#: gsk/gpu/gsknglrenderer.c:62
|
||||
msgid "OpenGL 3.3 required"
|
||||
msgstr ""
|
||||
msgstr "Potrebujete OpenGL 3.3"
|
||||
|
||||
#: gtk/a11y/gtkatspiaction.c:239
|
||||
msgctxt "accessibility"
|
||||
@@ -1784,7 +1783,7 @@ msgstr "bločni navedek"
|
||||
#: gtk/gtkaccessible.c:872
|
||||
msgctxt "accessibility"
|
||||
msgid "article"
|
||||
msgstr ""
|
||||
msgstr "članek"
|
||||
|
||||
#: gtk/gtkaccessible.c:873
|
||||
msgctxt "accessibility"
|
||||
@@ -4411,7 +4410,6 @@ msgid "Show Graphic Updates"
|
||||
msgstr "Pokaži grafične posodobitve"
|
||||
|
||||
#: gtk/inspector/visual.ui:401
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Tints all the places where the current renderer uses Cairo instead of the "
|
||||
"GPU."
|
||||
@@ -4455,10 +4453,8 @@ msgid "Show Accessibility warnings"
|
||||
msgstr "Pokaži opozorila o dostopnosti"
|
||||
|
||||
#: gtk/inspector/visual.ui:632
|
||||
#, fuzzy
|
||||
#| msgid "Show Graphic Updates"
|
||||
msgid "Show Graphics Offload"
|
||||
msgstr "Pokaži grafične posodobitve"
|
||||
msgstr "Pokaži grafično razbremenitev"
|
||||
|
||||
#: gtk/inspector/visual.ui:664
|
||||
msgid "Inspect Inspector"
|
||||
@@ -7509,6 +7505,19 @@ msgid ""
|
||||
" info Print information about the path\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"Uporaba:\n"
|
||||
" gtk4-path-tool [UKAZ] [MOŽNOST ...] POT\n"
|
||||
"\n"
|
||||
"Opravite različna opravila na poteh.\n"
|
||||
"\n"
|
||||
"Ukazi:\n"
|
||||
" decompose Razčleni pot\n"
|
||||
" reverse Preobrni pot\n"
|
||||
" restrict Omeji pot na odsek\n"
|
||||
" show Prikaži pot v oknu\n"
|
||||
" render Upodobi pot kot sliko\n"
|
||||
" info Izpis informacij o poti\n"
|
||||
"\n"
|
||||
|
||||
#: tools/gtk-path-tool-decompose.c:84
|
||||
msgid "Allow quadratic Bézier curves"
|
||||
@@ -7628,7 +7637,7 @@ msgstr "Barva točke"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:129 tools/gtk-path-tool-show.c:151
|
||||
msgid "Fill rule (winding, even-odd)"
|
||||
msgstr ""
|
||||
msgstr "Pravilo polnjenja (navijajoče, sodo-liho)"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:129 tools/gtk-path-tool-render.c:133
|
||||
#: tools/gtk-path-tool-render.c:134 tools/gtk-path-tool-render.c:135
|
||||
@@ -7646,24 +7655,21 @@ msgstr "Širina vrstice (številka)"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:134 tools/gtk-path-tool-show.c:156
|
||||
msgid "Line cap (butt, round, square)"
|
||||
msgstr ""
|
||||
msgstr "Konec črte (zaobljeno, okroglo, oglato)"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:135 tools/gtk-path-tool-show.c:157
|
||||
msgid "Line join (miter, miter-clip, round, bevel, arcs)"
|
||||
msgstr ""
|
||||
msgstr "Spoj črt (sredica, sredica-sponka, okrogla, izbočena, loki)"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:136 tools/gtk-path-tool-show.c:158
|
||||
#, fuzzy
|
||||
msgid "Miter limit (number)"
|
||||
msgstr "Meja sredice (število)"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:137 tools/gtk-path-tool-show.c:159
|
||||
#, fuzzy
|
||||
msgid "Dash pattern (comma-separated numbers)"
|
||||
msgstr "Črtkan vzorec (številke, ločene z vejico)"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:138 tools/gtk-path-tool-show.c:160
|
||||
#, fuzzy
|
||||
msgid "Dash offset (number)"
|
||||
msgstr "Zamik črtic (številka)"
|
||||
|
||||
@@ -7701,15 +7707,15 @@ msgstr "Izrisati je mogoče le eno pot"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:250 tools/gtk-path-tool-show.c:221
|
||||
msgid "fill rule"
|
||||
msgstr ""
|
||||
msgstr "pravilo polnjenja"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:255 tools/gtk-path-tool-show.c:226
|
||||
msgid "line cap"
|
||||
msgstr ""
|
||||
msgstr "konec črte"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:256 tools/gtk-path-tool-show.c:227
|
||||
msgid "line join"
|
||||
msgstr ""
|
||||
msgstr "spoj črte"
|
||||
|
||||
#: tools/gtk-path-tool-render.c:310
|
||||
#, c-format
|
||||
@@ -7723,7 +7729,7 @@ msgstr "Odvod je zapisan v »%s«."
|
||||
|
||||
#: tools/gtk-path-tool-restrict.c:36
|
||||
msgid "Beginning of segment"
|
||||
msgstr ""
|
||||
msgstr "Začetek odseka"
|
||||
|
||||
#: tools/gtk-path-tool-restrict.c:36 tools/gtk-path-tool-restrict.c:37
|
||||
msgid "LENGTH"
|
||||
@@ -7731,10 +7737,9 @@ msgstr "DOLŽINA"
|
||||
|
||||
#: tools/gtk-path-tool-restrict.c:37
|
||||
msgid "End of segment"
|
||||
msgstr ""
|
||||
msgstr "Konec odseka"
|
||||
|
||||
#: tools/gtk-path-tool-restrict.c:51
|
||||
#, fuzzy
|
||||
msgid "Restrict a path to a segment."
|
||||
msgstr "Omejite pot na odsek."
|
||||
|
||||
@@ -7791,7 +7796,7 @@ msgid "Failed to parse '%s' as number"
|
||||
msgstr "Razčlenjevanje »%s« kot število je spodletelo"
|
||||
|
||||
#: tools/gtk-rendernode-tool.c:35
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Usage:\n"
|
||||
" gtk4-rendernode-tool [COMMAND] [OPTION…] FILE\n"
|
||||
@@ -7812,17 +7817,16 @@ msgstr ""
|
||||
"Izvajanje različnih opravil z vozlišči izrisovanja GTK.\n"
|
||||
"\n"
|
||||
"Ukazi:\n"
|
||||
" benchmark Testno izrisovanje vozlišča\n"
|
||||
" benchmark Preizkusno izrisovanje vozlišča\n"
|
||||
" compare Primerja vozlišča ali slike\n"
|
||||
" info Izpiše podatke o vozlišču\n"
|
||||
" show Prikaže vozlišče\n"
|
||||
" show Pokaže vozlišče\n"
|
||||
" render Izdela zaslonsko sliko vozlišča\n"
|
||||
"\n"
|
||||
|
||||
#: tools/gtk-rendernode-tool-benchmark.c:94
|
||||
#, fuzzy
|
||||
msgid "Add renderer to benchmark"
|
||||
msgstr "Dodaj izrisovalnik v benchmark"
|
||||
msgstr "Dodaj izrisovalnik v preizkušanje"
|
||||
|
||||
#: tools/gtk-rendernode-tool-benchmark.c:94
|
||||
#: tools/gtk-rendernode-tool-compare.c:65
|
||||
@@ -7840,11 +7844,11 @@ msgstr "PONOVITVE"
|
||||
|
||||
#: tools/gtk-rendernode-tool-benchmark.c:96
|
||||
msgid "Don’t download result/wait for GPU to finish"
|
||||
msgstr ""
|
||||
msgstr "Ne prenašaj rezultatov/čakaj na zaključek dela GPE"
|
||||
|
||||
#: tools/gtk-rendernode-tool-benchmark.c:114
|
||||
msgid "Benchmark rendering of a .node file."
|
||||
msgstr ""
|
||||
msgstr "Preizkusno izrisovanje datoteke .node."
|
||||
|
||||
#: tools/gtk-rendernode-tool-benchmark.c:127
|
||||
#: tools/gtk-rendernode-tool-info.c:236 tools/gtk-rendernode-tool-render.c:224
|
||||
@@ -7854,10 +7858,9 @@ msgid "No .node file specified\n"
|
||||
msgstr "Ni določene nobene datoteke .node\n"
|
||||
|
||||
#: tools/gtk-rendernode-tool-benchmark.c:133
|
||||
#, fuzzy, c-format
|
||||
#| msgid "Can only accept a single .node file\n"
|
||||
#, c-format
|
||||
msgid "Can only benchmark a single .node file\n"
|
||||
msgstr "Sprejeti je mogoče le eno datoteko .node\n"
|
||||
msgstr "Preizkušati je mogoče le eno datoteko .node\n"
|
||||
|
||||
#: tools/gtk-rendernode-tool-compare.c:65
|
||||
#: tools/gtk-rendernode-tool-render.c:195
|
||||
@@ -7895,10 +7898,9 @@ msgid "Failed to load %s: %s\n"
|
||||
msgstr "Datoteke %s ni mogoče naložiti: %s\n"
|
||||
|
||||
#: tools/gtk-rendernode-tool-compare.c:122
|
||||
#, fuzzy, c-format
|
||||
#| msgid "Could not rename %s back to %s: %s.\n"
|
||||
#, c-format
|
||||
msgid "Could not save diff image to %s\n"
|
||||
msgstr "%s ni mogoče preimenovati nazaj v %s: %s\n"
|
||||
msgstr "Slike diff ni možno shraniti v %s\n"
|
||||
|
||||
#: tools/gtk-rendernode-tool-compare.c:132
|
||||
#, c-format
|
||||
|
||||