Matthias Clasen [Fri, 3 Feb 2023 09:00:03 +0000 (10:00 +0100)]
placessidebar: Make all rows ellipsize
Otherwise, we end up with a single long row
pushing the content of all the other rows
off to the left, which is much worse than
ellipsizing.
Fixes: #4710
Matthias Clasen [Fri, 3 Feb 2023 08:26:50 +0000 (09:26 +0100)]
NEWS: Updates
Benjamin Otte [Thu, 2 Feb 2023 21:56:32 +0000 (21:56 +0000)]
Merge branch 'wip/otte/gl-is-current' into 'main'
gdk: Add private GLContext::is_current() check
Closes #5392
See merge request GNOME/gtk!5463
Matthias Clasen [Thu, 2 Feb 2023 17:36:44 +0000 (17:36 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Matthiasc/for main
See merge request GNOME/gtk!5467
Matthias Clasen [Thu, 2 Feb 2023 16:11:38 +0000 (17:11 +0100)]
textbtree: Fix a compiler warning
Matthias Clasen [Thu, 2 Feb 2023 16:10:09 +0000 (17:10 +0100)]
gsk: Fix a compiler warning
Matthias Clasen [Thu, 2 Feb 2023 14:12:23 +0000 (14:12 +0000)]
Merge branch 'monitor-description' into 'main'
Add GdkMonitor::description
See merge request GNOME/gtk!5466
Matthias Clasen [Thu, 2 Feb 2023 14:11:58 +0000 (14:11 +0000)]
Merge branch 'wip/carlosg/deprecations' into 'main'
Some deprecations and cleanups
See merge request GNOME/gtk!5465
Carlos Garnacho [Thu, 2 Feb 2023 11:10:56 +0000 (12:10 +0100)]
gdk/wayland: Deprecate GdkDisplay windowing-specific for startup IDs
This is currently just used as a convenience storage of the startup ID
between the GtkApplication and the GtkWindow (after it's ready to notify
on it).
This could be untangled in the GTK layers so there is no involvement
from GDK in keeping the startup ID around, in the mean time just deprecate
these gdk_wayland* API calls.
Carlos Garnacho [Thu, 2 Feb 2023 10:57:06 +0000 (11:57 +0100)]
gtkmodelbutton: Avoid gtk_gesture_set_sequence_state()
It is not necessary for this widget to know about the specific
sequence that is interacting.
Carlos Garnacho [Thu, 2 Feb 2023 10:54:36 +0000 (11:54 +0100)]
gtktextview: Avoid gtk_gesture_set_sequence_state()
Use gtk_gesture_set_state() as this widget does not need specific
knowledge on the sequence being used for interaction.
Carlos Garnacho [Thu, 2 Feb 2023 10:15:24 +0000 (11:15 +0100)]
gtkscrolledwindow: Clean up input handling a bit
These pieces were added in commit
8d2f81cca4, but are no longer
necessary since there's no capture_button_press special behavior
toggle.
This can be simplified again.
Matthias Clasen [Thu, 2 Feb 2023 11:32:05 +0000 (12:32 +0100)]
inspector: Show monitor descriptions
Matthias Clasen [Thu, 2 Feb 2023 11:31:38 +0000 (12:31 +0100)]
wayland: Set up monitor descriptions
We get this information in the xdg_output protocol.
Matthias Clasen [Thu, 2 Feb 2023 11:30:46 +0000 (12:30 +0100)]
Add GdkMonitor::description
This is the right string to when showing
monitors in the UI.
Matthias Clasen [Thu, 2 Feb 2023 11:14:49 +0000 (12:14 +0100)]
monitor: Document connector names better
Carlos Garnacho [Thu, 2 Feb 2023 09:51:08 +0000 (10:51 +0100)]
gtkwindowhandle: Refactor click handling a bit
Do not get a GdkEvent first and foremost, and only do that in the
parts where the GdkEvent is absolutely necessary (i.e. popping up
the WM menu for the window).
Carlos Garnacho [Thu, 2 Feb 2023 09:36:06 +0000 (10:36 +0100)]
gtkgesture: Deprecate gtk_gesture_set_sequence_state()
We can abstract widgets about the specific ongoing sequences that
are triggering a GtkGesture. This used to be more necessary in
GTK3 world where complex widgets might have required handling
different events in different areas, but in GTK4 world that would
be done with multiple widgets.
This is no longer necessary to carry forward.
Carlos Garnacho [Thu, 2 Feb 2023 09:35:15 +0000 (10:35 +0100)]
gtkscrolledwindow: Avoid gtk_gesture_set_sequence_state()
This widget does not require special knowledge about the ongoing
event sequences, just make it use gtk_gesture_set_state() generically.
Carlos Garnacho [Thu, 2 Feb 2023 09:32:56 +0000 (10:32 +0100)]
gtkwindowhandle: Avoid gtk_gesture_set_sequence_state()
It does not require special knowledge about the ongoing event
sequences, and it can instead trust the event controller. Make
it use gtk_gesture_set_state() generically.
Matthias Clasen [Thu, 2 Feb 2023 09:16:09 +0000 (09:16 +0000)]
Merge branch 'small-gltexture-cleanup' into 'main'
gltexture: Small refactoring
See merge request GNOME/gtk!5464
Matthias Clasen [Mon, 30 Jan 2023 13:24:02 +0000 (08:24 -0500)]
gltexture: Small refactoring
We do this in two places, so factor out
the dropping of GL resources into a helper.
Matthias Clasen [Thu, 2 Feb 2023 08:07:10 +0000 (09:07 +0100)]
ci: Stop running the asan build every time
It fails because of address sanitizer crashes,
and takes a long time. It is not that useful
in this shape.
Matthias Clasen [Thu, 2 Feb 2023 08:05:31 +0000 (09:05 +0100)]
Update po/POTFILES.in
Deprecations affect this file.
Matthias Clasen [Thu, 2 Feb 2023 08:03:26 +0000 (09:03 +0100)]
Fix a deprecation warning
Matthias Clasen [Thu, 2 Feb 2023 07:44:53 +0000 (08:44 +0100)]
main: Compiler warnin gfixes
Matthias Clasen [Thu, 2 Feb 2023 07:44:28 +0000 (08:44 +0100)]
icontheme: Compiler warning fixes
Matthias Clasen [Thu, 2 Feb 2023 07:28:13 +0000 (08:28 +0100)]
Deprecate GtkAssistant
It is a dialog-like toplevel, and libadwaita has
replacement parts (like AdwCarousel).
Matthias Clasen [Wed, 1 Feb 2023 17:18:28 +0000 (18:18 +0100)]
Deprecate GtkLockButton
This is a very specialized widget, and should really just
live with the applications where it is used.
Matthias Clasen [Wed, 1 Feb 2023 17:03:59 +0000 (18:03 +0100)]
Deprecate GtkStatusbar
The design patterns using statusbar are no longer popular,
and it is pretty easy to make a statusbar yourself with boxes
and labels, if you need one. The only thing special about
GtkStatusbar was its window resize handle, but that has
been gone for a long time.
Matthias Clasen [Wed, 1 Feb 2023 16:58:43 +0000 (17:58 +0100)]
Deprecate more startup-notification API
Benjamin Otte [Thu, 2 Feb 2023 01:49:56 +0000 (02:49 +0100)]
gdk: Add private GLContext::is_current() check
... and use this check in gdk_gl_context_make_current() and
gdk_gl_context_get_current() to make sure the context really is still
current.
The context no longer being current can happen when external GL
implementations make their own contexts current in the same threads GDK
contexts are used in.
And that can happen for example by WebKit.
Theoretically, this should also allow external EGL code to run in X11
applications when GDK chooses to use GLX, but I didn't try it.
Fixes #5392
Benjamin Otte [Thu, 2 Feb 2023 03:23:16 +0000 (04:23 +0100)]
win32: Remove unused variable
Fran Dieguez [Wed, 1 Feb 2023 19:12:29 +0000 (19:12 +0000)]
Update Galician translation
Benjamin Otte [Wed, 1 Feb 2023 18:47:28 +0000 (18:47 +0000)]
Merge branch 'fix-gltexture-confusion' into 'main'
gltexture: Use the right context
See merge request GNOME/gtk!5461
Matthias Clasen [Wed, 1 Feb 2023 17:38:22 +0000 (18:38 +0100)]
Cosmetics
Daniel Mustieles [Wed, 1 Feb 2023 15:28:00 +0000 (15:28 +0000)]
Update Spanish translation
Matthias Clasen [Tue, 31 Jan 2023 12:23:59 +0000 (07:23 -0500)]
gltexture: Use the right context
When checking characteristics of the context
for downloading, we were using self->context,
even though we are using a possibly different
context for downloading.
Pass the right context along and use it.
Kukuh Syafaat [Wed, 1 Feb 2023 03:14:46 +0000 (03:14 +0000)]
Update Indonesian translation
Matthias Clasen [Tue, 31 Jan 2023 12:28:27 +0000 (12:28 +0000)]
Merge branch 'fix-gst-sync' into 'main'
gst: Fix synchronization
See merge request GNOME/gtk!5459
Matthias Clasen [Mon, 30 Jan 2023 20:00:53 +0000 (15:00 -0500)]
gst: Rename a field for clarity
gst_gdk_context is clearer than gst_app_context. Maybe
Matthias Clasen [Mon, 30 Jan 2023 19:28:24 +0000 (19:28 +0000)]
Merge branch 'file-chooser-dnd-crash' into 'main'
filechooserwidget: Fix file chooser crash when dropping empty file list
See merge request GNOME/gtk!5456
Fina Wilke [Mon, 30 Jan 2023 19:28:24 +0000 (19:28 +0000)]
filechooserwidget: Fix file chooser crash when dropping empty file list
Matthias Clasen [Mon, 30 Jan 2023 16:56:50 +0000 (11:56 -0500)]
gst: Fix synchronization
It does not make sense to sync and wait in the
same context, that is just a no-op. The intention
of this code clearly was to sync in the gst
context, and wait in the gdk one.
That also matches what the gtk sink implementation
in gstreamer does.
Matthias Clasen [Mon, 30 Jan 2023 12:29:33 +0000 (12:29 +0000)]
Merge branch 'password-entry-unrealize' into 'main'
passwordentry: Fix an asymmetry
Closes #5285
See merge request GNOME/gtk!5457
Matthias Clasen [Mon, 30 Jan 2023 03:37:51 +0000 (22:37 -0500)]
passwordentry: Fix an asymmetry
When connecting a signal in realize,
we should disconnect in unrealize.
Fixes: #5285
Matthias Clasen [Sun, 29 Jan 2023 02:13:10 +0000 (21:13 -0500)]
gsk: Quiet a compiler warning
Jürgen Benvenuti [Sat, 28 Jan 2023 19:59:19 +0000 (19:59 +0000)]
Update German translation
Benjamin Otte [Sat, 28 Jan 2023 18:26:00 +0000 (18:26 +0000)]
Merge branch 'tooltip-size-simplification' into 'main'
tooltip: Don't play games with max-width-chars
Closes #4470 and #5521
See merge request GNOME/gtk!5455
Matthias Clasen [Sat, 28 Jan 2023 15:32:19 +0000 (10:32 -0500)]
tooltip: Prevent too-wide tooltip windows
Set the label to expand, so it actually fills
the width that we allocated for it, instead
of shrinking back to the minimum width for
its height.
Fixes: #5521
Matthias Clasen [Sat, 28 Jan 2023 18:04:01 +0000 (13:04 -0500)]
tooltip: Don't play games with max-width-chars
Setting max-width-chars to the number of characters
in the string works ok only as long as the average
char width we get from Pango matches reality. Sadly
that seems not always the case, and this code was
causing short Chinese tooltips to always be broken
into two lines.
Fixes: #4470
Piotr Drąg [Sat, 28 Jan 2023 13:05:01 +0000 (14:05 +0100)]
Update POTFILES.in
Matthias Clasen [Sat, 28 Jan 2023 03:24:19 +0000 (03:24 +0000)]
Merge branch 'position-as-double' into 'main'
Boyscouting: fix position type in `gtk_drag_source_drag_begin()`
See merge request GNOME/gtk!5437
Carlos Garnacho [Sat, 28 Jan 2023 00:44:25 +0000 (00:44 +0000)]
Merge branch 'work/zzag/activation-token-dbus' into 'main'
wayland: Fix handling of activation-token in org.freedesktop.Application requests
See merge request GNOME/gtk!5151
Yuri Chornoivan [Fri, 27 Jan 2023 19:23:39 +0000 (19:23 +0000)]
Update Ukrainian translation
Vlad Zahorodnii [Thu, 20 Oct 2022 16:33:15 +0000 (19:33 +0300)]
wayland: Fix handling of activation-token in org.freedesktop.Application requests
At the moment, GTK applications search for "desktop-startup-id" in the
platform data on Wayland , but desktop environments such as plasma set
"activation-token" property instead as indicated in the spec:
activation-token: This should be a string of the same value as would
be stored in the XDG_ACTIVATION_TOKEN environment variable, as specified
by the XDG Activation protocol for Wayland.
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#dbus
Carlos Garnacho [Fri, 27 Jan 2023 19:20:28 +0000 (19:20 +0000)]
Merge branch 'wip/carlosg/broadway-fix' into 'main'
gdk/broadway: Add deprecation guards around gdk_display_put_event()
See merge request GNOME/gtk!5450
Carlos Garnacho [Fri, 27 Jan 2023 18:39:53 +0000 (19:39 +0100)]
gdk/broadway: Add deprecation guards around gdk_display_put_event()
This went missing.
Matthias Clasen [Fri, 27 Jan 2023 16:22:17 +0000 (16:22 +0000)]
Merge branch 'fix_5551' into 'main'
object_tree.c: One gtk_list_item_get_child call is redundant
Closes #5551
See merge request GNOME/gtk!5449
Matthias Clasen [Fri, 27 Jan 2023 14:54:33 +0000 (14:54 +0000)]
Merge branch 'wip/sophie-h/scrolled-window-propagate-event' into 'main'
scrolledWindow: Propagate event for no scrolling
See merge request GNOME/gtk!5447
Lukáš Tyrychtr [Fri, 27 Jan 2023 14:43:24 +0000 (15:43 +0100)]
object_tree.c: One gtk_list_item_get_child call is redundant
Fixes #5551
Hugo Carvalho [Fri, 27 Jan 2023 14:26:32 +0000 (14:26 +0000)]
Update Portuguese translation
Sophie Herold [Wed, 25 Jan 2023 21:26:07 +0000 (22:26 +0100)]
scrolledWindow: Propagate event for no scrolling
Matthias Clasen [Thu, 26 Jan 2023 02:44:54 +0000 (02:44 +0000)]
Merge branch 'broadway-modal-hint' into 'main'
[GTK4] gdk/broadway: Implements modal hint for Broadway surface
See merge request GNOME/gtk!4428
Matthias Clasen [Wed, 25 Jan 2023 13:08:07 +0000 (13:08 +0000)]
Merge branch 'fix_5543' into 'main'
GtkCssProvider: fix element type in docs
Closes #5543
See merge request GNOME/gtk!5441
Lukáš Tyrychtr [Wed, 25 Jan 2023 10:46:53 +0000 (11:46 +0100)]
Actually, the annotation is not needed in this case
Yosef Or Boczko [Wed, 25 Jan 2023 08:15:09 +0000 (08:15 +0000)]
Update Hebrew translation
Matthias Clasen [Tue, 24 Jan 2023 16:37:23 +0000 (16:37 +0000)]
Merge branch 'macos-fix-popups' into 'main'
macos: Fix popup event handling
Closes #5528
See merge request GNOME/gtk!5436
Matthias Clasen [Tue, 24 Jan 2023 16:08:57 +0000 (16:08 +0000)]
Merge branch 'wip/abono/gtk-switch-state-off' into 'main'
gtkswitch: Allow to set state FALSE while keeping active TRUE
See merge request GNOME/gtk!5442
Alessandro Bono [Mon, 23 Jan 2023 15:03:45 +0000 (16:03 +0100)]
gtkswitch: Decouple set_state with set_active.
Allow the user to set a state that doesn't reflect the active property.
Arjan Molenaar [Mon, 23 Jan 2023 20:45:59 +0000 (21:45 +0100)]
macos: Propagate events for child surfaces
Before, popup windows did not respond to mouse clicks.
This change fixes that.
Fixes #5528.
Maxim Zakharov [Tue, 24 Jan 2023 00:41:27 +0000 (11:41 +1100)]
remove unused variable
Matthias Clasen [Mon, 23 Jan 2023 22:01:30 +0000 (22:01 +0000)]
Merge branch 'macos-native-dnd' into 'main'
macos: DnD Drag support
Closes #3423
See merge request GNOME/gtk!5416
Emmanuele Bassi [Mon, 23 Jan 2023 11:50:28 +0000 (11:50 +0000)]
Use wording from a suggestion
Lukáš Tyrychtr [Mon, 23 Jan 2023 09:56:57 +0000 (10:56 +0100)]
GtkCssProvider: fix element type in docs
The method takes an array of char, which actually is UTF-8, so make the docs say so.
Fixes #5543
Matthias Clasen [Sun, 22 Jan 2023 18:36:11 +0000 (18:36 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
iconhelper: Handle GtkSymbolicPaintable
See merge request GNOME/gtk!5440
Matthias Clasen [Sun, 22 Jan 2023 18:17:11 +0000 (13:17 -0500)]
iconhelper: Handle GtkSymbolicPaintable
If we are given a GtkSymbolicPaintable,
treat it as symbolic.
Jordi Mas [Sat, 21 Jan 2023 15:58:51 +0000 (16:58 +0100)]
Update Catalan translation
Arjan Molenaar [Sat, 21 Jan 2023 14:22:13 +0000 (15:22 +0100)]
macos: remove dead code
Arjan Molenaar [Sat, 21 Jan 2023 13:54:12 +0000 (14:54 +0100)]
macos: Send dragging events directly to the display
Instead of adding events to the application event queue, dispatch
them directly to the right display. We know this when the event is
to be dispatched.
This is the same as used for the `sendEvent` method in `GdkMacosWindow`.
To achieve this I factored out the generic NSEvent to GdkEvent translation.
We can send an event directly, when we receive it in the GdkMacosWindow
directly from the OS.
Ekaterine Papava [Fri, 20 Jan 2023 16:04:31 +0000 (16:04 +0000)]
Update Georgian translation
Matthias Clasen [Tue, 17 Jan 2023 21:37:39 +0000 (21:37 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Cosmetics
See merge request GNOME/gtk!5434
Matthias Clasen [Tue, 17 Jan 2023 20:19:50 +0000 (15:19 -0500)]
settings: Modernize the code
Drop some things that are no longer relevant,
and make this code look like modern GObject code.
Arjan Molenaar [Tue, 17 Jan 2023 15:24:47 +0000 (16:24 +0100)]
macos: Update event source doc
Update the documentation with the interaction pattern we
need to support DnD.
Arjan Molenaar [Tue, 17 Jan 2023 15:12:57 +0000 (16:12 +0100)]
macos: align functions in gdkmacosdrag-private.h
Matthias Clasen [Tue, 17 Jan 2023 13:30:37 +0000 (08:30 -0500)]
settings: Drop object_list
This code came from a time when we were installing
additional settings at runtime. We no longer do that,
so this code is unnecessary.
Matthias Clasen [Tue, 17 Jan 2023 12:46:57 +0000 (07:46 -0500)]
modules: Cosmetics
Use g_strv_length, instead of open-coding it.
Matthias Clasen [Tue, 17 Jan 2023 12:39:51 +0000 (07:39 -0500)]
stylecascade: Avoid some allocations
Arjan Molenaar [Mon, 16 Jan 2023 22:15:46 +0000 (23:15 +0100)]
macos: Provide the right drag action
We should use the drag action/operation provided by the
drag handlers, not rely on our internal bookkeeping.
Arjan Molenaar [Mon, 16 Jan 2023 19:28:38 +0000 (20:28 +0100)]
macos: Default kCFRunLoopAllActivities
It's actually a mask, but we'll keep it in to
avoid compiler warnings.
Matthias Clasen [Mon, 16 Jan 2023 14:32:01 +0000 (14:32 +0000)]
Merge branch 'fix-hidpi-pictures' into 'main'
picture: Fix hi-dpi image handling
See merge request GNOME/gtk!5430
Matthias Clasen [Sun, 15 Jan 2023 12:59:27 +0000 (07:59 -0500)]
picture: Fix hi-dpi image handling
The idea behind this code was to let scalable
images (i.e. mainly SVGs) provide twice as much
detail when the scale is 2. But we were also
using a scaler for pngs, causing them to be too
small on a hidpi screen. Fix that.
Note that there are cases where you want scaling
for pngs (when you display them scaled down, so
the image has 'hidden' detail). But we are not
attempting to handle that situation automatically.
Arjan Molenaar [Mon, 16 Jan 2023 13:47:49 +0000 (14:47 +0100)]
macos: Queue events during drag
By passing the events during a (midal-ish) drag operation to the main loop,
we're able to keep up with what's happening. This allows the internal
drag state (GtkDragSource) to be updated and be done when the drag is
done.
Emin Tufan Çetin [Sun, 15 Jan 2023 22:47:27 +0000 (22:47 +0000)]
Update Turkish translation
Matthias Clasen [Sun, 15 Jan 2023 18:48:22 +0000 (18:48 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Use GtkUriLauncher where appropriate
See merge request GNOME/gtk!5432
Matthias Clasen [Sun, 15 Jan 2023 18:25:34 +0000 (13:25 -0500)]
Use GtkUriLauncher where appropriate
GtkLabel, GtkLinkButton and GtkAboutDialog
all have a uri, not a file, so it makes more
sense to use a GtkUriLauncher.
Matthias Clasen [Sun, 15 Jan 2023 17:47:18 +0000 (17:47 +0000)]
Merge branch 'uri-launcher-demo' into 'main'
urilauncher: Fix finish function mismatch
See merge request GNOME/gtk!5431
Matthias Clasen [Sun, 15 Jan 2023 16:58:43 +0000 (11:58 -0500)]
gtk-demo: Add a uri launcher demo
Matthias Clasen [Sun, 15 Jan 2023 16:58:09 +0000 (11:58 -0500)]
urilauncher: Fix finish function mismatch
We need to call the finish function that
matches the async function.
Matthias Clasen [Sun, 15 Jan 2023 15:12:28 +0000 (15:12 +0000)]
Merge branch 'docs-escape-xml-tag' into 'main'
Escape GtkBuilder XML tag in comment with backtick
Closes #5312
See merge request GNOME/gtk!5429