gtk4.git
3 years agoinspector/general.c: Check whether GL context supports WGL
Chun-wei Fan [Wed, 30 Mar 2022 02:23:49 +0000 (10:23 +0800)]
inspector/general.c: Check whether GL context supports WGL

We may well be using an EGL context that does not support Desktop (W)GL on
Windows, such as in the case of using libANGLE.  So, check whether WGL is
supported for this running instance before trying to query WGL extensions.

This will get rid of warning messages from libepoxy.

3 years agoMerge branch 'wip/exalm/scroll-hold' into 'main'
Carlos Garnacho [Mon, 28 Mar 2022 14:27:55 +0000 (14:27 +0000)]
Merge branch 'wip/exalm/scroll-hold' into 'main'

eventcontrollerscroll: Always propagate hold events

See merge request GNOME/gtk!4599

3 years agoeventcontrollerscroll: Always propagate hold events
Alexander Mikhaylenko [Sun, 27 Mar 2022 21:05:23 +0000 (01:05 +0400)]
eventcontrollerscroll: Always propagate hold events

Otherwise a stray scroll controller may prevent others from getting hold
events, even if it always propagates scroll events and does absolutely
nothing.

3 years agoUpdate Latvian translation
Rūdolfs Mazurs [Sun, 27 Mar 2022 20:19:10 +0000 (20:19 +0000)]
Update Latvian translation

(cherry picked from commit 3b50f2e8b996f92f49d2974ccff2b160905e8e73)

3 years agoUpdate Latvian translation
Rūdolfs Mazurs [Sun, 27 Mar 2022 19:53:51 +0000 (19:53 +0000)]
Update Latvian translation

(cherry picked from commit d4dd7969d64c85984d6dd1e3535347b1669ecfff)

3 years agoMerge branch 'antoniof-main-patch-34986' into 'main'
Emmanuele Bassi [Sun, 27 Mar 2022 16:25:50 +0000 (16:25 +0000)]
Merge branch 'antoniof-main-patch-34986' into 'main'

overlaylayout: Set position style class on child

Closes nautilus#2099

See merge request GNOME/gtk!4597

3 years agooverlaylayout: Set position style class on child
António Fernandes [Sun, 27 Mar 2022 14:59:10 +0000 (14:59 +0000)]
overlaylayout: Set position style class on child

As documented:
> Overlay children whose alignments cause them to be positioned
> at an edge get the style classes “.left”, “.right”, “.top”,
> and/or “.bottom” according to their position.

Likely accidental regression in b7ee2cbc289b4ab8a950cd77bdcd69a6f13932a7

Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2099

3 years agoMerge branch 'inspector-attributes' into 'main'
Matthias Clasen [Fri, 25 Mar 2022 13:03:00 +0000 (13:03 +0000)]
Merge branch 'inspector-attributes' into 'main'

inspector: Allow viewing PangoAttrList properties

See merge request GNOME/gtk!4596

3 years agoinspector: Allow viewing PangoAttrList properties
Matthias Clasen [Fri, 25 Mar 2022 12:35:16 +0000 (08:35 -0400)]
inspector: Allow viewing PangoAttrList properties

We have pango_attr_list_to/from_string, so this is
easy. The editing UI isn't ideal, but it solves my
immediate need to see attributes.

3 years agoMerge branch 'main' into 'main'
Matthias Clasen [Fri, 25 Mar 2022 11:48:28 +0000 (11:48 +0000)]
Merge branch 'main' into 'main'

Check for 'rst2man' misses installed 'rst2man.py' (#4728)

See merge request GNOME/gtk!4586

3 years agoMerge branch 'wip/chergert/fix-gl-rgba' into 'main'
Benjamin Otte [Fri, 25 Mar 2022 01:34:15 +0000 (01:34 +0000)]
Merge branch 'wip/chergert/fix-gl-rgba' into 'main'

gdk/gl: handle GL_RGBA/GL_UNSIGNED_NORMALIZED

Closes #4783

See merge request GNOME/gtk!4594

3 years agogdk/gl: handle GL_RGBA/GL_UNSIGNED_NORMALIZED
Christian Hergert [Thu, 24 Mar 2022 03:20:02 +0000 (20:20 -0700)]
gdk/gl: handle GL_RGBA/GL_UNSIGNED_NORMALIZED

WebKit's GTK 4 port can give us textures with an internal format of
GL_RGBA with GL_UNSIGNED_NORMALIZED and a bit-depth of 8. This fixes
warnings for every GdkGLTexture created/delivered to the GskGLRenderer.

The format is essentially the same as GL_RGBA8 since it is normalized
between 0.0..1.0 for 8-bit components.

Fixes #4783

3 years agoMerge branch 'want_prepare_without_play_for_size' into 'main'
Matthias Clasen [Thu, 24 Mar 2022 19:19:01 +0000 (19:19 +0000)]
Merge branch 'want_prepare_without_play_for_size' into 'main'

GtkMediaStream with gstreamer backend isn't 'prepared' until media is played

See merge request GNOME/gtk!4560

3 years agoApply 1 suggestion(s) to 1 file(s)
Matthias Clasen [Thu, 24 Mar 2022 17:16:11 +0000 (17:16 +0000)]
Apply 1 suggestion(s) to 1 file(s)

3 years agoUpdate British English translation
Bruce Cowan [Thu, 24 Mar 2022 13:19:20 +0000 (13:19 +0000)]
Update British English translation

(cherry picked from commit dd198cfc065f616d0729e1e02bf5773085dcd014)

3 years agoUpdate Indonesian translation
Kukuh Syafaat [Wed, 23 Mar 2022 15:39:17 +0000 (15:39 +0000)]
Update Indonesian translation

3 years agoUpdate Indonesian translation
Kukuh Syafaat [Wed, 23 Mar 2022 13:46:25 +0000 (13:46 +0000)]
Update Indonesian translation

3 years agoMerge branch 'fix-popover-menu-rtl-position' into 'main'
Matthias Clasen [Wed, 23 Mar 2022 02:16:41 +0000 (02:16 +0000)]
Merge branch 'fix-popover-menu-rtl-position' into 'main'

popover-menu: Fix buttons' position in RTL

See merge request GNOME/gtk!4587

3 years agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Tue, 22 Mar 2022 14:47:50 +0000 (14:47 +0000)]
Update Chinese (Taiwan) translation

3 years agoMerge branch 'wip/chergert/reduce-overlay-overhead' into 'main'
Matthias Clasen [Tue, 22 Mar 2022 13:27:54 +0000 (13:27 +0000)]
Merge branch 'wip/chergert/reduce-overlay-overhead' into 'main'

Default: avoid use of opacity for overlay scrollbars

See merge request GNOME/gtk!4590

3 years agoMerge branch 'fix-high-depth-switch' into 'main'
Matthias Clasen [Tue, 22 Mar 2022 12:58:07 +0000 (12:58 +0000)]
Merge branch 'fix-high-depth-switch' into 'main'

surface: Use correct display when destroying a surface for depth switch

Closes #4773

See merge request GNOME/gtk!4591

3 years agosurface: Use correct display when destroying a surface for depth switch
Sebastian Keller [Tue, 22 Mar 2022 07:11:18 +0000 (08:11 +0100)]
surface: Use correct display when destroying a surface for depth switch

When surface depth switches from non-high-depth to high-depth (or vice
versa) the current surface has to be destroyed before a new one can be
created for this window. eglDestroySurface however was getting passed a
GdkDisplay, rather than the EGLDisplay it expects. As a result the old
surface did not get destroyed and the new surface could not be created
causing rendering to freeze.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4773
3 years agoDefault: avoid use of opacity for overlay scrollbars
Christian Hergert [Tue, 22 Mar 2022 01:54:09 +0000 (18:54 -0700)]
Default: avoid use of opacity for overlay scrollbars

If using the opacity CSS property the renderer cannot optimize these
handles without the use of offscreens due to the use of both a border
and rgb render node.

Instead, we can apply the alpha to the color values and get the same
effect in a way that the GL renderer can optimize without the use of
offscreen textures for a sizeable reduction in runtime overhead.

3 years agoUpdated Czech translation
Marek Černocký [Mon, 21 Mar 2022 13:57:35 +0000 (14:57 +0100)]
Updated Czech translation

3 years agoUpdated Czech translation
Marek Černocký [Mon, 21 Mar 2022 11:14:36 +0000 (12:14 +0100)]
Updated Czech translation

3 years agopopover-menu: Fix buttons' position in RTL
Yosef Or Boczko [Sat, 19 Mar 2022 22:43:57 +0000 (00:43 +0200)]
popover-menu: Fix buttons' position in RTL

The radio/check/previous buttons shows in
the wrong place in RTL. Fix it.

#4641

Signed-off-by: Yosef Or Boczko <yoseforb@gmail.com>
3 years agoCheck for 'rst2man' misses installed 'rst2man.py' (#4728)
aneejit1 [Sat, 19 Mar 2022 10:41:32 +0000 (10:41 +0000)]
Check for 'rst2man' misses installed 'rst2man.py' (#4728)

By default, 'docutils' installs 'rst2man' as 'rst2man.py'. Amend the
check for 'rst2man' to look for 'rst2man.py' as well if 'rst2man' is
not found.

3 years agoUpdate German translation
Philipp Kiemle [Sat, 19 Mar 2022 12:32:20 +0000 (12:32 +0000)]
Update German translation

(cherry picked from commit d9c39f67954921eb2dab4cb5d044eacd4ee4297d)

3 years agoMerge branch 'wip/carlosg/fix-accumulated-velocity' into 'main'
Carlos Garnacho [Sat, 19 Mar 2022 12:02:56 +0000 (12:02 +0000)]
Merge branch 'wip/carlosg/fix-accumulated-velocity' into 'main'

kinetic scroll fixes

See merge request GNOME/gtk!4572

3 years agogtkkineticscrolling: Do not take distance based shortcuts
Carlos Garnacho [Tue, 15 Mar 2022 21:42:13 +0000 (22:42 +0100)]
gtkkineticscrolling: Do not take distance based shortcuts

The pixel distance could be small enough between tick() calls that
this kind of checks might potentially become a problem. Rely only on
the calculated velocity to trigger the STOPPED phase, and use a lower
threshold to avoid cutting the animation too early.

Related: https://gitlab.gnome.org/GNOME/gtk/-/issues/4725

3 years agogtkscrolledwindow: Do not trigger kinetic helpers on 0 velocity
Carlos Garnacho [Tue, 15 Mar 2022 21:41:27 +0000 (22:41 +0100)]
gtkscrolledwindow: Do not trigger kinetic helpers on 0 velocity

Doing this is pointless, so it could be skipped.

3 years agogtkscrolledwindow: Change lifetime of kinetic scroll helpers
Carlos Garnacho [Tue, 15 Mar 2022 21:01:36 +0000 (22:01 +0100)]
gtkscrolledwindow: Change lifetime of kinetic scroll helpers

In order to properly accumulate scroll velocities, we need to keep
the kinetic scroll helpers after we have possibly stopped them
in the process of initiating a further scroll flick.

So, instead of stopping (and destroying) those helpers on scroll-begin,
keep them until the next scroll-end if a scroll was initiated before
kinetic scroll finished. This way we can fetch the last velocity when
calculating the extra kick.

In order to ensure the helpers don't live beyond what it is expected,
we now also remove them after a finished hold event.

Fixes the accumulation of scrolling velocity on consecutive scroll
sequences.

3 years agogtkscrolledwindow: Refactor kinetic scroll animation
Carlos Garnacho [Tue, 15 Mar 2022 20:59:12 +0000 (21:59 +0100)]
gtkscrolledwindow: Refactor kinetic scroll animation

Do not depend on the kinetic scroll helpers existing or not before
exiting the animation, as we may want to keep those a little bit
longer after stopped.

3 years agogtkkineticscroll: Do not reset velocity after stop()
Carlos Garnacho [Tue, 15 Mar 2022 20:52:35 +0000 (21:52 +0100)]
gtkkineticscroll: Do not reset velocity after stop()

We may want to fetch the last velocity obtained, even though we
preemptively called stop() on a kinetic scroll helper. Keep this
velocity so it can be queried later on.

3 years agoMerge branch 'search-delay-versions' into 'main'
Emmanuele Bassi [Sat, 19 Mar 2022 10:14:04 +0000 (10:14 +0000)]
Merge branch 'search-delay-versions' into 'main'

Fix GtkSearchEntry:search-delay docs

See merge request GNOME/gtk!4585

3 years agoAdd version marker to GtkSearchEntry:search-delay property
Sebastian Dröge [Sat, 19 Mar 2022 09:56:05 +0000 (11:56 +0200)]
Add version marker to GtkSearchEntry:search-delay property

3 years agoFix typo in gtk_search_entry_set_search_delay() docs causing it to not show up
Sebastian Dröge [Sat, 19 Mar 2022 09:55:03 +0000 (11:55 +0200)]
Fix typo in gtk_search_entry_set_search_delay() docs causing it to not show up

3 years agoMerge branch 'macos-fix-scroll-unit-build' into 'main'
Matthias Clasen [Sat, 19 Mar 2022 03:57:48 +0000 (03:57 +0000)]
Merge branch 'macos-fix-scroll-unit-build' into 'main'

macos: fix scroll-unit build

See merge request GNOME/gtk!4584

3 years agomacos: fix scroll-unit build
panoplie [Sat, 19 Mar 2022 01:55:02 +0000 (02:55 +0100)]
macos: fix scroll-unit build

3 years agoMerge branch 'scroll-unit' into 'main'
Carlos Garnacho [Sat, 19 Mar 2022 00:47:08 +0000 (00:47 +0000)]
Merge branch 'scroll-unit' into 'main'

GdkScrollEvent: indicate the delta unit with a new GdkScrollUnit enum

See merge request GNOME/gtk!4508

3 years agoMerge branch 'wip/carlosg/rewritten-events-from-other-toplevels' into 'main'
Matthias Clasen [Sat, 19 Mar 2022 00:34:17 +0000 (00:34 +0000)]
Merge branch 'wip/carlosg/rewritten-events-from-other-toplevels' into 'main'

gtk/main: Make coords out of surface when rewriting events for grabs

Closes #4760

See merge request GNOME/gtk!4566

3 years agoMerge branch 'wip/chergert/gsk-gl-texture-library' into 'main'
Matthias Clasen [Fri, 18 Mar 2022 23:46:17 +0000 (23:46 +0000)]
Merge branch 'wip/chergert/gsk-gl-texture-library' into 'main'

gsk/gl: texture libraries, shader creation

See merge request GNOME/gtk!4583

3 years agogtkeventcontrollerscroll: Map surface scroll unit in discrete steps
panoplie [Thu, 24 Feb 2022 22:36:58 +0000 (23:36 +0100)]
gtkeventcontrollerscroll: Map surface scroll unit in discrete steps

3 years agorecorder: Show scroll events deltas unit
panoplie [Tue, 22 Feb 2022 13:12:44 +0000 (14:12 +0100)]
recorder: Show scroll events deltas unit

3 years agogtkrange: Add scroll unit handling
panoplie [Mon, 28 Feb 2022 20:45:06 +0000 (21:45 +0100)]
gtkrange: Add scroll unit handling

3 years agogtkscrolledwindow: Add scroll unit handling
panoplie [Mon, 21 Feb 2022 15:24:00 +0000 (16:24 +0100)]
gtkscrolledwindow: Add scroll unit handling

On the "scroll" signal, the widget uses
gtk_event_controller_scroll_get_unit() to get the
scroll unit.

When the unit is GDK_SCROLL_UNIT_WHEEL, the
behavior is unchanged: the widget scrolls a
certain number of pixels at each wheel detent
click. This number of pixels is determined by the
window dimensions in get_wheel_detent_scroll_step().

When the delta unit is GDK_SCROLL_UNIT_SURFACE, the
widget directly adds the delta to the number of
scrolled pixels no matter the window dimensions.

3 years agogtkeventcontrollerscroll: Add scroll unit getter
panoplie [Mon, 21 Feb 2022 15:23:24 +0000 (16:23 +0100)]
gtkeventcontrollerscroll: Add scroll unit getter

The scroll unit is accessible through
gtk_event_controller_scroll_get_unit() after the
"scroll" signal reception.

3 years agogdk: Add enum to indicate the unit of scroll deltas
panoplie [Mon, 21 Feb 2022 15:22:57 +0000 (16:22 +0100)]
gdk: Add enum to indicate the unit of scroll deltas

Add a new GdkScrollUnit enum that represent the
unit of scroll deltas provided by GdkScrollEvent.
The unit is accessible through
gdk_scroll_event_get_unit().

3 years agogsk/gl: use consistent library naming
Christian Hergert [Fri, 18 Mar 2022 21:55:13 +0000 (14:55 -0700)]
gsk/gl: use consistent library naming

3 years agogsk/gl: make texture libraries more autonomous
Christian Hergert [Fri, 18 Mar 2022 21:51:41 +0000 (14:51 -0700)]
gsk/gl: make texture libraries more autonomous

This moves a lot of the texture atlas control out of the driver and into
the various texture libraries through their base GskGLTextureLibrary class.

Additionally, this gives more control to libraries on allocating which can
be necessary for some tooling such as future Glyphy integration.

As part of this, the 1x1 pixel initialization is moved to the Glyph library
which is the only place where it is actually needed.

The compact vfunc now is responsible for compaction and it allows for us
to iterate the atlas hashtable a single time instead of twice as we were
doing previously.

The init_atlas vfunc is used to do per-library initialization such as
adding a 1x1 pixel in the Glyph cache used for coloring lines.

The allocate vfunc purely allocates but does no upload. This can be useful
for situations where a library wants to reuse the allocator from the
base class but does not want to actually insert a key/value entry. The
glyph library uses this for it's 1x1 pixel.

In the future, we will also likely want to decouple the rectangle packing
implementation from the atlas structure, or at least move it into a union
so that we do not allocate unused memory for alternate allocators.

3 years agogsk/gl: pin atlases to single texture library
Christian Hergert [Fri, 18 Mar 2022 19:48:43 +0000 (12:48 -0700)]
gsk/gl: pin atlases to single texture library

This removes the sharing of atlases across various texture libraries. Doing
so is necessary so that atlases can have different semantics for how they
allocate within the texture as well as potentially allowing for different
formats of texture data.

For example, in the future we might store non-pixel data in the textures
such as Glyphy or even keep glyphs with color content separate from glyphs
which do not and can use alpha channel only.

3 years agogsk/gl: add more control over shader generation
Christian Hergert [Thu, 17 Mar 2022 23:50:51 +0000 (16:50 -0700)]
gsk/gl: add more control over shader generation

This allows the gskglprograms.defs a bit more control over how a shader
will get generated and if it needs to combine sources. Currently, none of
the built-in shaders do that, but upcoming shaders which come from external
libraries will need the ability to inject additional sources in-between
layers.

3 years agogsk/gl: rename glyphs to glyphs_library
Christian Hergert [Thu, 17 Mar 2022 23:48:54 +0000 (16:48 -0700)]
gsk/gl: rename glyphs to glyphs_library

This naming style is less likely to collide with shader naming and makes
it clear where it is consumed what it is.

3 years agogsk/gl: allow configuring atlas size
Christian Hergert [Thu, 17 Mar 2022 23:43:58 +0000 (16:43 -0700)]
gsk/gl: allow configuring atlas size

3 years agogsk/gl: check for format as well
Christian Hergert [Mon, 14 Mar 2022 23:22:52 +0000 (16:22 -0700)]
gsk/gl: check for format as well

This could potentially happen if a uniform had never been set.

3 years agogsk/gl: only clear glyph cache durign reclaimation
Christian Hergert [Tue, 15 Mar 2022 22:55:30 +0000 (15:55 -0700)]
gsk/gl: only clear glyph cache durign reclaimation

We don't need to clear the front cache on every frame as we can clear it
specifically when we do reclaimation to avoid unnecessary memset() calls.

3 years agogsk/gl: ignore max_entry_size when zero
Christian Hergert [Tue, 15 Mar 2022 22:53:47 +0000 (15:53 -0700)]
gsk/gl: ignore max_entry_size when zero

If the max_entry_size is zero, then assume we can add anything to the
atlas. This allows for situations where we might be uploading an arc list
to the atlas instead of pixel data for GPU font rendering.

3 years agogsk/gl: make max-frame-age configurable
Christian Hergert [Tue, 15 Mar 2022 22:52:44 +0000 (15:52 -0700)]
gsk/gl: make max-frame-age configurable

This is nice for some texture libraries that we might want to keep around
for longer than say 60 frames such as a glyph cache.

3 years agogtk-demo: Don't hardcode a title font
Matthias Clasen [Fri, 18 Mar 2022 04:59:57 +0000 (00:59 -0400)]
gtk-demo: Don't hardcode a title font

We want a large font size, but we don't have to
hardcode Sans.

3 years agoMerge branch 'filefilter-suffixes' into 'main'
Matthias Clasen [Thu, 17 Mar 2022 16:57:09 +0000 (16:57 +0000)]
Merge branch 'filefilter-suffixes' into 'main'

filefilter: Fix <suffixes> in buildable

See merge request GNOME/gtk!4581

3 years agofilefilter: Fix <suffixes> in buildable
James Westman [Thu, 17 Mar 2022 15:49:39 +0000 (10:49 -0500)]
filefilter: Fix <suffixes> in buildable

A bug in GtkFileFilter's GtkBuildable implementation caused the
<suffixes> tag not to be recognized.

3 years agoUpdate Italian translation
Milo Casagrande [Thu, 17 Mar 2022 08:35:42 +0000 (08:35 +0000)]
Update Italian translation

(cherry picked from commit 3e4bfa2bae9c6e90005b57d9f9fe47d2301f0e0e)

3 years agoUpdate Italian translation
Milo Casagrande [Thu, 17 Mar 2022 08:34:04 +0000 (08:34 +0000)]
Update Italian translation

(cherry picked from commit 9bbf09fb0a9dbd8ae2c9e64a842138f182681d14)

3 years agoUpdate Serbian translation
Мирослав Николић [Thu, 17 Mar 2022 06:04:15 +0000 (06:04 +0000)]
Update Serbian translation

(cherry picked from commit c874f65d95beef98c99297f05bbed64e7e932f02)

3 years agoMerge branch 'wip/carlosg/im-wayland-serials' into 'main'
Carlos Garnacho [Wed, 16 Mar 2022 18:52:24 +0000 (18:52 +0000)]
Merge branch 'wip/carlosg/im-wayland-serials' into 'main'

gtk/imwayland: Use serial to control outbound messages

Closes #3641

See merge request GNOME/gtk!4398

3 years agogtk/imwayland: Use serial to control outbound messages
Carlos Garnacho [Tue, 18 Jan 2022 22:31:09 +0000 (23:31 +0100)]
gtk/imwayland: Use serial to control outbound messages

Following the text-input protocol changes at
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/115,
use the serial number to have the client push changes to the
zwp_text_input_v3 object only after compositor/client states match.

This specifically is more lenient to compositors pushing multiple
.done events ahead of the client replying to them.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3641
3 years agoMerge branch 'wip/carlosg/im-text-location' into 'main'
Matthias Clasen [Wed, 16 Mar 2022 11:54:26 +0000 (11:54 +0000)]
Merge branch 'wip/carlosg/im-text-location' into 'main'

gtkimcontextwayland: Add native surface offset to input coordinates

Closes #4668

See merge request GNOME/gtk!4573

3 years agogtkimcontextwayland: Add native surface offset to input coordinates
Carlos Garnacho [Wed, 16 Mar 2022 08:55:20 +0000 (09:55 +0100)]
gtkimcontextwayland: Add native surface offset to input coordinates

We were missing the surface offset (e.g. shadows) at the time of expressing
the text caret location in surface coordinates. Add this offset so the
coordinates are as expected by the compositor.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4668
3 years agoMerge branch 'gtk/gss-search-delay' into 'main'
Matthias Clasen [Tue, 15 Mar 2022 22:40:54 +0000 (22:40 +0000)]
Merge branch 'gtk/gss-search-delay' into 'main'

searchentry: Make search delay editable

Closes #4133

See merge request GNOME/gtk!4563

3 years agosearchentry: Make search delay editable
Ondřej Míchal [Fri, 11 Mar 2022 00:15:49 +0000 (02:15 +0200)]
searchentry: Make search delay editable

The default search delay of 150ms can be too low at times[0], leading app
developers to add additional delay while handling the search-changed
signal[1].

Based on past work from hugsie[2].

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4133

[0] https://github.com/getting-things-gnome/gtg/issues/281
[1] https://github.com/getting-things-gnome/gtg/pull/587
[2] https://gitlab.gnome.org/GNOME/gtk/-/issues/678

3 years agoUpdate Norwegian Bokmål translation
Kjartan Maraas [Tue, 15 Mar 2022 15:26:33 +0000 (15:26 +0000)]
Update Norwegian Bokmål translation

(cherry picked from commit 72a557087cd824f3e90c9b22ba05a0bef833a6a6)

3 years agoMerge branch 'main' into 'main'
Matthias Clasen [Tue, 15 Mar 2022 14:37:14 +0000 (14:37 +0000)]
Merge branch 'main' into 'main'

gtkplacessidebar: Prevent calling g_object_unref on null

See merge request GNOME/gtk!4569

3 years agoApply 1 suggestion(s) to 1 file(s)
Matthias Clasen [Tue, 15 Mar 2022 14:35:09 +0000 (14:35 +0000)]
Apply 1 suggestion(s) to 1 file(s)

3 years agoMerge branch 'wip/jimmac/symbolics-gnome-42-sync' into 'main'
Matthias Clasen [Tue, 15 Mar 2022 14:29:27 +0000 (14:29 +0000)]
Merge branch 'wip/jimmac/symbolics-gnome-42-sync' into 'main'

icons: update symbolics

See merge request GNOME/gtk!4571

3 years agogtk/main: Fix handling of !owner_events grabs
Carlos Garnacho [Tue, 15 Mar 2022 13:32:10 +0000 (14:32 +0100)]
gtk/main: Fix handling of !owner_events grabs

These are meant to always redirect events to the grabbing surface,
even for other surfaces of the same client. We weren't doing that
(instead letting the event go through unmodified), fix this handling
so GTK sees the events consistenty.

3 years agogtk/main: Make coords out of surface when rewriting events for grabs
Carlos Garnacho [Mon, 14 Mar 2022 12:29:11 +0000 (13:29 +0100)]
gtk/main: Make coords out of surface when rewriting events for grabs

If a grab is held on a toplevel surface tree, and events happen on a
different surface tree from another toplevel/window group, we rewrite
these events so they look like generated on the window group that
holds the grab, but it missed that coordinates would fail to be
translated, so these would stay unchanged and "pointing" to random
parts of the toplevel that is holding the grab and handling the events.

Since off-surface coordinates are not specially meaningful, and in
fact impossible to obtain in some backends, just fake the coordinates
making it sure that all rewritten events point outside the surface.

The grabbing window will still handle the events, but the coordinates
in these will be harmlessly moot.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4760
3 years agoMerge branch 'avoid-objcopy-on-arm' into 'main'
Matthias Clasen [Tue, 15 Mar 2022 13:08:53 +0000 (13:08 +0000)]
Merge branch 'avoid-objcopy-on-arm' into 'main'

build: Avoid objcopy on arm

Closes #4757, #4748, and #4752

See merge request GNOME/gtk!4567

3 years agoicons: update symbolics
Jakub Steiner [Tue, 15 Mar 2022 07:31:26 +0000 (08:31 +0100)]
icons: update symbolics

- match the metaphors/style updates of gnome 42

See https://gitlab.gnome.org/GNOME/gtk/-/issues/4764

3 years agoUpdate Serbian translation
Мирослав Николић [Tue, 15 Mar 2022 06:33:22 +0000 (06:33 +0000)]
Update Serbian translation

(cherry picked from commit b59f9b97f38c40160c79d3c06e301f32eb9cb941)

3 years agoMerge branch 'builder-tool-nodisplay' into 'main'
Matthias Clasen [Mon, 14 Mar 2022 22:15:11 +0000 (22:15 +0000)]
Merge branch 'builder-tool-nodisplay' into 'main'

gtk-builder-tool: Operate without display

See merge request GNOME/gtk!4568

3 years agogtkplacessidebar: Prevent calling g_object_unref on null
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

3 years agogtk-builder-tool: Operate without display
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().

3 years agobuild: Avoid objcopy on arm
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
3 years agoUpdate German translation
Christian Kirbach [Sun, 13 Mar 2022 22:08:50 +0000 (22:08 +0000)]
Update German translation

(cherry picked from commit a1f473565213fbf74b1bab4f397a7099a0ce1c30)

3 years agoMerge branch 'wip/lantw/build-Don't-use-ld-and-objcopy-when-cross-compiling' into...
Matthias Clasen [Sun, 13 Mar 2022 14:31:23 +0000 (14:31 +0000)]
Merge branch 'wip/lantw/build-Don't-use-ld-and-objcopy-when-cross-compiling' into 'main'

build: Don't use ld and objcopy when cross-compiling

See merge request GNOME/gtk!4565

3 years agobuild: Don't use ld and objcopy when cross-compiling
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.

3 years agoUpdate Hungarian translation
Balázs Úr [Sun, 13 Mar 2022 00:23:04 +0000 (00:23 +0000)]
Update Hungarian translation

3 years agoMerge branch 'wip/chergert/for-main' into 'main'
Matthias Clasen [Sat, 12 Mar 2022 19:07:41 +0000 (19:07 +0000)]
Merge branch 'wip/chergert/for-main' into 'main'

macos: fit'n'finish fixes for main

See merge request GNOME/gtk!4564

3 years agoUpdate Kazakh translation
Baurzhan Muftakhidinov [Sat, 12 Mar 2022 13:23:19 +0000 (13:23 +0000)]
Update Kazakh translation

(cherry picked from commit 6ac723321f23e64e7045f27d7d6ccf5d21ed57ab)

3 years agoUpdate Swedish translation
Anders Jonsson [Sat, 12 Mar 2022 11:39:05 +0000 (11:39 +0000)]
Update Swedish translation

(cherry picked from commit 343b08f3e6b1c4922e9cc4e5a2fa8f9ffe01ff3b)

3 years agomacos: exclude popups from window list
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.

3 years agomacos: pass events to foreign windows
Christian Hergert [Sat, 12 Mar 2022 02:25:47 +0000 (18:25 -0800)]
macos: pass events to foreign windows

3 years agomacos: clear sorted surfaces when showing file chooser
Christian Hergert [Sat, 12 Mar 2022 02:19:44 +0000 (18:19 -0800)]
macos: clear sorted surfaces when showing file chooser

When showing the native file chooser, we need to ensure we clear the
sorted surfaces in the display so that we don't risk delivering events
correctly on the next frame.

3 years agomacos: dont steal key window from NSPanel
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.

3 years agomacos: fix window level for popups
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.

3 years agomacos: fix attachment of popups to parents
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é.

3 years agomacos: fix window activation during shadow click-through
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.

3 years agomacos: select new key window after processing events
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.

3 years agomacos: request layout with server-side decoration
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).

3 years agomacos: fix resize when using server-side decorations
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.