Commit Graph

69758 Commits

Author SHA1 Message Date
Matthias Clasen
82f8fc3bee Merge branch 'fix-panel-monitor' into 'master'
x11: Try harder to find the right monitor

Closes #3900

See merge request GNOME/gtk!3477
2021-04-27 03:48:13 +00:00
Matthias Clasen
f37662c655 x11: Try harder to find the right monitor
If we deal with a panel, we end up with no monitor,
and crash, which isn't great and isn't necessary.

Fixes: #3900
2021-04-26 23:20:10 -04:00
Benjamin Otte
1a12ea6e5a Merge branch 'wip/otte/for-master' into 'master'
clipboard: Make sure G_TYPE_STRING is nul-terminated

Closes #3899

See merge request GNOME/gtk!3476
2021-04-26 21:15:32 +00:00
Benjamin Otte
1be899459c clipboard: Fix reading of files
Make sure writing a terminating null byte actually works and we don't
just ignore the error message.
2021-04-26 21:32:57 +02:00
Benjamin Otte
f34e3c573b clipboard: Make sure G_TYPE_STRING is nul-terminated
When reading text, we need to check we terminate the G_TYPE_STRING
string with a null byte, because the clipboard does not guarantee one.

So just append a \0 to the stream.

Fixes #3899
2021-04-26 21:32:57 +02:00
Matthias Clasen
b23529d940 Merge branch 'matthiasc/for-master' into 'master'
wayland: Print all layouts in debug spew

See merge request GNOME/gtk!3475
2021-04-26 11:59:01 +00:00
Matthias Clasen
2c34abed20 wayland: Print all layouts in debug spew 2021-04-26 00:16:41 -04:00
Pawan Chitrakar
b3b63a2c8f Update Nepali translation
(cherry picked from commit 193747fadf)
2021-04-26 01:10:45 +00:00
Jordi Mas
4a1a9b1f44 Update Catalan translation 2021-04-25 20:08:19 +02:00
Matthias Clasen
215d4cbfe5 Merge branch 'fix-x11-shadows' into 'master'
x11: Fix shadows

Closes #3896

See merge request GNOME/gtk!3473
2021-04-25 11:43:23 +00:00
Matthias Clasen
8cd8aa2cb3 Merge branch 'matthiasc/for-master' into 'master'
Mention nightly flatpaks in the README

See merge request GNOME/gtk!3474
2021-04-24 21:27:38 +00:00
Matthias Clasen
b3b9dd493e Apply 4 suggestion(s) to 1 file(s) 2021-04-24 17:47:43 +00:00
Matthias Clasen
8909ad1859 Mention nightly flatpaks in the README 2021-04-24 11:42:21 -04:00
Matthias Clasen
aa569acaa1 window: Don't let solid-csd linger
Just from reading the code, it seems that we
should unset .csd and .solid-csd at the same
time, since the are mutually exclusive and
we unset them here so realize() can set one
of them again.
2021-04-24 11:29:19 -04:00
Matthias Clasen
1c1c030b8e Simplify shadow conditions
The code in gtkwindow.c for dealing with the various
combinations of client-side decorations and client-side
shadows is entirely too complicated.

This commit does not really clean it up, but simplifies
one of the shadow conditions far enough to make some
sense.

With this change, I get the expected decorations in
all the cases I can easily reproduce locally.
2021-04-24 11:07:20 -04:00
Matthias Clasen
628d5406d7 x11: Fix shadows
Commit a2cd21cab6 changed a condition and inadvertedly
broke client-side shadows on X11. Change this back.

Fixes: #3896
2021-04-24 09:19:18 -04:00
Emmanuele Bassi
5d563fcde6 Merge branch 'a11y-properties' into 'master'
a11y: Don't sent redundant property changes

See merge request GNOME/gtk!3472
2021-04-23 12:04:47 +00:00
Matthias Clasen
b2f3a3220e a11y: Don't sent redundant property changes
We were sending a property changed event for every set
property whenever we were sending any updates.
2021-04-23 07:34:00 -04:00
Matthias Clasen
4e66e782ea Merge branch 'synthetic-motion-grab' into 'master'
gdk: Avoid synthetic motion confusion

Closes #3439

See merge request GNOME/gtk!3471
2021-04-23 03:11:36 +00:00
Matthias Clasen
d225f14657 gdk: Avoid synthetic motion confusion
Don't emit a synthetic motion event on a surface
that is grab-shadowed by a popup. This has been
known to confuse GTK, at times.

Fixes: #3439
2021-04-22 21:09:54 -04:00
Matthias Clasen
13f9ca60d5 Merge branch 'gtk4-listbox-selection' into 'master'
Allow repeated selection extension on gtklistbox

Closes #3887

See merge request GNOME/gtk!3461
2021-04-22 23:29:45 +00:00
Matthias Clasen
be927d9ce6 Merge branch 'resize-borders' into 'master'
window: Fix up resize borders

Closes #3856

See merge request GNOME/gtk!3467
2021-04-22 11:13:20 +00:00
Matthias Clasen
dcb5a74275 Merge branch 'a11y-debug' into 'master'
Some a11y improvements

See merge request GNOME/gtk!3455
2021-04-22 11:04:30 +00:00
Matthias Clasen
8f70f1449d Merge branch 'gtk4-compose-modifiers' into 'master'
imcontextsimple: Ignore more modifiers in compose

See merge request GNOME/gtk!3468
2021-04-22 10:58:24 +00:00
Matthias Clasen
b25bc36d33 Merge branch 'wip/muktupavels/solid-csd' into 'master'
theme: fix solid-csd style

See merge request GNOME/gtk!3460
2021-04-22 10:48:22 +00:00
Matthias Clasen
da4e2a2976 theme: Make solid borders look better
As pointed out by Alberts Muktupāvels, without this,
we are missing the inner edge of the frame.
2021-04-22 06:45:28 -04:00
Matthias Clasen
f8dcda80cf theme: Fix solid-csd borders
The selectors did not apply anymore.
Based on a patch by Alberts Muktupāvels.
2021-04-22 06:45:28 -04:00
Matthias Clasen
01d81ffc17 window: Make resize border size independent
Deriving the resize border size from the shadows
carries the risk that we might end up with uneven
resize borders (or none at all, on some sides).

So, justs enforce that we have a big enough shadow
width on all sides.
2021-04-22 06:45:28 -04:00
Ulli Kehrle
c78ec37d83 imcontextsimple: Ignore more modifiers in compose
Previously it was impossible to compose characters on higher levels of
some keyboard layouts as pressing the level selection key would just
exit compose mode.

Examples for affected keyboard layouts include the Latvian
apostrophe-variant "lv(apostrophe)" (latched third level), the extended
German keyboard layout "de(e1)" (latched fifth level) as well as the
multilingual Canadian keyboard layout "ca(multix)" and the German
neo-layout "de(neo)" and its descendants (shifted fifth level).

To reproduce, set a compose key and select the Latvian apostrophe layout.
Notice that you now can input [ by pressing first the ' and then the 8-key.
Then pressing <compose>'8'8 should produce ⟦, but prior to this patch it
did not.
2021-04-22 03:56:30 +02:00
Matthias Clasen
a2cd21cab6 window: Tweak resize borders
Make windows resizable in the padding and border
area of the css box as well. This naturally makes
solid-csd borders work again.
2021-04-21 21:09:09 -04:00
Matthias Clasen
760e60fa04 window: Fix up resize borders
The invisible resize borders have been wider than they
should, for a while. Go back to a size close to what
we have in GTK3.

To summarize: resize borders will be at most 12 pixels
on each size, but never wider than the windows shadow.
The resize corners have 'legs' of 24 pixels where you
still get a corner resize cursor.

Fixes: #3856
2021-04-21 20:09:38 -04:00
John Renner
81914f466d Allow repeated selection extension on gktlistbox 2021-04-21 14:18:29 -07:00
Matthias Clasen
ebd8338795 Merge branch 'im-cursor-pos' into 'master'
imcontext: Fix cursor positions

Closes #3885

See merge request GNOME/gtk!3464
2021-04-21 17:43:12 +00:00
Matthias Clasen
11d637f869 Merge branch 'wip/oholy/placesview-default-location-regression' into 'master'
placesview: Open location even if mount was not found

Closes nautilus#1811

See merge request GNOME/gtk!3435
2021-04-21 12:22:17 +00:00
Emmanuele Bassi
b24fedda49 a11y: Update the labelled-by relation of GtkTreeExpander
Whenever we change the :child property, we need to update the
labelled-by relation.
2021-04-21 11:43:16 +01:00
Emmanuele Bassi
57cc2c4918 a11y: Set state on the GtkTreeExpander widget
Instead of setting it on its internal child.
2021-04-21 11:43:11 +01:00
Matthias Clasen
15483ac9df imcontext: Fix cursor positions
gtk_im_context_get_preedit_string is documented to
return the cursor position as a character offset,
not a byte count. So return that.

Fixed: #3885
2021-04-21 06:28:52 -04:00
Matthias Clasen
142984cbf7 Merge branch 'untrusted-beep' into 'master'
x11: Don't beep on untrusted displays

Closes #3862

See merge request GNOME/gtk!3463
2021-04-21 10:12:39 +00:00
Emmanuele Bassi
8f9145109b a11y: Pair window:activate with window:deactivate signal
Orca needs both events in order to decide whether or not to subscribe to
other event/state changes in a window.
2021-04-21 10:22:20 +01:00
Matthias Clasen
5587ee0c30 x11: Don't beep on untrusted displays
This can trigger BadAccess, and we don't
want that.

Fixes: #3862
2021-04-20 21:42:57 -04:00
Matthias Clasen
99750ac7ed a11y: Realize notebook tabs when switching
We're not moving focus here, so we can't rely
on that to conjure the a11y objects into existence.
2021-04-20 20:35:22 -04:00
Alberts Muktupāvels
f89bad7f33
theme: fix solid-csd style
Move .solid-csd style out of .csd parent and adjust it so windows
look similar / same to GTK 3 windows:
- 4px padding.
- extra shadow.

https://gitlab.gnome.org/GNOME/gtk/-/issues/3879#note_1086351
https://gitlab.gnome.org/GNOME/gtk/-/issues/3879#note_1086377
2021-04-20 22:02:10 +03:00
Matthias Clasen
b97d0a3940 a11y: Avoid spurious selection changed events
Only send selection-changed events when we either
had a non-empty selection before, or have one now.

This should help orca speak the right things, and
not the wrong things.

Related: #3549
2021-04-20 13:23:56 -04:00
Emmanuele Bassi
639932ad8a a11y: Emit window:activate event
Orca uses the window:activate event type to track top levels, and avoid
being spammed by events coming from non-focused windows.
2021-04-20 17:24:13 +01:00
Matthias Clasen
1a944b2824 stackswitcher: Set accessible label properties
This makes the tabs in about dialogs come out as
'About', 'Credits', and 'System', instead of
'Tab', 'Tab', 'Tab'.
2021-04-19 22:11:55 -04:00
Matthias Clasen
ae83b79984 a11y: Emit focus events
Orca relies on these to keep track of the focus location,
ignoring the focused state. With this change, orca can
once again speak text in entries as I type.
2021-04-19 21:29:17 -04:00
Matthias Clasen
5f2c08cef1 a11y: Make things appear on focus in
We are starting with a pretty empty a11y object tree,
and we want orca to bring more of it into existence
by navigating the tree. But that only happens when we
send it events. Primarily focus events, which come in
from GTK via the platform_change mechanism. So realize
the context when we are sending platform_changes,
otherwise, orca never gets the mesage.
2021-04-19 20:39:32 -04:00
Matthias Clasen
119d0b666c Merge branch 'fix-uri-crash' into 'master'
Fix a possible crash in gtk_show_uri

Closes #3883

See merge request GNOME/gtk!3457
2021-04-19 21:09:44 +00:00
Matthias Clasen
ce2a433ca1 Fix a possible crash in gtk_show_uri
g_file_get_basename can return NULL.
Deal with it somehow.

Fixes: #3883
2021-04-19 16:49:02 -04:00
Matthias Clasen
a455db01a0 a11y: Actually set accessible roles
With most context realization happening inside
GtkAtspiContext in response to D-Bus calls, the
code in gtk_widget_realize_at_context that sets
the role is not executed for most accessibles,
causing them to be stuck with the 'filler' role
that makes orca ignore them.

To fix this, split gtk_widget_realize_at_context
into the actual context realization (getting on
the bus) and the setting of widget-specific
properties, and do the latter part when the
widget is rooted.

This makes accerciser report proper roles for
entries and buttons. Orca still has an issue
with getting the hierarchy populated.
2021-04-19 19:22:20 +01:00