Commit Graph

52986 Commits

Author SHA1 Message Date
13647e0144 Merge branch 'fix-xdg-activation-set-surface-gtk-3-24' into 'gtk-3-24'
Backport "gdk/wayland: set requesting surface to xdg-activation" to gtk-3-24

See merge request GNOME/gtk!5398
2023-01-27 19:05:39 +00:00
a23dfcd4c1 Merge branch 'gl-sync-gtk3' into 'gtk-3-24'
gl: Synchronize when calling MakeCurrent

See merge request GNOME/gtk!5448
2023-01-27 16:21:21 +00:00
41827d9f72 gdk/wayland: set requesting surface to xdg-activation
The argument to xdg_activation_token_v1_set_surface is documented to be the
surface requesting the activation, not the surface to be activated, which is
given later when calling xdg_activation_v1_activate.
(c.f. 36cee4bdbc)

Use the same logic as in gdk_wayland_app_launch_context_get_startup_notify_id,
i.e. if we have a surface with focus, set that, otherwise set NULL.

This fixes requesting urgent/focus on wlroots (compositors like Sway, etc.),
which was blocked as the surface requesting the activation didn't have focus.

Backport of: 43c1a433aa0839826451f71029965d8e359a9178

Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
2023-01-27 14:53:41 +00:00
9811485990 gl: Synchronize when calling MakeCurrent
When making out GL context current, wait
until the GPU is done with commands from
the previous context.

Fixes: #5517
2023-01-27 07:09:34 -05:00
b6795f8ff9 Merge branch 'wip/carlosg/startup-vs-focus-3-24' into 'gtk-3-24'
Consider startup vs focus requests for the Wayland platform [3.24]

See merge request GNOME/gtk!5443
2023-01-25 13:09:17 +00:00
79e11bed1a gtkapplication: Do not call gdk_display_notify_startup_complete()
This should do nothing worthwhile anymore, the X11/Wayland GtkApplication
implementations do already pass the startup ID from the platform_data
via windowing specific APIs, and the application handling the request
via show()/present() should trigger the activation request.

(cherry-picked from commit 3526d8b299becb7cd1e970ea5228a141eae20257)
2023-01-25 11:22:40 +01:00
2a47038635 gtkwindow: Shuffle gdk_window_set_startup_id() calls
While this used to be tangential to windows showing or requesting
focus, the xdg-activation Wayland protocol does merge both concepts
together.

But also, for a correct interaction with the compositor, the
toolkit should ideally merge the activation request resulting from
both into the same one, so that the gdk_window_focus() request
replies to the startup token that started the application and
correct focus-stealing prevention/etc happens, instead making up
one just in time for the focus request.

This kind of requires doing things in the right order, a show()
request on the GtkWindow should activate any pending activation
token on the toplevel, a present() request should additionally
create a new token if there was none pending. And
xdg_activation_v1_activate() should happen once on both.

Shuffle the gdk_window_set_startup_id() calls so that this
happens in the right order for Wayland, while making X11 happy
too.

(cherry-picked from commit e8adfa2a889cd45ee0ce0727d7eae0a61fdb7dce)
2023-01-25 11:22:40 +01:00
6ccd786a93 gdk/x11: Emit "remove" s-n message from gdk_toplevel_set_startup_id
In the way towards deprecating gdk_display_notify_startup_complete(),
make gdk_toplevel_set_startup_id() on X11 perform this piece of messaging
itself. It should be harmless that the message is emitted twice, if
callers do still use that API.

(cherry-picked from commit 7fab1b85adbddff7628e3e916f00677080fb9150)
2023-01-25 11:22:40 +01:00
f5a5480fe2 gdk/wayland: Perform xdg_activation on gdk_window_set_startup_id
This call has everything to perform activation as specified by the
xdg_activation protocol, notably a surface to activate as opposed to
gdk_notify_startup_complete().

Make activation happen here, so that the surface gets activated when
its gets a startup ID assigned.

(cherry-picked from commit 5aeabdb3d404579b5cab4fff1642ed116f745a8b)
2023-01-25 11:22:40 +01:00
a067938589 gtkwindow: Minor refactor
Move the handling of the startup ID to a separate function, since
this will be called from several places.

(cherry-picked from commit 6f01f846dc66a6359a1524ace13377536821dbb0)
2023-01-25 11:22:40 +01:00
1a17e71432 Merge branch 'fix-unscaled-fallback-icon' into 'gtk-3-24'
Take UI scale into acount when loading "image-missing" fallback

See merge request GNOME/gtk!5438
2023-01-22 00:01:07 +00:00
89c7d5fe4b Take UI scale into acount when loading "image-missing" fallback
Fallback icons loaded were loading at half size (for a 2x scale) and for
cases where it mattered, were being positioned off-center.
2023-01-21 12:47:40 -08:00
128cdaa113 Update Lithuanian translation 2023-01-19 21:09:54 +00:00
f60359c183 [quartz] GdkWindow, GdkNSView frame and cairo surface same size.
The cairo surface must be padded to 4 pixels in order to
transfer correctly to the GPU. The GdkWindow and GdkNSView's
content frame must be the same width, otherwise there's a mismatch
that causes either the GdkWindow to draw wider than the frame or the
frame to be clipped narrower than the title bar.

Fixes #5535.
2023-01-19 10:37:55 -08:00
6a2fb84446 gtkcssanimatedstyle: Fix return of new_advance()
This was causing animation and transition to stop randomly and reset
their state to initial state.

This issue has existed since commit
7b68bdb831.

Closes #4426
2023-01-13 15:20:01 -05:00
7a9f88ee48 Update Turkish translation 2023-01-11 06:57:09 +00:00
f2a8878570 Merge branch 'win-file-ext-3-24' into 'gtk-3-24'
Backport "filechoosernativewin32: Set default extension"

See merge request GNOME/gtk!5403
2023-01-08 12:57:00 +00:00
c1aec7f100 filechoosernativewin32: Set default extension
Setting the default extension before a filter is selected allows
the IFileDialog to automatically change the extension when the
filter is changed. See:
https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialog-setdefaultextension
2023-01-07 18:21:54 +00:00
10689066e3 [quartz] Fix typo to call function. 2023-01-06 10:13:02 -08:00
a5198dd935 Update Abkhazian translation 2023-01-05 12:36:09 +00:00
459f5537b3 Update Abkhazian translation 2023-01-05 12:24:58 +00:00
f1471ea033 Merge branch 'fix-4913-for-gtk3' into 'gtk-3-24'
Treat XKB_MOD_NAME_LOGO as super key

See merge request GNOME/gtk!5387
2023-01-03 18:07:17 +00:00
0f55e9552f Treat XKB_MOD_NAME_LOGO as super key
Loosely based on !5304, which fixes #4913 for GTK3.
2023-01-03 17:09:04 +01:00
7a41da3a6e tests: make accel tests easier to debug 2023-01-03 16:58:18 +01:00
8a76236f13 Merge branch 'gtk-3-24' into 'gtk-3-24'
build: Fix build_gir logic

See merge request GNOME/gtk!5371
2023-01-03 12:29:27 +00:00
7e4a2a5724 Fix build_gir logic 2022-12-27 04:54:52 +00:00
35516a5e86 3.24.36 2022-12-22 09:01:18 -05:00
feb38ce112 Revert "Treat XKB_MOD_NAME_LOGO as super key"
This reverts commit 3a871c9184.

This broke one of our tests.
2022-12-22 09:00:37 -05:00
6057e2141c Merge branch 'gtk-3-24-clipboard_eol' into 'gtk-3-24'
clipboard: improve EOL conversion of plain text

See merge request GNOME/gtk!5366
2022-12-22 13:31:26 +00:00
82e8605627 clipboard: improve EOL conversion of plain text
Handle the case of clipboard text with CR line endings
2022-12-22 10:26:34 +01:00
6c70b5a43d Merge branch 'wip/gtk3-fix-delete-surrounding' into 'gtk-3-24'
[GTK3] gtkimcontextwayland: Convert byte based offset to char based offset in delete_surrounding_text

See merge request GNOME/gtk!5255
2022-12-20 02:19:39 +00:00
9651546b97 gtkimcontextwayland: Convert byte based offset to char based offset in delete_surrounding_text
ClutterInputFocus/GtkIMContext uses char based offset for
delete_surrounding, however, text_input_v3 uses byte based offset for
it. Currently only GTK with mutter can work correctly via text_input_v3
because they both forget to convert between char based offset and byte
based offset.

This commit fixes it in GTK by converting byte based offset to char
based offset with the UTF-8 encoded surrounding text.

Fixes <https://gitlab.gnome.org/GNOME/gtk/-/issues/4566>.
2022-12-20 09:46:52 +08:00
56b8cf501c Update Persian translation 2022-12-14 12:32:57 +00:00
115588128f Merge branch 'revert-cursor-changes-3-24' into 'gtk-3-24'
Revert "wayland: Look for cursor themes in $HOME"

See merge request GNOME/gtk!5329
2022-12-14 11:04:08 +00:00
f39dea3d57 Revert "Revert "wayland/cursor: Sanity check cursor image size""
This reverts commit 4432a03742.
2022-12-13 18:52:34 -05:00
74bdb8d8a5 Revert "Make wayland load cursors on demand"
This reverts commit 66a199806c.
2022-12-13 18:52:29 -05:00
89583c456d Revert "wayland: Look for cursor themes in $HOME"
This reverts commit 3f1536632f.
2022-12-13 18:51:16 -05:00
2f6d0792f8 Merge branch 'gtk3_fix_chooser_dead_tilde_trigger_location' into 'gtk-3-24'
Fix open location entry when pressing '~'

See merge request GNOME/gtk!4971
2022-12-13 13:00:36 +00:00
3b9531d3d3 Merge branch 'ebassi/no-more-autotools-redux' into 'gtk-3-24'
Drop the Autotools build

See merge request GNOME/gtk!5299
2022-12-13 12:10:34 +00:00
5304d1c8d1 Merge branch 'basename' into 'gtk-3-24'
Use @basename@ in enumeration type templates

See merge request GNOME/gtk!5324
2022-12-12 13:32:03 +00:00
8eb4e59613 Use @basename@ in enumeration type templates
The @filename@ directive will use the full path of the file being parsed
for enumeration types; we should use @basename@, instead, as it improves
the reproducibility of the build by using only the file name.

Backport of 4040f76529bbf6d3310a71df2d37c9d95af83892 from main.
2022-12-12 13:09:53 +00:00
efdc6b81e6 Merge branch 'issue5305' into 'gtk-3-24'
[quartz] Work around macOS 13 not sending trackingArea events.

See merge request GNOME/gtk!5280
2022-12-11 04:02:14 +00:00
5b8553fae5 Merge branch 'issue5393' into 'gtk-3-24'
[quartz] Set GdkQuartzView wantsLayer.

See merge request GNOME/gtk!5309
2022-12-11 04:02:00 +00:00
dc201938b5 Add Interlingue translation 2022-12-09 17:44:15 +00:00
2c56d0491d Add Interlingue translation 2022-12-09 17:43:35 +00:00
d819af3dbd meson: Clean up FreeType2 dependency search
Since we are using Meson 0.60.x now, make use of CMake's support for finding
FreeType in addition to pkg-config, which actually looks for FreeType2 via
looking at the headers and .lib's internally, so we don't have to reinvent
the wheel.

Sadly, we don't have similar support for Cairo and HarfBuzz in CMake, so we
have to stick with what we have now, since we still need to support older
HarfBuzz and Cairo versions as we are in a stable release series.
2022-12-09 12:41:10 +08:00
f2bbaf4f32 README.win32.md: Update build instructions
Adapt the build instructions to reflect the change to building with
Meson only, and list the dependencies in a clearer list with the additional
tools that are needed to build them with Visual Studio.

Update the list of dependencies and their optional features that are needed to
enable optional features in the GTK build itself.
2022-12-09 12:24:24 +08:00
50b5144b0b Remove GTK version / interface age macros in config.h
They are present in gtk/gtkversion.h. This avoids macro redefinition
warnings.
2022-12-08 18:08:27 +00:00
302adb0ad2 Remove config.h.meson
Meson can generate a configuration file better than a human can.
2022-12-08 18:07:21 +00:00
5d91434f38 [quartz] Set GdkQuartzView wantsLayer.
Apparently wantsUpdateLayer by itself isn't sufficient.
Also #ifdef wantsUpdateLayer for macOS X 10.8 and later; earlier
versions don't provide it.

Fixes #5393
2022-12-08 10:04:56 -08:00