<feed xmlns='http://www.w3.org/2005/Atom'>
<title>marco/src/core/window.c, branch focus-modal-dialogs</title>
<subtitle>MATE default window manager</subtitle>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/'/>
<entry>
<title>window: focus modal dialogs whose ancestor is focused</title>
<updated>2026-05-15T20:19:10+00:00</updated>
<author>
<name>Saverio Miroddi</name>
<email>saverio.pub2@gmail.com</email>
</author>
<published>2026-04-28T17:41:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=2dfcf261932e2524d299d09d658b7ab1c81fc61b'/>
<id>2dfcf261932e2524d299d09d658b7ab1c81fc61b</id>
<content type='text'>
Fixes #784.

Commit 6ea23df ("window: do not unfocus on new window") imported the
Metacity bf17c79 / Mutter 998d921d behavior for GNOME Bugzilla #773210:
when a new transient maps without taking focus, keep focus on the parent
so GTK popup and completion windows and VLC fullscreen controls do not
steal keyboard focus.

That blanket change also affected modal dialogs whose parent already has
focus. Electron and GTK file chooser dialogs can reach
meta_window_show() with takes_focus_on_map false because their
_NET_WM_USER_TIME is missing or stale. Since 6ea23df, such dialogs are
mapped above the parent but keyboard focus stays on the parent, so
typing goes to the wrong window.

Keep the bf17c79-equivalent behavior for non-modal transients, but when
the new window is a META_WINDOW_MODAL_DIALOG whose ancestor is the
current focus window, force takes_focus_on_map so the blocking dialog
receives keyboard focus immediately.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #784.

Commit 6ea23df ("window: do not unfocus on new window") imported the
Metacity bf17c79 / Mutter 998d921d behavior for GNOME Bugzilla #773210:
when a new transient maps without taking focus, keep focus on the parent
so GTK popup and completion windows and VLC fullscreen controls do not
steal keyboard focus.

That blanket change also affected modal dialogs whose parent already has
focus. Electron and GTK file chooser dialogs can reach
meta_window_show() with takes_focus_on_map false because their
_NET_WM_USER_TIME is missing or stale. Since 6ea23df, such dialogs are
mapped above the parent but keyboard focus stays on the parent, so
typing goes to the wrong window.

Keep the bf17c79-equivalent behavior for non-modal transients, but when
the new window is a META_WINDOW_MODAL_DIALOG whose ancestor is the
current focus window, force takes_focus_on_map so the blocking dialog
receives keyboard focus immediately.
</pre>
</div>
</content>
</entry>
<entry>
<title>display: Use global MRU list for switch-windows-all</title>
<updated>2026-03-16T20:05:28+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-02-09T20:20:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=4974ffb4b16bed4bd8e98fd52484cb2a2cfb095e'/>
<id>4974ffb4b16bed4bd8e98fd52484cb2a2cfb095e</id>
<content type='text'>
When using switch-windows-all to cycle through windows across all
workspaces, marco was grouping windows by workspace rather than using
a global MRU (most-recently-used) list. This caused several issues:

- Sticky windows appeared multiple times, once per workspace
- Window order was confusing (since they were grouped by workspace number)
- Behavior was different from other window managers

Fixed by collecting all windows, sorting them by recency, then building
the tab list from this global list.

Fixes #286
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When using switch-windows-all to cycle through windows across all
workspaces, marco was grouping windows by workspace rather than using
a global MRU (most-recently-used) list. This caused several issues:

- Sticky windows appeared multiple times, once per workspace
- Window order was confusing (since they were grouped by workspace number)
- Behavior was different from other window managers

Fixed by collecting all windows, sorting them by recency, then building
the tab list from this global list.

Fixes #286
</pre>
</div>
</content>
</entry>
<entry>
<title>fix switch-windows-all hotkey</title>
<updated>2026-02-09T14:40:49+00:00</updated>
<author>
<name>Denis Gorodnichev</name>
<email>denis.gorodnichev@gmail.com</email>
</author>
<published>2023-02-24T20:12:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=7e6aede0af4db55a2db687bae64f5ffdbf05e92f'/>
<id>7e6aede0af4db55a2db687bae64f5ffdbf05e92f</id>
<content type='text'>
pass focus to window if it is on another workspace
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
pass focus to window if it is on another workspace
</pre>
</div>
</content>
</entry>
<entry>
<title>window: Fix corner-tiled windows becoming maximized on reload</title>
<updated>2026-01-21T11:34:52+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-01-21T02:21:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=490e2364d28aaedf3c34e3f479d817950ccaf81f'/>
<id>490e2364d28aaedf3c34e3f479d817950ccaf81f</id>
<content type='text'>
Corner-tiled windows were being treated as maximized horizontally, which
is wrong. Instead, we clear all maximized flags to make sure their size
is respected on reload.

Fixes #710
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Corner-tiled windows were being treated as maximized horizontally, which
is wrong. Instead, we clear all maximized flags to make sure their size
is respected on reload.

Fixes #710
</pre>
</div>
</content>
</entry>
<entry>
<title>theme: Include shadow and resize borders</title>
<updated>2025-11-01T18:55:54+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-09-09T14:34:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=3261bbdce6cc0fa494c257849cb69c640f1aeade'/>
<id>3261bbdce6cc0fa494c257849cb69c640f1aeade</id>
<content type='text'>
Extend MetaFrameBorders to include shadow and resize borders to
calculate invisible border size. Also added border caching to prevent
recalculating borders on every frame operation.

This is a backport of the following commits from Metacity:
- https://gitlab.gnome.org/GNOME/metacity/-/commit/21e664af
- https://gitlab.gnome.org/GNOME/metacity/-/commit/3c6e269b
- https://gitlab.gnome.org/GNOME/metacity/-/commit/700e87ea
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extend MetaFrameBorders to include shadow and resize borders to
calculate invisible border size. Also added border caching to prevent
recalculating borders on every frame operation.

This is a backport of the following commits from Metacity:
- https://gitlab.gnome.org/GNOME/metacity/-/commit/21e664af
- https://gitlab.gnome.org/GNOME/metacity/-/commit/3c6e269b
- https://gitlab.gnome.org/GNOME/metacity/-/commit/700e87ea
</pre>
</div>
</content>
</entry>
<entry>
<title>window: Parse _BAMF_DESKTOP_FILE property</title>
<updated>2025-04-02T20:37:16+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2024-04-08T16:23:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=797b4dc01895b9936c68aad9f8b4e8b7b24502ab'/>
<id>797b4dc01895b9936c68aad9f8b4e8b7b24502ab</id>
<content type='text'>
In systems with bamfdaemon running, windows get this property for
finding the dekstop spec file of an application. This can be used to
find the defined icon for any application window that reports this
attribute and provider much better icon matching.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In systems with bamfdaemon running, windows get this property for
finding the dekstop spec file of an application. This can be used to
find the defined icon for any application window that reports this
attribute and provider much better icon matching.
</pre>
</div>
</content>
</entry>
<entry>
<title>iconcache: Add GDesktopAppInfo lookup as an icon caching strategy</title>
<updated>2025-04-02T20:37:16+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2023-03-03T18:00:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=34a06a853aedea845b4723989b97b1384e80869d'/>
<id>34a06a853aedea845b4723989b97b1384e80869d</id>
<content type='text'>
Looking up GDesktopAppInfo from the GTK Application ID we can get a much
better match for the icon and load it at the appropriate scale. This
results in matching icons to straneous windows and better looking icons
overall.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Looking up GDesktopAppInfo from the GTK Application ID we can get a much
better match for the icon and load it at the appropriate scale. This
results in matching icons to straneous windows and better looking icons
overall.
</pre>
</div>
</content>
</entry>
<entry>
<title>window: Parse _GTK_APPLICATION_ID property</title>
<updated>2025-04-02T20:37:16+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2024-04-05T18:04:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=94ff81575062ecdd57a28eb8a3c7bfaaa6b77b03'/>
<id>94ff81575062ecdd57a28eb8a3c7bfaaa6b77b03</id>
<content type='text'>
GTK+ has support for the application ID property. This will allow Marco
to reconstruct the path to the desktop spec file and so have access to
all internal attributes (e.g. name, icon, etc.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GTK+ has support for the application ID property. This will allow Marco
to reconstruct the path to the desktop spec file and so have access to
all internal attributes (e.g. name, icon, etc.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow applications to raise windows when raise_on_click is off.</title>
<updated>2023-10-14T07:46:31+00:00</updated>
<author>
<name>ns</name>
<email>0n-s@users.noreply.github.com</email>
</author>
<published>2023-10-10T16:10:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=22df555ebe785c023471e6de3da7e037fc7f3b94'/>
<id>22df555ebe785c023471e6de3da7e037fc7f3b94</id>
<content type='text'>
This is Metacity commit 50358a95 ("Allow applications to raise windows
when raise_on_click is off. Closes #445447.") applied to Marco without
modification.

It also includes a change to the GSettings key's description to remove
the now obsolete warning on the raise-on-click key, &amp; replaces it with
an actually useful description. This is copied from the equivalent key
in gsettings-desktop-schemas.

Fixes: https://github.com/mate-desktop/marco/issues/762
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is Metacity commit 50358a95 ("Allow applications to raise windows
when raise_on_click is off. Closes #445447.") applied to Marco without
modification.

It also includes a change to the GSettings key's description to remove
the now obsolete warning on the raise-on-click key, &amp; replaces it with
an actually useful description. This is copied from the equivalent key
in gsettings-desktop-schemas.

Fixes: https://github.com/mate-desktop/marco/issues/762
</pre>
</div>
</content>
</entry>
<entry>
<title>window: do not disable fullscreen for dialogs</title>
<updated>2022-10-15T08:34:36+00:00</updated>
<author>
<name>Alberts Muktupāvels</name>
<email>alberts.muktupavels@gmail.com</email>
</author>
<published>2022-10-02T23:44:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=4bd4942da80bf73320993eb1dd3c9aedf8123b11'/>
<id>4bd4942da80bf73320993eb1dd3c9aedf8123b11</id>
<content type='text'>
fixes https://github.com/mate-desktop/marco/issues/735
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fixes https://github.com/mate-desktop/marco/issues/735
</pre>
</div>
</content>
</entry>
</feed>
