Christian Hergert [Sat, 12 Mar 2022 06:36:26 +0000 (22:36 -0800)]
macos: exclude popups from window list
This probably only matters if you do window list integration for the global
menu on macOS.
Christian Hergert [Sat, 12 Mar 2022 02:25:47 +0000 (18:25 -0800)]
macos: pass events to foreign windows
Christian Hergert [Sat, 12 Mar 2022 02:07:34 +0000 (18:07 -0800)]
macos: dont steal key window from NSPanel
Or we risk making it really difficult to use native file choosers.
Christian Hergert [Sat, 12 Mar 2022 02:01:05 +0000 (18:01 -0800)]
macos: fix window level for popups
This comment isn't really accurate anymore it seems, so we can start
setting the proper stacking order for popups now.
Christian Hergert [Sat, 12 Mar 2022 01:53:42 +0000 (17:53 -0800)]
macos: fix attachment of popups to parents
We had code to do it and it never actually got used correctly. This ensures
that the popup services are attached to the parents so that they get proper
stacking orders when displayed. Additionally, it fixes popups from being
shown as their own windows in Exposé.
Christian Hergert [Fri, 11 Mar 2022 01:26:56 +0000 (17:26 -0800)]
macos: fix window activation during shadow click-through
If we are clicking through the shadow of a window, we need to take special
care to not raise the old window on mouseUp. This is normally done by the
display server for us, so we need to use the proper API that is public to
handle this (rather than CGSSetWindowTags()). Doing so requires us to
dispatch the event to the NSView and then cancel the activcation from
the mouseDown: event there.
Christian Hergert [Fri, 11 Mar 2022 08:50:10 +0000 (00:50 -0800)]
macos: select new key window after processing events
If we closed a key window in response to events, we need to denote another
window as the new key window. This is easiest to do from an idle so that
we don't clobber notification pairs of "did resign"/"did become" key
window.
We have a sorted set of surfaces by display server stacking, so we can
take the first one we come across that is already mapped and re-show it
to become key/main.
Christian Hergert [Fri, 11 Mar 2022 07:16:38 +0000 (23:16 -0800)]
macos: request layout with server-side decoration
If we have server-side decorations we might need to request a layout in
response to the resize notification. We don't need to do this in other
cases because we already handle that in the process of doing the resize
(and that code is that way because of delayed delivery of NSNotification).
Christian Hergert [Fri, 11 Mar 2022 02:58:10 +0000 (18:58 -0800)]
macos: fix resize when using server-side decorations
If we are using NSWindow titled windows, we don't end up waking up the
frame clock when the window is resized on the display server. This ensures
that we do that after getting a notification of resize.
Christian Hergert [Fri, 11 Mar 2022 07:49:48 +0000 (23:49 -0800)]
macos: set main window in addition to key
If we are showing the window, we might also want to make it the main
window for the application when shown.
Christian Hergert [Thu, 10 Mar 2022 16:04:14 +0000 (08:04 -0800)]
macos: make transient-for key window when hiding surface
This only handled the popover case before and not the transient-for case.
Christian Hergert [Thu, 10 Mar 2022 11:21:12 +0000 (03:21 -0800)]
macos: actually drop unnecessary momentum events
These would get passed along to the NSApplication which we don't really
need to have happen. Denote it as such.
Christian Hergert [Thu, 10 Mar 2022 11:20:07 +0000 (03:20 -0800)]
macos: queue all pending events
Rather than process these a single event at a time, queue all of the
outstanding events from the NSEvent queue.
Christian Hergert [Wed, 9 Mar 2022 21:20:53 +0000 (13:20 -0800)]
macos: drop enter/exit when in manual drag/resize
If we are in a manual resize/drag then we don't want to generate crossing
events as they can just confuse things.
Christian Hergert [Wed, 9 Mar 2022 21:19:22 +0000 (13:19 -0800)]
macos: allow dropping NSEvent without propagation
There are cases we might want to consume a NSEvent without creating a
GdkEvent or passing it along to the NSApplication for processing. This
creates a new value we can use and check against to propagate that without
having to do out parameters at the slightly odd invalid pointer value for
a GdkEvent (similar to how MMAP_FAILED is done).
Christian Hergert [Mon, 7 Mar 2022 22:31:23 +0000 (14:31 -0800)]
macos: do not focus new window when resigning main
This can get in the way of how we track changes while events are actively
processing. Instead, we may want to delay this until the next main loop
idle and then check to see if we have a main window as the NSNotification
may have come in right after this.
Christian Hergert [Thu, 3 Mar 2022 04:32:19 +0000 (20:32 -0800)]
macos: fix cursor blink time
The value from settings is for the duration of the blink period, not the
timeout. This fixes the blink lasting longer than 10 seconds.
Christian Hergert [Thu, 3 Mar 2022 03:59:15 +0000 (19:59 -0800)]
macos: require input region to become key
Some things cannot become key windows (like tooltips). We can use the
input_region existence to determine if we should allow it as a key window.
Christian Hergert [Wed, 2 Mar 2022 09:04:53 +0000 (01:04 -0800)]
macos: clear window stack before requesting motion
We want to ensure that we recalculate the sort order of windows before
processing the motion. Generally this would be done in response from the
display server in GdkMacosWindow, but I've seen it possible to race there.
Christian Hergert [Wed, 2 Mar 2022 08:48:06 +0000 (00:48 -0800)]
macos: invalidate surface contents when mapping
Christian Hergert [Wed, 2 Mar 2022 08:47:27 +0000 (00:47 -0800)]
macos: move children when monitor changes
We can rely on other code to move monitors, but specifically with children
we want to try harder to move them as a group and keep positioning in tact.
Christian Hergert [Wed, 2 Mar 2022 08:45:44 +0000 (00:45 -0800)]
macos: make move_resize possibly idempotent
We need to handle the case where we might be racing against an incoming
configure event due to how notifications are queued from the display
server. Rather than calling configure (and possibly causing other things
to move around) this just queries the display server directly for the
coordinates that we care about.
Additionally, we can display:NO as we are in control of all the display
process now using CALayer.
Christian Hergert [Wed, 2 Mar 2022 08:43:33 +0000 (00:43 -0800)]
macos: handle transient-for from configure
We failed to handle the toplevel with transient-for case here which could
cause our X/Y calculations to be off in other areas such as best monitor
detection.
Christian Hergert [Wed, 2 Mar 2022 08:42:09 +0000 (00:42 -0800)]
macos: use parent frame clock again
We do actually need the parent frame clock here because it is the way we
ensure that we get layout called for our popup surfaces at the same time
as the parent surface.
Christian Hergert [Wed, 2 Mar 2022 08:40:21 +0000 (00:40 -0800)]
macos: reduce chances for layout cycles
We need to be more careful about when we request a layout because it can
cause us to get into a layout cycle at maximum frame rate.
Christian Hergert [Wed, 2 Mar 2022 08:38:39 +0000 (00:38 -0800)]
macos: improve initial placement of toplevels with parent
This doesn't appear to happen much, but if it does it is nice to setup
the window placement initially. Generally, transient-for is set after
the creation of the toplevel rather than here.
Christian Hergert [Wed, 2 Mar 2022 08:37:07 +0000 (00:37 -0800)]
macos: leave a note about monitor configuration
It can be helpful to see what the range of monitor values is when emulating
the GDK coordinate system.
Christian Hergert [Wed, 2 Mar 2022 08:36:17 +0000 (00:36 -0800)]
macos: use GdkMacosBuffer for storing damage region
The GdkMacosBuffer object already has storage for tracking the damage
region as it is used in GdkMacosCairoContext to manually copy regions from
the front buffer to the back buffer. This makes the GdkMacosGLContext also
use that field so that we can easily drop old damage regions when the
buffer is lost. This happens during resizes, monitor changes, etc.
Christian Hergert [Wed, 2 Mar 2022 08:34:27 +0000 (00:34 -0800)]
macos: add clamp helper to keep rectangle in workarea
This helper is useful to ensure we are consistent with how we keep a
window clamped to the workarea of a monitor when placing windows on
screen. (This does not affect snap-to-edges).
Christian Hergert [Wed, 2 Mar 2022 08:33:13 +0000 (00:33 -0800)]
macos: style cleanup
Christian Hergert [Wed, 2 Mar 2022 08:32:50 +0000 (00:32 -0800)]
macos: add re-entrancy check when monitors change
Christian Hergert [Mon, 28 Feb 2022 21:57:29 +0000 (13:57 -0800)]
macos: check for best_monitor before using
Make sure we have a monitor to enqueue/dequeue from before using it. That
also allows us to use this from destroy and what-not.
Christian Hergert [Mon, 28 Feb 2022 21:09:57 +0000 (13:09 -0800)]
macos: avoid size/origin changes when possible
If _gdk_macos_surface_move_resize() was called with various -1 parameters
we really want to avoid changing anything even if we think we know what
the value might be. Otherwise, we risk messing up in-flight operations that
we have not yet been notified of yet.
This improves the chances we place windows in an appropriate location as
they don't et screwed up before window-manager placement.
Christian Hergert [Mon, 28 Feb 2022 20:20:24 +0000 (12:20 -0800)]
macos: start application in foreground
We need to bring the application to the foreground in multiple ways, and
this call to [NSApp activateIgnoringOtherApps:YES] ensures that we become
foreground before the first window is opened. Otherwise we end up starting
applications in the background.
Fixes #4736
Christian Hergert [Mon, 28 Feb 2022 20:13:29 +0000 (12:13 -0800)]
macos: add GDK_NOTE when surface changes monitor
Christian Hergert [Mon, 28 Feb 2022 19:50:21 +0000 (11:50 -0800)]
macos: add GDK_NOTE for surface sizing and placement
This can be useful to debug sizing issues with the surface as well as the
"window manager" placement code.
Christian Hergert [Mon, 28 Feb 2022 19:20:48 +0000 (11:20 -0800)]
macos: leave note about monitor discovery
Christian Hergert [Mon, 28 Feb 2022 19:29:24 +0000 (11:29 -0800)]
macos: external access to display name helpers
These can be handy to print debug information when we don't have a
GdkMacosMonitor to work with.
Christian Hergert [Mon, 28 Feb 2022 10:10:30 +0000 (02:10 -0800)]
macos: fix redisplay of GdkPopup
This broke recently during the configure cleanups and also needed to have
the tail directions fixed again.
Christian Hergert [Mon, 28 Feb 2022 09:42:48 +0000 (01:42 -0800)]
macos: fix cairo renderer with double buffering
If we are double buffering surfaces with IOSurface then we need to copy
the area that was damaged in the previous frame to the back buffer. This
can be done with IOSurface but we need to hold the read-only lock so that
we don't cause the underlying IOSurface contents to be invalidated.
Additionally, since this is only used in the context of rendering to a
GdkMacosSurface, we know the life-time of the cairo_surface_t and can
simply lock/unlock the IOSurface buffer from begin_frame/end_frame to have
the buffer flushing semantics we want.
To ensure that we don't over damage, we store the damage in begin_frame
(and copy it) and then subtract it from the next frames damage to determine
the smallest amount we need to copy (taking scale factor into account).
We don't care to modify the damage region to swapBuffers because they
already have the right contents and could potentially fall into another
tile anyway and we'd like to avoid damaging that.
Fixes #4735
Christian Hergert [Mon, 28 Feb 2022 09:29:22 +0000 (01:29 -0800)]
macos: add readonly IOSurfaceLock helper
This can be used to lock a surface for reading to avoid causing the
surface contents to be invalidated. This is needed when reading back from
a front-buffer to the back-buffer as is needed when using Cairo surfaces
to implement something similar to BufferAge.
Christian Hergert [Mon, 28 Feb 2022 08:42:47 +0000 (00:42 -0800)]
macos: short-circuit on NSEventPhaseMayBegin
We only need to send a single event in this case, so just short-circuit
instead of trying to return an additional event.
Christian Hergert [Mon, 28 Feb 2022 07:31:28 +0000 (23:31 -0800)]
macos: support mix-rate monitors
Previously, a single CVDisplayLink was used to drive updates for all
surfaces across all monitors. It used a 'best guess' rate which would
allow for updates across monitors of mixed rates. This is undesirable for
situations where you might have a 144hz monitor as it does not allow for
reaching up to that frame rate.
Instead, we want to use a per-monitor CVDisplayLink which will fire at the
rate of the monitor down to the level of updates we require. This commit
does just that.
When a surface crosses onto a new monitor, that monitor is used to drive
the GdkFrameClock.
Fixes #4732
Christian Hergert [Mon, 28 Feb 2022 07:17:40 +0000 (23:17 -0800)]
macos: use video mode for refresh rate and interval
Using the mode allows better detection of refresh rate and refresh
interval for the CVDisplayLink bridge to GdkFrameClock. Using it can help
ensure that our 144hz displays can actually reach that rather than falling
back to just 60hz.
This will also need future commits to rework the displaylink source to be
per-monitor.
Christian Hergert [Sat, 26 Feb 2022 21:31:18 +0000 (13:31 -0800)]
macos: send stop event when fingers touch
When the fingers are placed on the touchpad, we get a scroll event with
the phase NSEventPhaseMayBegin. We can use this to synthesize an is_stop
event. This results in the scrolledwindow stopping scroll with stop
gestures.
This can cause another warning as well, however, which should be addressed
from #4730.
Fixes #4733
Christian Hergert [Sat, 26 Feb 2022 07:22:05 +0000 (23:22 -0800)]
macos: remove emulated scroll events
We don't appear to actually need the emulated scroll events and they get
in the way of proper scrolling with the touchpad.
Fixes #4734
Christian Hergert [Fri, 25 Feb 2022 22:02:06 +0000 (14:02 -0800)]
macos: do not inherit parents frame clock
Windows can end up on different monitors despite having a parent or
transient-for ancestor. We want them to be driven by the CVDisplayLink
for the best-monitor, and so this needs to be unshared.
Christian Hergert [Fri, 25 Feb 2022 21:52:08 +0000 (13:52 -0800)]
macos: calculate best monitor when changing screens
When we change screens, we can keep track of the best monitor so that we
can use it to register CVDisplayLink callbacks.
Christian Hergert [Fri, 25 Feb 2022 21:14:22 +0000 (13:14 -0800)]
macos: remove duplicated opaque_region field
This can be relied upon from GdkSurface and we do not need to keep a copy
of it. Just remove it and use the GdkSurface.opaque_region field.
Christian Hergert [Fri, 25 Feb 2022 21:09:31 +0000 (13:09 -0800)]
macos: use display id when creating CVDisplayLink
Currently we're using a display link that is for all active displays which
is just the display server trying to find some timings that try to overlap
as many as possible.
That was fine for a prototype, but we really need to do better for
situations with mixed frame rate (such as 60hz and 120hz promotion
displays). Additionally, the 144hz external monitor I have will never
reach 144hz using the current design.
This is just the first step in changing this, but the goal is to have
one of these attached to each GdkMacosMonitor which we can then use to
thaw surfaces specific to that monitor.
Christian Hergert [Fri, 25 Feb 2022 20:30:08 +0000 (12:30 -0800)]
macos: move feedback mechanisms into separate file
We will eventually be needing additional feedback from the display server
which would be nice to keep away from the rest of GdkMacosDisplay for
cleanliness sake. Particularly for feedback from mission control and other
environment factors that requires private API for proper integration.
Christian Hergert [Fri, 25 Feb 2022 07:27:09 +0000 (23:27 -0800)]
macos: fix origin during live resize of titled window
When using server-side-decorations, we need to avoid potential cycles with
compute-size as it may not have the new sizing information yet. We can
just short circuit during "live resize" to get that effect.
Fixes poor window resizing from top-left on titled windows.
Christian Hergert [Fri, 25 Feb 2022 06:31:42 +0000 (22:31 -0800)]
macos: restore unfullscreen frame with style mask
This doesn't give us appropriate results if we use the window delegate.
Instead, we need to adjust the frame at the same time we change the
style mask so that we end up in the same location.
Christian Hergert [Fri, 25 Feb 2022 02:55:42 +0000 (18:55 -0800)]
macos: fix kinetic scrolling with overshoot
Previously we had issues on macos where the overshoot would keep showing.
To fix this we need to actually use discrete events instead of the
generated deltas from macOS in the scroll wheel case. Additionally, we need
to drop the kinetic momentum events from macOS and rely on the gtk kinetic
events which are already happening anyway. We also need to submit the
is_stop event for the GDK_SCROLL_SMOOTH case when we detect it.
To keep the discrete scroll events correct, we need to alter the hack in
gtkscrolledwindow.c to use the same path as other platforms except for
when a smooth scroll event is in place. In the future, I would imagine that
this falls into the boundary of high-precision scrolling and would share
the same code paths as other platforms.
With all of these in place, kinetic scrolling with overshoot appears the
same on macOS as other platforms.
Christian Hergert [Fri, 25 Feb 2022 00:44:22 +0000 (16:44 -0800)]
macos: remove unused code
Christian Hergert [Fri, 25 Feb 2022 00:43:14 +0000 (16:43 -0800)]
macos: create new windows with slight origin offset
When creating new windows, it is better if we create them with a slight
offset to where they were created before so that they are visible to the
user separately from what they might be overshadowing.
Matthias Clasen [Mon, 14 Mar 2022 19:40:12 +0000 (15:40 -0400)]
gtk-builder-tool: Operate without display
The simplify and validate commands can function
without a display connection, only preview absolutely
needs one. Allow this, by using gtk_init_check().
Matthias Clasen [Mon, 14 Mar 2022 12:44:09 +0000 (08:44 -0400)]
build: Avoid objcopy on arm
The trickery we do with objcopy and ld to speed up
resource inclusion does not seem to work right on
32bit Arm, so just skip it there.
Fixes: #4757, #4748, #4752
Matthias Clasen [Tue, 15 Mar 2022 14:35:09 +0000 (14:35 +0000)]
Apply 1 suggestion(s) to 1 file(s)
Fina Wilke [Mon, 14 Mar 2022 21:33:35 +0000 (22:33 +0100)]
gtkplacessidebar: Prevent calling g_object_unref on null
g_object_unref would be called on a null end_icon when provider_account_status
is CLOUD_PROVIDERS_ACCOUNT_STATUS_IDLE
Ting-Wei Lan [Sun, 13 Mar 2022 07:14:12 +0000 (15:14 +0800)]
build: Don't use ld and objcopy when cross-compiling
These commands don't work when compiling Windows binaries on Linux.
Caolán McNamara [Wed, 9 Mar 2022 12:27:32 +0000 (12:27 +0000)]
fix docs for gtk_accessible_update_relation example
Sebastien Bacher [Mon, 7 Mar 2022 15:13:38 +0000 (16:13 +0100)]
Use the correct name for installed gdk tests
Matthias Clasen [Sat, 5 Mar 2022 05:18:06 +0000 (22:18 -0700)]
Fix a documentation typo
It is XDG_DATA_HOME.
Fixes: #4747
Matthias Clasen [Fri, 4 Mar 2022 05:39:02 +0000 (22:39 -0700)]
Fix up preconditions of gsk_gl_shader_node_new
These were not quite right, and implied that args
may be NULL, when it really can't.
Fixes: #4739
Emmanuel Gil Peyrot [Thu, 3 Mar 2022 14:36:57 +0000 (14:36 +0000)]
gdk: Add a rgb8 → rgba8 conversion macro
This one can be used for both premultiplied and non-premultiplied alpha
formats, since alpha is always 255. It is useful for opaque PNG upload
on both cairo and GL renderers.
Emmanuel Gil Peyrot [Thu, 3 Mar 2022 14:34:29 +0000 (14:34 +0000)]
gdk: Make the optimized premultiply function a macro
That way, all permutations are possible. Previously it was only useful
in the cairo renderer, which required rgba8 → premultiplied bgra8, while
the GL renderer required rgba8 → premultiplied rgba8. Now both are
available.
Emmanuel Gil Peyrot [Thu, 3 Mar 2022 14:12:06 +0000 (14:12 +0000)]
gdk: Remove pixel format conversion ARM intrinsics
This was only useful when building for AArch32 without -mfpu=neon, on
AArch64 or with -mfpu=neon gcc is smart enough to do the auto-
vectorisation, leading to code almost as good as what I wrote in
1fdf5b7cf8fec2d94389ecad5ec28865f8dcfd99.
Christian Hergert [Thu, 3 Mar 2022 06:59:23 +0000 (22:59 -0800)]
gdk: use EGL_KHR_swap_buffers_with_damage
It appears that NVIDIA does not implement EGL_EXT_swap_buffers_with_damage
on their EGL implementation, but does implement the KHR variant of it.
This checks for a suitable implementation and stores a pointer to the
compatible implementation within the GdkGLContextPrivate struct.
Bilal Elmoussaoui [Thu, 3 Mar 2022 08:36:33 +0000 (08:36 +0000)]
headerbar: Fix docs
Matthias Clasen [Mon, 7 Mar 2022 18:33:45 +0000 (11:33 -0700)]
text: Stop blinking when we lose focus
We were looking at GtkWidget:has-focus from
event controller signal handlers here, but
the widget property is only changed after
the event controllers.
Matthias Clasen [Mon, 7 Mar 2022 18:32:22 +0000 (11:32 -0700)]
focus controller: Update for active window
When the window gains or looses active status,
update the focus controllers status.
Matthias Clasen [Mon, 7 Mar 2022 18:35:09 +0000 (11:35 -0700)]
window: Update has-focus property
Update the :has-focus property of the focus
widget when the active status of the window
changes.
We change the property after generating the
GDK_CROSSING_ACTIVE crossing events.
Carlos Garnacho [Mon, 28 Feb 2022 19:27:43 +0000 (20:27 +0100)]
gtkscrolledwindow: Do not try to doubly trigger deceleration
This may come from different sources at around the same time, e.g.
a hold gesture while on overshoot. Avoid doing that if an
animation is already set.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4730
Rico Tzschichholz [Sat, 26 Feb 2022 21:05:20 +0000 (22:05 +0100)]
gdk: Add missing out annotation on gdk_content_deserialize_finish
Benjamin Otte [Sat, 26 Feb 2022 02:04:53 +0000 (03:04 +0100)]
listview: Fix return_if_fail()s
Benjamin Otte [Sat, 26 Feb 2022 03:36:24 +0000 (04:36 +0100)]
flattenlistmodel: Fix indentation
Benjamin Otte [Fri, 25 Feb 2022 02:40:57 +0000 (03:40 +0100)]
renderers: Handle large viewports
When large viewports are passed to gsk_renderer_render_texture(), don't
fail (or even return NULL).
Instead, draw multiple tiles and assemble them into a memory texture.
Tests added to the testsuite for this.
Christoph Reiter [Sat, 26 Feb 2022 15:32:15 +0000 (16:32 +0100)]
CI: disable debug for MSVC
CI currently fails with "fatal error LNK1318: Unexpected PDB error; OK (0) ''"
Google tells me it might be related to hitting a memory limit. Let's try
disabling debug for now.
Luca Bacci [Fri, 25 Feb 2022 15:53:12 +0000 (16:53 +0100)]
Fix last error reporting when calling GetClipboardOwner
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/1402
Matej Urbančič [Tue, 15 Mar 2022 21:27:06 +0000 (21:27 +0000)]
Update Slovenian translation
Kjartan Maraas [Tue, 15 Mar 2022 15:26:33 +0000 (15:26 +0000)]
Update Norwegian Bokmål translation
Мирослав Николић [Tue, 15 Mar 2022 06:33:22 +0000 (06:33 +0000)]
Update Serbian translation
Christian Kirbach [Sun, 13 Mar 2022 22:08:50 +0000 (22:08 +0000)]
Update German translation
Balázs Úr [Sun, 13 Mar 2022 00:25:05 +0000 (00:25 +0000)]
Update Hungarian translation
Baurzhan Muftakhidinov [Sat, 12 Mar 2022 16:34:02 +0000 (16:34 +0000)]
Update Kazakh translation
Baurzhan Muftakhidinov [Sat, 12 Mar 2022 13:23:19 +0000 (13:23 +0000)]
Update Kazakh translation
Anders Jonsson [Sat, 12 Mar 2022 11:39:05 +0000 (11:39 +0000)]
Update Swedish translation
Dušan Kazik [Fri, 11 Mar 2022 07:43:53 +0000 (07:43 +0000)]
Update Slovak translation
Balázs Úr [Fri, 11 Mar 2022 01:08:54 +0000 (01:08 +0000)]
Update Hungarian translation
Yosef Or Boczko [Thu, 10 Mar 2022 18:42:34 +0000 (18:42 +0000)]
Update Hebrew translation
Jiri Grönroos [Wed, 9 Mar 2022 19:03:37 +0000 (19:03 +0000)]
Update Finnish translation
Marek Černocký [Wed, 9 Mar 2022 18:07:33 +0000 (19:07 +0100)]
Fixed Czech translation
Anders Jonsson [Wed, 9 Mar 2022 10:49:50 +0000 (10:49 +0000)]
Update Swedish translation
Danial Behzadi [Tue, 8 Mar 2022 15:00:39 +0000 (15:00 +0000)]
Update Persian translation
Ask Hjorth Larsen [Tue, 8 Mar 2022 00:21:58 +0000 (01:21 +0100)]
Updated Danish translation of gtk-properties
Ask Hjorth Larsen [Tue, 8 Mar 2022 00:21:58 +0000 (01:21 +0100)]
Updated Danish translation
Aurimas Černius [Mon, 7 Mar 2022 16:29:36 +0000 (18:29 +0200)]
Updated Lithuanian translation
Luna Jernberg [Mon, 7 Mar 2022 08:09:32 +0000 (08:09 +0000)]
Update Swedish translation
Luming Zh [Sat, 5 Mar 2022 23:45:12 +0000 (23:45 +0000)]
Update Chinese (China) translation