Compare commits

...

45 Commits

Author SHA1 Message Date
Matthias Clasen 0927c3638a Call malloc_trim after loading images
Not sure this is the best place to do it, but at least it is one
place where we tend to do large, temporary allocations.
2024-03-27 14:15:20 +01:00
Athmane MOKRAOUI b1eed1c153 Add Kabyle translation 2024-03-26 11:34:22 +00:00
Martin fac6f6c712 Update Slovenian translation 2024-03-24 23:19:54 +00:00
Martin 3f1fc798f0 Update Slovenian translation 2024-03-24 23:17:49 +00:00
Luca Bacci e6a86f61dc Merge branch 'fix-issue-3749' into 'main'
GdkWin32: Always set WS_MINIMIZEBOX on GdkToplevel

Closes #3749

See merge request GNOME/gtk!7072
2024-03-22 17:57:06 +00:00
Matthias Clasen 2799632c02 Merge branch 'scalefix' into 'main'
GtkScale: improving symmetry and value positioning

Closes #5171

See merge request GNOME/gtk!6935
2024-03-22 16:18:48 +00:00
Luca Bacci 8ffa681e02 GdkWin32: Always set WS_MINIMIZEBOX on GdkToplevel
Regardless if server-side decorated or not. This way the shell knows
that the window can be minimized.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3749
2024-03-22 16:47:59 +01:00
Matthias Clasen 154035e76f Merge branch 'entry-progress' into 'main'
theme: Make sure progress in entries is visible

Closes #6201

See merge request GNOME/gtk!7071
2024-03-22 15:00:48 +00:00
Matthias Clasen 1d4c664bfa theme: Make sure progress in entries is visible
Give the trough a min height, so it doesn't shrink to nothing.

Fixes: #6201
2024-03-22 09:34:11 -04:00
Matthias Clasen 85a650afce Merge branch 'dnd-cursor-malaise' into 'main'
wayland: Guarantee dnd-move as a cursor name

See merge request GNOME/gtk!7070
2024-03-22 02:15:32 +00:00
Matthias Clasen f6c4d3731c dnd: Go back to using dnd-move as move cursor
The move cursor in Adwaita is stuck with the 4-headed arrow image
which isn't suitable for a dnd cursor.

See https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/issues/286
2024-03-21 21:36:38 -04:00
Matthias Clasen 5e9070145e wayland: Guarantee dnd-move as a cursor name
We need to go back to using this, since move is widely abused
and thus can't change its image to one thats appropriate for dnd.
2024-03-21 21:35:45 -04:00
Matthias Clasen 81ced841dd Merge branch 'matthiasc/for-main' into 'main'
inspector: Show presentation time protocol

See merge request GNOME/gtk!7069
2024-03-21 12:35:33 +00:00
Matthias Clasen 9837a9dcfd inspector: Show presentation time protocol
We have a list of all the used Wayland protocols and their versions
in the inspector. Lets keep it up-to-date.
2024-03-21 07:29:58 -04:00
Matthias Clasen 1704ec3c7d Merge branch 'wip/chergert/presentation-time' into 'main'
gdk/wayland: implement client side of presentation-time

See merge request GNOME/gtk!6987
2024-03-21 11:28:19 +00:00
Matthias Clasen c70a326055 Merge branch 'matthiasc/for-main' into 'main'
Sync cursor images with Adwaita

See merge request GNOME/gtk!7065
2024-03-21 02:37:35 +00:00
Christian Hergert 53616a73e9 gdk/wayland: use wp_presentation for more accurate frame timings
This attempts to improve the accuracy for the "presentation_time" of an
individual GdkFrameTimings. That information is currently filled in as soon
as we get a frame callback. However, if presentation-time wayland protocol
is available, that will be used to supliment a more accurate time which
may improve future presentation-time predictions within GdkFrameClockIdle.

The protocol states that all related and sub surfaces will receive the
same information so it is safe that this could be registered for more
than just the toplevel. The information becomes idempotent.
2024-03-20 14:45:58 -07:00
Jordan Petridis 2d3a3d6a78 Merge branch 'alatiera/ci-vulkan' into 'main'
flatpak-build.sh: Do not disable vulkan

See merge request GNOME/gtk!7066
2024-03-20 20:15:54 +00:00
Jordan Petridis 6ca9e5987b flatpak-build.sh: Do not disable vulkan
In a94d7abf0d we removed
the explicit disable from the manifest.

Now we should also have the CI build the vulkan render as well.
2024-03-20 21:18:13 +02:00
Matthias Clasen 2c1590001f Sync cursor images with Adwaita
Several cursor metaphors were changes in Adwaita. Update our docs
and the Cursors demo to match.
2024-03-20 13:19:12 -04:00
Matthias Clasen 82aee038e9 Merge branch 'alatiera/ci-vulkan' into 'main'
flatpak demos: Enable vulkan backend

See merge request GNOME/gtk!7064
2024-03-20 14:46:04 +00:00
Jordan Petridis a94d7abf0d flatpak demos: Enable vulkan backend
glslc is now in the Sdk itself

https://gitlab.gnome.org/GNOME/gnome-build-meta/-/merge_requests/2640
2024-03-20 15:47:42 +02:00
Matthias Clasen 3b87903889 Merge branch 'wayland-min-version' into 'main'
wayland: Check some required globals

See merge request GNOME/gtk!7062
2024-03-20 02:57:06 +00:00
Matthias Clasen 191f826075 wayland: Only set buffer scale if we can
We check this in some other places, so be consistent.
2024-03-19 22:22:53 -04:00
Matthias Clasen 5d52c43074 wayland: Check all required globals for subsurfaces
Before trying to use subsurfaces, make sure we have both
a subcompositor and a viewporter.
2024-03-19 22:22:53 -04:00
Matthias Clasen f6a67aeb20 wayland: Check some required globals
This may be largely cosmetics, since these are core protocols that
are unlikely to ever be missing. But lets check anyway.
2024-03-19 17:28:25 -04:00
Jordi Mas 370e2f0940 Update Catalan translation 2024-03-19 21:37:20 +01:00
Alexandre Franke 2ec9fc26d3 Update French translation 2024-03-19 13:06:37 +00:00
Matthias Clasen c2d898d462 Merge branch 'fix-macos-typo' into 'main'
quartz: Fix a crash

See merge request GNOME/gtk!7059
2024-03-19 03:11:58 +00:00
Matthias Clasen 7c04231255 Merge branch 'macos-remove-shadows' into 'main'
macos: Drop shadow related code from macos backend

See merge request GNOME/gtk!7048
2024-03-19 02:38:38 +00:00
Arjan Molenaar 08216dcee9 macos: Drop shadow related code from macos backend 2024-03-19 02:38:37 +00:00
Matthias Clasen 9817df12ff quartz: Fix a crash
This was an oversight in 816f8807a3.
2024-03-18 21:51:24 -04:00
Matthias Clasen 5b0e8eb574 Merge branch 'fix-macos-typo' into 'main'
macos: Fix a typo in the appmenu handling code

See merge request GNOME/gtk!7055
2024-03-19 01:49:08 +00:00
Matthias Clasen cecde85faa Merge branch 'drag-cursor-tweak' into 'main'
dnd: Use the default cursor during motion

Closes #6337 and #6511

See merge request GNOME/gtk!7058
2024-03-19 01:46:35 +00:00
Matthias Clasen aa95b4f341 dnd: Use the default cursor during motion
When no action is selected, use the default cursor, and only
switch to one of the action-indicating cursors when we are over
a drop target.

Fixes: #6337
Fixes: #6511
2024-03-18 21:17:55 -04:00
Matthias Clasen 816f8807a3 macos: Fix a typo in the appmenu handling code
We were using APP_DATA in one place, and APP_MENU in the other.
Just stop using object data for this.
2024-03-18 18:49:55 -04:00
Martin 26d3c407b3 Update Slovenian translation 2024-03-18 17:36:52 +00:00
Matthias Clasen a973e8ea8d Merge branch 'gl-offload-fixes' into 'main'
gl: Handle offloads in offscreen context better

Closes #6551

See merge request GNOME/gtk!7053
2024-03-18 15:22:22 +00:00
Matthias Clasen b007597c58 Merge branch 'macos-application-demo' into 'main'
Revert "macos: fix weird menubar rendering."

Closes #6524

See merge request GNOME/gtk!7052
2024-03-18 14:40:45 +00:00
Matthias Clasen 1e83a44c93 gl: Handle offloads in offscreen context better
Back out of offloading below if we are in an offscreen context,
since the hole will get lost in the offscreen.

Fixes: #6551
2024-03-18 08:41:31 -04:00
Matthias Clasen 259ad83de9 macos: Fix up app menu support
We were forgetting to add the newly loaded app menu to the
combined menubar. Pointed out by Dominik Reichardt in #6524.

Fixes: #6524
2024-03-18 07:50:30 -04:00
Matthias Clasen b4f5432d5a gtk4-demo: Clean up the application demo
This partially reverts ca1c570c21.
2024-03-17 22:29:22 -04:00
Matthias Clasen 4fe4523c49 Revert "macos: fix weird menubar rendering."
This reverts commit 75868dfee4.
2024-03-17 22:29:22 -04:00
Gergo Koteles 34028ea31e GtkScale: move value in line with the through.
The value is between the through and the markups, and appears scattered.

Move it in line with the through.

Fixes: #5171
2024-02-23 02:04:24 +01:00
Gergo Koteles 4244314a40 GtkScale: add symmetry border to the scales without markups
The scales with marks require css adjustments for center positioning.

Add border to the other side to make it symmetrical.

Fixes: #5171
2024-02-23 01:58:47 +01:00
49 changed files with 8795 additions and 565 deletions
-1
View File
@@ -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 \
-1
View File
@@ -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"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

+2 -2
View File
@@ -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>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

+14 -12
View File
@@ -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)
+4 -1
View File
@@ -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;
}
+3
View File
@@ -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;
+3
View File
@@ -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;
+1 -30
View File
@@ -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;
}
+16 -16
View File
@@ -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;
}
}
+1 -10
View File
@@ -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,
-15
View File
@@ -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);
+4 -57
View File
@@ -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);
}
-7
View File
@@ -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 |
+1
View File
@@ -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" },
+2 -1
View File
@@ -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);
}
+25 -7
View File
@@ -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)
+2
View File
@@ -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;
+1
View File
@@ -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>
+2 -2
View File
@@ -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;
}
+2
View File
@@ -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;
+13
View File
@@ -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)
{
+3
View File
@@ -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
+152
View File
@@ -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);
}
+2
View File
@@ -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 = []
+1 -2
View File
@@ -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);
}
+14 -4
View File
@@ -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);
+46 -21
View File
@@ -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;
+67 -4
View File
@@ -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);
+1
View File
@@ -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
+5 -2
View File
@@ -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
+1
View File
@@ -60,6 +60,7 @@ is
it
ja
ka
kab
kg
kk
km
+231 -182
View File
File diff suppressed because it is too large Load Diff
+138 -140
View File
@@ -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 dobtenir 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 na é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] "Lextension %s manque dans limplémentation EGL"
msgstr[1] "%2$d extensions manquent dans limplémentation EGL : %1$s"
#: gdk/gdkdisplay.c:1801
#: gdk/gdkdisplay.c:1810
msgid "libEGL not available in this sandbox"
msgstr "libEGL nest 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 laffichage EGL"
#: gdk/gdkdisplay.c:1821
#: gdk/gdkdisplay.c:1830
msgid "Could not initialize EGL display"
msgstr "Impossible dinitialiser laffichage 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 dEGL 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 "Lapplication ne prend pas en charge lAPI %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 dutilisation 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 dinformation"
#: 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 limprimante…"
#. * 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 dicô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 dimage"
#: 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 lagencement"
#: 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 daccessibilité"
#: 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 linspecteur"
@@ -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 limprimante « %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 limprimante"
#. 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 limprimante"
#. 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 à lheure"
@@ -7140,19 +7132,19 @@ msgstr "Imprimer à lheure"
#. * 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 dimprimante"
#. 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 dicô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"
+7974
View File
File diff suppressed because it is too large Load Diff
+45 -43
View File
@@ -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 "Dont 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