<feed xmlns='http://www.w3.org/2005/Atom'>
<title>marco/src, branch 1.28</title>
<subtitle>MATE default window manager</subtitle>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/'/>
<entry>
<title>window: Fix corner-tiled windows becoming maximized on reload</title>
<updated>2026-01-21T21:37:58+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=5492559810bfe8a8f997dbf79dd6b509743fab2c'/>
<id>5492559810bfe8a8f997dbf79dd6b509743fab2c</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>keybindings: Release keyboard grab on screenshot commands</title>
<updated>2026-01-21T21:37:58+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-08-29T16:18:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=8fddd5d9114b4bd6169b7ab8f26acf3025dfa024'/>
<id>8fddd5d9114b4bd6169b7ab8f26acf3025dfa024</id>
<content type='text'>
This prevents race conditions with applications like mate-screenshot
that need to grab input (e.g. for area selection).

Fixes mate-desktop/mate-utils#37
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This prevents race conditions with applications like mate-screenshot
that need to grab input (e.g. for area selection).

Fixes mate-desktop/mate-utils#37
</pre>
</div>
</content>
</entry>
<entry>
<title>keybindings: Fix command spawning to use posix_spawn</title>
<updated>2026-01-21T21:37:58+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-08-28T20:08:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=73d8c63ae0ade29e790430240b32133be7551c21'/>
<id>73d8c63ae0ade29e790430240b32133be7551c21</id>
<content type='text'>
Replace putenv-based child setup with glib environment functions. This
enables posix_spawn for keybindings and it fixes an old memory leak with
not being able to free the string we added to putenv.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace putenv-based child setup with glib environment functions. This
enables posix_spawn for keybindings and it fixes an old memory leak with
not being able to free the string we added to putenv.
</pre>
</div>
</content>
</entry>
<entry>
<title>keybindings: Fix move-to-center calculation</title>
<updated>2026-01-21T21:37:58+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-09-09T19:52:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=dfd9be98ea54b7793a2b934b9a4335ffa6a52b98'/>
<id>dfd9be98ea54b7793a2b934b9a4335ffa6a52b98</id>
<content type='text'>
There was a 10px difference in the calculation between the (correct)
center-new-windows placement and the (incorrect) move-to-center
keybinding. By using the same function in both places we can make sure
the calculation is consistent.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was a 10px difference in the calculation between the (correct)
center-new-windows placement and the (incorrect) move-to-center
keybinding. By using the same function in both places we can make sure
the calculation is consistent.
</pre>
</div>
</content>
</entry>
<entry>
<title>theme: Include shadow and resize borders</title>
<updated>2026-01-21T21:37:58+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=ab345b7ebe6fc0be1458f2dbbe4b75fcf97392bd'/>
<id>ab345b7ebe6fc0be1458f2dbbe4b75fcf97392bd</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>screen: Add dynamic HiDPI scale change support</title>
<updated>2026-01-21T21:37:58+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-10-02T21:45:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=85ac676d17b2f5cf14b4f54199c5166154f9867a'/>
<id>85ac676d17b2f5cf14b4f54199c5166154f9867a</id>
<content type='text'>
This allows marco to respond to HiDPI scale changes without requiring
a restart. When the scale changes, marco now automatically updates all
icons (windows, xprops, alt+tab, etc.) and mouse cursor to be at the
correct scale factor.

Window decorations are handled through an internal GDK signal triggered
from XSettings changes, and so already work out of the box.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows marco to respond to HiDPI scale changes without requiring
a restart. When the scale changes, marco now automatically updates all
icons (windows, xprops, alt+tab, etc.) and mouse cursor to be at the
correct scale factor.

Window decorations are handled through an internal GDK signal triggered
from XSettings changes, and so already work out of the box.
</pre>
</div>
</content>
</entry>
<entry>
<title>theme: Fix left-side Fitt's Law</title>
<updated>2025-09-05T01:45:06+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-09-03T11:42:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=4a2eebdd0f20a9ea4f60d63fe03837f9a39350ba'/>
<id>4a2eebdd0f20a9ea4f60d63fe03837f9a39350ba</id>
<content type='text'>
When calculating the clickable area on the left-most button of
a maximized window, we need to take into account the layout components,
not just the button size.

Fixes mate-desktop/mate-themes#318
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When calculating the clickable area on the left-most button of
a maximized window, we need to take into account the layout components,
not just the button size.

Fixes mate-desktop/mate-themes#318
</pre>
</div>
</content>
</entry>
<entry>
<title>theme: Extend button clickable area to edge of screen</title>
<updated>2025-09-02T19:42:40+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-08-14T19:09:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=1e9133c2c09c30c5cb3ae91786c5f83365ccabd7'/>
<id>1e9133c2c09c30c5cb3ae91786c5f83365ccabd7</id>
<content type='text'>
Apply Fitt's law to corner window buttons by extending the clickable
area all the way to the edge of the screen on maximized/tiled windows.
This means that a user moving the pointer all the way to the top-right
corner and clicking, will close the maximized (or right-tiled) window.
The same applies for top-left on maximized and left-tiled windows.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply Fitt's law to corner window buttons by extending the clickable
area all the way to the edge of the screen on maximized/tiled windows.
This means that a user moving the pointer all the way to the top-right
corner and clicking, will close the maximized (or right-tiled) window.
The same applies for top-left on maximized and left-tiled windows.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix GTK deprecations (#798)</title>
<updated>2025-07-27T20:07:59+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-07-27T20:07:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=87aa5feb8790168eb7b2bc890938353116d26594'/>
<id>87aa5feb8790168eb7b2bc890938353116d26594</id>
<content type='text'>
* menu: replace gtk_menu_popup() with gtk_menu_popup_at_rect()

Replace deprecated gtk_menu_popup() with gtk_menu_popup_at_rect(). This
provides the same menu positioning calculation while eliminating
deprecation warnings.

* ui: replace gtk_widget_get_realized() with gtk_widget_get_mapped()

Replace deprecated gtk_widget_get_realized() with
gtk_widget_get_mapped(). Since mapped widgets are guaranteed to be
realized, and we only care about widget visibility, this change
eliminates deprecation warnings while maintaining the same
functionality.

* frames: replace gdk_window_process_all_updates() with gdk_display_flush()

Replace deprecated gdk_window_process_all_updates() with
gdk_display_flush(). Both functions ensure pending updates are
processed, but gdk_display_flush is more general for all display
requests.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* menu: replace gtk_menu_popup() with gtk_menu_popup_at_rect()

Replace deprecated gtk_menu_popup() with gtk_menu_popup_at_rect(). This
provides the same menu positioning calculation while eliminating
deprecation warnings.

* ui: replace gtk_widget_get_realized() with gtk_widget_get_mapped()

Replace deprecated gtk_widget_get_realized() with
gtk_widget_get_mapped(). Since mapped widgets are guaranteed to be
realized, and we only care about widget visibility, this change
eliminates deprecation warnings while maintaining the same
functionality.

* frames: replace gdk_window_process_all_updates() with gdk_display_flush()

Replace deprecated gdk_window_process_all_updates() with
gdk_display_flush(). Both functions ensure pending updates are
processed, but gdk_display_flush is more general for all display
requests.</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>
</feed>
