<feed xmlns='http://www.w3.org/2005/Atom'>
<title>marco/src, branch master</title>
<subtitle>MATE default window manager</subtitle>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/'/>
<entry>
<title>Change default icon from preferences-desktop-theme to application-x-executable</title>
<updated>2026-06-17T19:15:53+00:00</updated>
<author>
<name>Mystia-Izakaya</name>
<email>duwwwy@gmail.com</email>
</author>
<published>2026-06-13T00:38:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=2db9ab174696a9ea88ad1bfd0043fdf6ca5db489'/>
<id>2db9ab174696a9ea88ad1bfd0043fdf6ca5db489</id>
<content type='text'>
The preferences-desktop-theme icon is really annoying and confusing as the default icon for windows which do not have an icon. I suggest using application-x-executable as a more visually consistent alternative.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The preferences-desktop-theme icon is really annoying and confusing as the default icon for windows which do not have an icon. I suggest using application-x-executable as a more visually consistent alternative.</pre>
</div>
</content>
</entry>
<entry>
<title>window: sync up command line option and code behavior.</title>
<updated>2026-05-28T20:45:56+00:00</updated>
<author>
<name>Mihai Moldovan</name>
<email>ionic@ionic.de</email>
</author>
<published>2020-03-07T21:54:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=241696c5f6f6b938de6ce89e8051d9ab06c00a4e'/>
<id>241696c5f6f6b938de6ce89e8051d9ab06c00a4e</id>
<content type='text'>
The description for --no-force-fullscreen explicitly states that it
disabled forcing fullscreen mode on windows that have *no* decorations
and are screen-sized.

Up until now, the code directly contradicted that by running the part
only if either the decorations where *enabled* or no CSD being used.

That causes multiple problems.

For once, modern video players, which can certainly not be regarded as
"legacy applications", that try to show the video window as big as
possible and hence set the extents to exactly the screen size, including
using static gravity (so that borders are NOT removed from the window
size automatically) but still request a border are wrongly forced into
fullscreen mode by this hack. Changing the gravity would work around
that problem because the window size is effectively lowered, but we
can't expect applications to work around bugs in marco.

Secondly, the check for window decorations (or not) gets completely
cancelled out by the OR'd check for no CSD. According to the original
commit message, this hasn't been the intention, but rather to NOT force
fullscreen mode on windows that have no decorations and are CSD. It was
meant well, but the logic behind the change failed to do what it was
supposed to do.

Hence, fix that by checking if an application explicitly disabled window
decorations *AND* is not CSD.

This syncs up the help description and code behavior and fixes the CSD
part, but note that, naturally, it also changes the general behavior.
Specifically, this might break cases in which applications were supposed
to be forced into fullscreen mode even though they didn't explicitly
disable window decorations. I'd argue that such behavior would rather be
a bug and not a feature, though.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The description for --no-force-fullscreen explicitly states that it
disabled forcing fullscreen mode on windows that have *no* decorations
and are screen-sized.

Up until now, the code directly contradicted that by running the part
only if either the decorations where *enabled* or no CSD being used.

That causes multiple problems.

For once, modern video players, which can certainly not be regarded as
"legacy applications", that try to show the video window as big as
possible and hence set the extents to exactly the screen size, including
using static gravity (so that borders are NOT removed from the window
size automatically) but still request a border are wrongly forced into
fullscreen mode by this hack. Changing the gravity would work around
that problem because the window size is effectively lowered, but we
can't expect applications to work around bugs in marco.

Secondly, the check for window decorations (or not) gets completely
cancelled out by the OR'd check for no CSD. According to the original
commit message, this hasn't been the intention, but rather to NOT force
fullscreen mode on windows that have no decorations and are CSD. It was
meant well, but the logic behind the change failed to do what it was
supposed to do.

Hence, fix that by checking if an application explicitly disabled window
decorations *AND* is not CSD.

This syncs up the help description and code behavior and fixes the CSD
part, but note that, naturally, it also changes the general behavior.
Specifically, this might break cases in which applications were supposed
to be forced into fullscreen mode even though they didn't explicitly
disable window decorations. I'd argue that such behavior would rather be
a bug and not a feature, though.
</pre>
</div>
</content>
</entry>
<entry>
<title>display: Add settings for Alt+Tab window placement</title>
<updated>2026-05-27T20:44:49+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-02-10T03:24:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=a9c3deabfbd9a0e8001dda65e66e6b204ec6f47a'/>
<id>a9c3deabfbd9a0e8001dda65e66e6b204ec6f47a</id>
<content type='text'>
Add user settings to control how minimized and urgent windows are
ordered during Alt+Tab.

1. alt-tab-minimized-placement:
  - 'mru': Mix minimized windows in MRU order
  - 'end': Show minimized windows last (current behavior, default)
  - 'hidden': Exclude minimized windows from Alt+Tab

2. alt-tab-urgent-placement:
  - 'start': Show all urgent windows first (current behavior, default)
  - 'mru': Mix urgent windows in MRU order

Fixes #824
Closes #819
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add user settings to control how minimized and urgent windows are
ordered during Alt+Tab.

1. alt-tab-minimized-placement:
  - 'mru': Mix minimized windows in MRU order
  - 'end': Show minimized windows last (current behavior, default)
  - 'hidden': Exclude minimized windows from Alt+Tab

2. alt-tab-urgent-placement:
  - 'start': Show all urgent windows first (current behavior, default)
  - 'mru': Mix urgent windows in MRU order

Fixes #824
Closes #819
</pre>
</div>
</content>
</entry>
<entry>
<title>window: Resize adjacent tiled windows when dragging shared edge</title>
<updated>2026-05-27T20:41:38+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-03-24T17:53:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=c89fba64c65a281a2de4e90caea788ca5f29ce05'/>
<id>c89fba64c65a281a2de4e90caea788ca5f29ce05</id>
<content type='text'>
When two windows are tiled side-by-side or in complementary quarter-tile
positions, dragging the shared inside edge now resizes both windows
simultaneously.

Fixes #615
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When two windows are tiled side-by-side or in complementary quarter-tile
positions, dragging the shared inside edge now resizes both windows
simultaneously.

Fixes #615
</pre>
</div>
</content>
</entry>
<entry>
<title>window: focus modal dialogs whose ancestor is focused</title>
<updated>2026-05-27T20:02:51+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=61a931b17f7694dcd49a0657d8746fbdac3e4e91'/>
<id>61a931b17f7694dcd49a0657d8746fbdac3e4e91</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>frame: Preserve client position when removing decorations</title>
<updated>2026-05-27T19:59:34+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-03-20T22:01:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=220296b67ec2355128a6f98dfc6252d093465c0c'/>
<id>220296b67ec2355128a6f98dfc6252d093465c0c</id>
<content type='text'>
Windows using StaticGravity (like Qt apps) would shift up and left by
the visible frame border size each time they were hidden to system tray
and restored. The position drift compounded with each cycle. This
changes those windows to use the client's actual root position.

Fixes #534
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Windows using StaticGravity (like Qt apps) would shift up and left by
the visible frame border size each time they were hidden to system tray
and restored. The position drift compounded with each cycle. This
changes those windows to use the client's actual root position.

Fixes #534
</pre>
</div>
</content>
</entry>
<entry>
<title>screen: Use larger font for wireframe size popup</title>
<updated>2026-05-27T19:58:46+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-03-20T19:54:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=3183b187ea00e255193720c7c44b0c4ece81a8cf'/>
<id>3183b187ea00e255193720c7c44b0c4ece81a8cf</id>
<content type='text'>
The wireframe resize/move popup used the "fixed" font, which is 13px and
quite small for modern displays. This changes it to "10x20", which is
20px and is included as part of the same Xorg fonts package.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The wireframe resize/move popup used the "fixed" font, which is 13px and
quite small for modern displays. This changes it to "10x20", which is
20px and is included as part of the same Xorg fonts package.
</pre>
</div>
</content>
</entry>
<entry>
<title>window: Exclude invisible borders from wireframe rectangle</title>
<updated>2026-05-27T19:58:46+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-03-20T19:08:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=7566d327a31715653979d75e62bf4ab1141d695b'/>
<id>7566d327a31715653979d75e62bf4ab1141d695b</id>
<content type='text'>
The wireframe drawn in reduced-resources mode included invisible resize
borders, making it larger than the visible window. This removes the
invisible borders from the xor rect calculation.

Fixes #532
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The wireframe drawn in reduced-resources mode included invisible resize
borders, making it larger than the visible window. This removes the
invisible borders from the xor rect calculation.

Fixes #532
</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>
</feed>
