Matthias Clasen [Fri, 3 Dec 2021 13:30:22 +0000 (13:30 +0000)]
Merge branch 'better-tabs-demo' into 'main'
Beef up the tabs demo
See merge request GNOME/gtk!4200
Matthias Clasen [Mon, 29 Nov 2021 14:25:32 +0000 (09:25 -0500)]
Beef up the tabs demo
Show various alignments, including numeric.
Benjamin Otte [Fri, 3 Dec 2021 10:48:50 +0000 (10:48 +0000)]
Merge branch 'gtk4-win32-egl' into 'main'
Fix running GTK4 under EGL on Windows
See merge request GNOME/gtk!4188
Chun-wei Fan [Tue, 23 Nov 2021 10:22:55 +0000 (18:22 +0800)]
gskglcompiler.c: Force GLSL version 300 es as needed
For libANGLE to work with our shaders, we must use "300 es" for
the #version directive in our shaders, as well as using the non-legacy/
non-GLES codepath in the shaders. In order to check whether we are
using the GLSL 300 es shaders, we check whether we are using a GLES 3.0+
context. As a result, make ->glsl_version a const char* and make sure
the existing shader version macros are defined apprpriately, and add a
new macro for the "300 es" shader version string.
This will allow the gtk4 programs to run under Windows using EGL via
libANGLE. Some of the GL demos won't work for now, but at least this
makes things a lot better for using GL-accelerated graphics under Windows
for those that want to or need to use libANGLE (such as those with
graphics drivers that aren't capable of our Desktop (W)GL requirements in
GTK.
Chun-wei Fan [Tue, 23 Nov 2021 08:19:34 +0000 (16:19 +0800)]
gdksurface-win32.c: Call gdk_surface_set_egl_native_window()
.. when creating the surface (with the HWND associated with the
newly-created surface) as well as destroying the surface (with NULL,
since the HWND is going to be destroyed), so that we can tie the EGL
calls to the HWND that we want to do the EGL stuff.
Matthias Clasen [Mon, 29 Nov 2021 14:27:00 +0000 (09:27 -0500)]
Bump pango req
Require pango 1.50.
Matthias Clasen [Thu, 2 Dec 2021 17:38:16 +0000 (17:38 +0000)]
Merge branch 'issue-4376' into 'main'
Update placeholder visibility when setting a buffer
Closes #4376
See merge request GNOME/gtk!4211
Emmanuele Bassi [Thu, 2 Dec 2021 17:17:12 +0000 (17:17 +0000)]
Update placeholder visibility when setting a buffer
If we set the placeholder text before setting a buffer, we end up with
both the placeholder *and* the buffer's contents visible at the same
time.
Fixes: #4376
Matthias Clasen [Thu, 2 Dec 2021 16:34:35 +0000 (16:34 +0000)]
Merge branch 'wip/carlosg/tablet-fixes' into 'main'
Wayland tablet device modifier fixes
Closes #4103 and #4102
See merge request GNOME/gtk!4210
Carlos Garnacho [Thu, 2 Dec 2021 16:00:10 +0000 (17:00 +0100)]
gesturestylus: Use GtkEventControllerEvent events to track changes
We use gtk_gesture_get_last_event() underneath at places that need to
work during ::proximity emission. Since GtkGesture only tracks events
while there are button/touch presses involved, this is not going to
bring the right result there.
Use gtk_event_controller_get_current_event() consistently inside,
which always pokes at the event being handled (which is the correct
intent here).
Carlos Garnacho [Thu, 2 Dec 2021 15:53:47 +0000 (16:53 +0100)]
gdk/wayland: Unset GDK_BUTTON1_MASK on proximity_in
In some circumstances (e.g. activating with a stylus something that
closes a window), we can receive zwp_tablet_tool.proximity_out without
receiving a zwp_tablet_tool.up beforehand.
In those cases, we are not expecting neither .up nor .button, so
reset the stylus device button modifiers on proximity_out.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4103
Carlos Garnacho [Thu, 2 Dec 2021 15:19:16 +0000 (16:19 +0100)]
gdk/wayland: Use right modifiers for tablet button events
We are looking up the seat logical pointer modifiers (i.e. the wl_pointer),
not the ones for the tablet tool device. This breaks accounting further
along in GTK leaving stuck implicit grabs.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4102
Matthias Clasen [Wed, 1 Dec 2021 02:59:10 +0000 (02:59 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
textbuffer: Fix pasting text
Closes #4357
See merge request GNOME/gtk!4205
Matthias Clasen [Wed, 1 Dec 2021 02:42:19 +0000 (21:42 -0500)]
textbuffer: Try harder to fix pasting
It turns out we can't just use the size returned
by the memory stream as-is, since it may contain
unfilled garbage at the end, which utf8 validation
will choke on. So, cut it off at the first '\0'
we find.
Matthias Clasen [Wed, 1 Dec 2021 01:37:25 +0000 (20:37 -0500)]
textbuffer: Fix pasting text
The memory stolen from a memory outputstream
isn't guaranteed to be 0-terminated, so don't
make that assumption.
Fixes: #4357
Matthias Clasen [Wed, 1 Dec 2021 01:21:32 +0000 (01:21 +0000)]
Merge branch 'update_focus_indicators_in_popovers' into 'main'
update focus indicators in popovers
See merge request GNOME/gtk!4124
Matthias Clasen [Wed, 1 Dec 2021 01:13:48 +0000 (01:13 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
textview: Respect editability for Emoji
Closes #4479 and #4503
See merge request GNOME/gtk!4204
Matthias Clasen [Wed, 1 Dec 2021 00:51:22 +0000 (19:51 -0500)]
docs: Clarify a sentence in the migration guide
Make it clear that we are giving examples of
no-longer existing APIs here.
Fixes: #4479
Matthias Clasen [Wed, 1 Dec 2021 00:44:26 +0000 (19:44 -0500)]
textview: Avoid misplacing the Emoji chooser
When the iter is at the end of the buffer,
gtk_text_view_get_iter_location returns a
rectangle with width 0, which in turn makes
gdk_rectangle_intersect return FALSE.
Avoid that by always giving the rectangle
non-empty dimensions.
Fixes: #4503
Matthias Clasen [Tue, 30 Nov 2021 23:38:33 +0000 (18:38 -0500)]
inspector: Make dropdowns bigger
If there's enough values to warrant scrolling,
the dropdown was much too small for comfort.
Matthias Clasen [Tue, 30 Nov 2021 23:37:33 +0000 (18:37 -0500)]
textview: Respect editability for Emoji
Switch the Emoji chooser keybinding to use the
action, so that disabling the action has the
desired effect.
Benjamin Otte [Tue, 30 Nov 2021 14:25:22 +0000 (14:25 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
texture: Remove gdk_texture_download_float()
See merge request GNOME/gtk!4202
Benjamin Otte [Tue, 30 Nov 2021 13:05:22 +0000 (14:05 +0100)]
label: Don't set ellipsized size as natural size
Natural size should never ellipsize.
Tests added.
Benjamin Otte [Mon, 29 Nov 2021 23:30:26 +0000 (00:30 +0100)]
GL renderer: Remove noperspective usage
It causes issues with compilation of GLES shaders and isn't in any
way correct.
Benjamin Otte [Mon, 29 Nov 2021 22:58:28 +0000 (23:58 +0100)]
node-editor: Display errors
When opening a file or pasting DND fails, display the error as the
actual node.
Benjamin Otte [Sun, 28 Nov 2021 07:03:07 +0000 (08:03 +0100)]
texture: Remove gdk_texture_download_float()
The download API is not well thought out yet, so postpone it until
there's an actual usecase for it.
Remove testcases, too.
Benjamin Otte [Sun, 28 Nov 2021 07:00:52 +0000 (08:00 +0100)]
rendernode: Simplify conic gradient code
Benjamin Otte [Wed, 24 Nov 2021 12:02:20 +0000 (13:02 +0100)]
testsuite: Make function arguments const
Matthias Clasen [Mon, 29 Nov 2021 22:42:40 +0000 (17:42 -0500)]
Mention main in NEWS and README.md
Matthias Clasen [Mon, 29 Nov 2021 22:37:49 +0000 (17:37 -0500)]
Update references to master in the repository
Benjamin Otte [Mon, 29 Nov 2021 10:31:42 +0000 (10:31 +0000)]
Merge branch 'wip/otte/hfw-min-size' into 'master'
window: Implement height-for-width for min size
See merge request GNOME/gtk!4183
Matthias Clasen [Sun, 28 Nov 2021 12:56:09 +0000 (12:56 +0000)]
Merge branch 'font-chooser-variations-fix' into 'master'
fontchooser: Avoid setting variations needlessly
See merge request GNOME/gtk!4197
Piotr Drąg [Sun, 28 Nov 2021 12:30:19 +0000 (13:30 +0100)]
Update POTFILES.skip
Matthias Clasen [Sat, 27 Nov 2021 15:10:53 +0000 (10:10 -0500)]
fontchooser: Avoid setting variations needlessly
Setting variations to their default value causes
them to show up in the serialization of the font
description - a font description has no idea about
the default values, so can't filter them out.
Avoid that.
Emmanuele Bassi [Wed, 24 Nov 2021 19:56:42 +0000 (19:56 +0000)]
Merge branch 'fix_typo_gesture' into 'master'
gesture: fix typo in docs
See merge request GNOME/gtk!4191
Alexandros Theodotou [Wed, 24 Nov 2021 19:21:21 +0000 (19:21 +0000)]
gesture: fix typo in docs
Fabio Tomat [Mon, 22 Nov 2021 09:19:32 +0000 (09:19 +0000)]
Update Friulian translation
Aurimas Černius [Sun, 21 Nov 2021 19:58:20 +0000 (21:58 +0200)]
Updated Lithuanian translation
Quentin PAGÈS [Sun, 21 Nov 2021 19:38:33 +0000 (19:38 +0000)]
Update Occitan translation
Benjamin Otte [Sun, 21 Nov 2021 06:06:11 +0000 (07:06 +0100)]
window: Add a new fancy way to compute min size
Try to compute a min size that matches the current aspect ratio.
This means that when interactively resizing, we adapt the min size to
the current window area dynamically.
And that means that we always have a min size that is large enough, but
users can interactively cause it to be small-width x large-height,
large-width x small-width or anything inbetween.
Benjamin Otte [Sun, 21 Nov 2021 18:44:26 +0000 (18:44 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
window: Always clamp to max size
See merge request GNOME/gtk!4185
Emmanuele Bassi [Sun, 21 Nov 2021 15:36:25 +0000 (15:36 +0000)]
Merge branch 'ebassi/issue-4421' into 'master'
Unrealize ATContext on unroot
Closes #4421
See merge request GNOME/gtk!4136
Benjamin Otte [Sun, 21 Nov 2021 05:10:11 +0000 (06:10 +0100)]
window: Properly distribute size between title and child
Otherwise we can end up with a window that's too small in certain corner
cases after resizing.
Benjamin Otte [Sun, 21 Nov 2021 05:08:06 +0000 (06:08 +0100)]
widget: Clear size request cache on queue_resize()
... and not later.
Otherwise future calls to sizing fucntions will reuse an outdated cache
and compute wrong values.
Benjamin Otte [Sun, 21 Nov 2021 04:32:20 +0000 (05:32 +0100)]
window: Always clamp to max size
When computing the window size, always try to clamp to the max size.
This will shrink a window down into a sane size if it was too big
before.
Benjamin Otte [Sun, 21 Nov 2021 03:55:28 +0000 (03:55 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Fixes
Closes #4469
See merge request GNOME/gtk!4182
Benjamin Otte [Sun, 21 Nov 2021 00:51:35 +0000 (01:51 +0100)]
builder-tool: Don't simplify enums too much
Store the enum nick, not the enum value. That way the file remains
human-readable.
Updated reftests to new expected output.
Benjamin Otte [Sun, 21 Nov 2021 00:46:32 +0000 (01:46 +0100)]
paned: Compute the right handle size
Testcase included
Fixes #4469
Benjamin Otte [Sun, 21 Nov 2021 00:15:59 +0000 (01:15 +0100)]
window: properly compute desired size
Previously, the code did not expand the size properly when a default
size was already set.
Reftest included.
Matthias Clasen [Sat, 20 Nov 2021 21:56:37 +0000 (21:56 +0000)]
Merge branch 'missing-the-missing-glyphs' into 'master'
Go back to using pango for glyph rendering
See merge request GNOME/gtk!4181
Matthias Clasen [Sat, 20 Nov 2021 16:13:52 +0000 (11:13 -0500)]
Go back to using pango for glyph rendering
Using just cairo makes us lose hexboxes. So, until
we implement that ourselves, go back to using pango.
Benjamin Otte [Sat, 20 Nov 2021 15:59:50 +0000 (16:59 +0100)]
sizerequest: Change critical message
Printing the affected widget leads people to assume that it is to blame
for the error. However, the widget is the object the function is being
called on, not the caller. And the caller is doing it wrong.
Usually the caller is the parent widget, so we could print that one, but
it's only usually, it can be an issue propagating from a grandparent and
it doesn't tell you from where the function is called (allocation or
measuring), so you need a debugger anyway.
So don't put anything there instead.
Matthias Clasen [Sat, 20 Nov 2021 14:43:48 +0000 (14:43 +0000)]
Merge branch 'wip/fix-randr-race' into 'master'
x11: Trap error when getting CRTC info
See merge request GNOME/gtk!4169
Samuel Thibault [Sat, 20 Nov 2021 09:59:00 +0000 (10:59 +0100)]
Revert "a11y: return -1 if parent is NULL"
This reverts commit
22847563cecb59c6f120a08bb49284599dbb6232.
Samuel Thibault [Sat, 20 Nov 2021 08:14:35 +0000 (08:14 +0000)]
Merge branch 'wip/chergert/fix-a11y-critical' into 'master'
a11y: return -1 if parent is NULL
See merge request GNOME/gtk!4179
Asier Sarasua Garmendia [Sat, 20 Nov 2021 07:52:06 +0000 (07:52 +0000)]
Update Basque translation
Benjamin Otte [Sat, 20 Nov 2021 06:06:08 +0000 (06:06 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Lots of sizing fixes
See merge request GNOME/gtk!4180
Benjamin Otte [Fri, 19 Nov 2021 23:44:47 +0000 (00:44 +0100)]
widget: Remove a check
That consistency check is entirely outdated and just prints confusing
stuff.
Benjamin Otte [Fri, 19 Nov 2021 22:22:39 +0000 (23:22 +0100)]
sizerequestcache: Increase size
This is a quickfix to avoid infinite runtime in nested boxes with
wrapped labels.
Test included
Benjamin Otte [Fri, 19 Nov 2021 22:21:44 +0000 (23:21 +0100)]
sizerequest: Use g_printerr() for debug messages
glib doesn't print debug messages by default anymore.
Benjamin Otte [Sat, 20 Nov 2021 04:56:14 +0000 (05:56 +0100)]
paned: Always query at least min size
For shrinking children, we would not make sure of this and just throw
the current size at them.
Benjamin Otte [Sat, 20 Nov 2021 04:42:20 +0000 (05:42 +0100)]
stack: Make sure to not under-measure children
When the stack is homogeneous in only one direction, the other direction
may produce min sizes to small for all children. Make sure to query at
least the min size for those.
Benjamin Otte [Sat, 20 Nov 2021 04:30:43 +0000 (05:30 +0100)]
stack: Index the homogeneous array by orientation
Benjamin Otte [Sat, 20 Nov 2021 01:23:53 +0000 (02:23 +0100)]
stack: Turn the homogenenous variables into an array
that way, we can index them by orientation.
Benjamin Otte [Fri, 19 Nov 2021 23:46:08 +0000 (00:46 +0100)]
widget: force adjustment method is one size is FILL
If halign=fill, force adjustment to height-for-width.
If valign=fill, force adjustment to width-for-height.
Otherwise look at request mode.
This way we don't try to adapt the filled dimension and only adjust
the one that is not set to fill.
Benjamin Otte [Fri, 19 Nov 2021 22:19:14 +0000 (23:19 +0100)]
widget: Don't forget margins when adjusting
This could lead to the wrong values being passed and computing invalid
sizes which would then lead to very unhappy code.
Test included.
Benjamin Otte [Fri, 19 Nov 2021 20:58:09 +0000 (21:58 +0100)]
sizerequest: Add a critical when for_size is too small
It's not expensive to check it because we'll cache the dfault size
request anyway, and people do it wrong a lot.
As a bonus, don't do any return_if_fail(), just use the min size
instead.
Fran Dieguez [Fri, 19 Nov 2021 22:23:26 +0000 (22:23 +0000)]
Update Galician translation
Fran Dieguez [Fri, 19 Nov 2021 22:23:10 +0000 (22:23 +0000)]
Update Galician translation
Christian Hergert [Fri, 19 Nov 2021 19:59:29 +0000 (11:59 -0800)]
a11y: return -1 if parent is NULL
Emmanuele Bassi [Fri, 19 Nov 2021 13:40:07 +0000 (13:40 +0000)]
Merge branch 'gtk-init-doc-update' into 'master'
Documentation fix and whitespace cleanup
See merge request GNOME/gtk!4176
Fred Morcos [Fri, 19 Nov 2021 13:21:56 +0000 (13:21 +0000)]
Documentation fix and whitespace cleanup
- gtk_init() does not parse command-line options anymore.
- Gitlab's WebIDE automatically cleans up whitespace.
Luca Bacci [Fri, 19 Nov 2021 08:42:40 +0000 (08:42 +0000)]
Merge branch 'win32-egl-cleanup' into 'master'
GDK-Win32: Port EGL code to newer common GDK code
See merge request GNOME/gtk!4040
Danial Behzadi [Thu, 18 Nov 2021 22:55:28 +0000 (22:55 +0000)]
Update Persian translation
Matthias Clasen [Thu, 18 Nov 2021 22:42:25 +0000 (22:42 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
node-editor: Don't make paned shrinkable
See merge request GNOME/gtk!4175
Matthias Clasen [Thu, 18 Nov 2021 22:24:38 +0000 (17:24 -0500)]
node-editor: Don't make paned shrinkable
When the handle is dragged all the way to the left,
it is impossible to get it back. Which is not fun.
Luca Bacci [Thu, 18 Nov 2021 12:40:21 +0000 (12:40 +0000)]
Merge branch 'fix-aerosnap-4' into 'master'
GDK-Win32: Fix AeroSnap indicator and positioning
See merge request GNOME/gtk!3795
Chun-wei Fan [Tue, 6 Jul 2021 09:15:39 +0000 (17:15 +0800)]
GDK-Win32: Fix AeroSnap indicator and positioning
Ensure that we take the DPI scaling into account so that surfaces will
be placed at their correct positions upon an AeroSnap operation on HiDPI
displays.
Also, use the X coordinate of the surface as-is during snap up so that
we do not inadvertently move the surface to the very left. Also fix the
AeroSnap indicator drawing for snap up so that it is drawn at the
correct places.
Since we are updating these functions, make the old GdkWindow-era
variable names to match better the names we use nowadays.
Benjamin Otte [Thu, 18 Nov 2021 07:38:53 +0000 (07:38 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
label: Don't add a pixel where none should be added
See merge request GNOME/gtk!4173
Benjamin Otte [Thu, 18 Nov 2021 06:54:16 +0000 (07:54 +0100)]
label: Don't add a pixel where none should be added
When the text width is larger than the measuring width, set the min
width to that value, don't also add 1 to it.
Matthias Clasen [Thu, 18 Nov 2021 04:54:43 +0000 (04:54 +0000)]
Merge branch 'msal4-master-patch-74685' into 'master'
docs: use px unit for font size
See merge request GNOME/gtk!4171
Matthias Clasen [Thu, 18 Nov 2021 03:43:54 +0000 (03:43 +0000)]
Merge branch 'picture-ratio-redraw' into 'master'
picture: Setting keep-aspect-ratio requires a redraw
See merge request GNOME/gtk!4172
Marco Melorio [Thu, 18 Nov 2021 01:39:15 +0000 (02:39 +0100)]
picture: Setting keep-aspect-ratio requires a redraw
Mohammed Salman [Wed, 17 Nov 2021 22:48:14 +0000 (22:48 +0000)]
Update section-text-widget.md
Matthias Clasen [Wed, 17 Nov 2021 11:59:15 +0000 (11:59 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Don't spam debug messages into TAP output
See merge request GNOME/gtk!4167
Jonas Ådahl [Wed, 17 Nov 2021 10:14:00 +0000 (11:14 +0100)]
x11: Trap error when getting CRTC info
This should fix a race happening when RANDR changes quickly, e.g. during
unit testing where tests change monitor configurations rapidly.
Matthias Clasen [Tue, 16 Nov 2021 23:45:34 +0000 (18:45 -0500)]
Don't spam debug messages into TAP output
g_log_writer_standard_streams just puts all the logs
out onto stderr and stdout if we don't stop it. Pango
recently grew a bunch of g_debug calls, and those were
now showing up, making all the reftests fail.
Matthias Clasen [Tue, 16 Nov 2021 22:23:31 +0000 (22:23 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Fix formatting error in demo about dialogs
See merge request GNOME/gtk!4166
Matthias Clasen [Sat, 13 Nov 2021 21:27:50 +0000 (16:27 -0500)]
Fix formatting error in demo about dialogs
Try harder to format things nicely.
Matthias Clasen [Tue, 16 Nov 2021 21:34:58 +0000 (21:34 +0000)]
Merge branch 'bilelmoussaoui/since-annotations' into 'master'
g-i: add missing since annotations
See merge request GNOME/gtk!4154
Matthias Clasen [Tue, 16 Nov 2021 21:31:48 +0000 (21:31 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
build: Actually use the extra warnings
See merge request GNOME/gtk!4157
Matthias Clasen [Tue, 16 Nov 2021 17:21:38 +0000 (17:21 +0000)]
Merge branch 'wip/carlosg/x11-wm-drags' into 'master'
gtkmain: Disable implicit grab active state on CROSSING_GRAB leave events
Closes #4416
See merge request GNOME/gtk!4162
Matthias Clasen [Tue, 16 Nov 2021 17:21:04 +0000 (17:21 +0000)]
Merge branch 'compose-cache-symlinks' into 'master'
composetable: invalidate cache based on symlink mtime too
See merge request GNOME/gtk!4163
Matthias Clasen [Tue, 16 Nov 2021 17:19:55 +0000 (17:19 +0000)]
Merge branch 'wip/carlosg/cancelled-gestures' into 'master'
gtkwidget: Do not check event sequence state before cancelling gesture
Closes #4387
See merge request GNOME/gtk!4160
Asier Sarasua Garmendia [Tue, 16 Nov 2021 16:28:52 +0000 (16:28 +0000)]
Update Basque translation
Emmanuele Bassi [Tue, 16 Nov 2021 14:04:50 +0000 (14:04 +0000)]
Merge branch 'ebassi/docs-fixes' into 'master'
Small documentation fixes
See merge request GNOME/gtk!4158
Emmanuele Bassi [Tue, 16 Nov 2021 13:50:52 +0000 (13:50 +0000)]
docs: Add blurb for GtkEditableProperties.
Emmanuele Bassi [Tue, 16 Nov 2021 13:41:52 +0000 (13:41 +0000)]
docs: Fix description for CellRendererAccelMode
Link to the property, instead of copy-pasting its description.
Emmanuele Bassi [Tue, 16 Nov 2021 13:37:33 +0000 (13:37 +0000)]
docs: Fix link in GtkSymbolicColor description
Naïm Favier [Tue, 16 Nov 2021 11:53:38 +0000 (12:53 +0100)]
composetable: invalidate cache based on symlink mtime too
When the compose file is a symbolic link, take the link itself's
modification time into account (in addition to its target's) in
determining whether to invalidate the compose cache.
This is useful e.g. on NixOS systems where the compose file might point
to a store path with an irrelevant modification time, and we want the
cache to expire when the symlink itself changes.