<feed xmlns='http://www.w3.org/2005/Atom'>
<title>marco/src/ui, branch fix-config-h-include-order</title>
<subtitle>MATE default window manager</subtitle>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/'/>
<entry>
<title>Always include config.h before util.h</title>
<updated>2026-08-11T19:37:40+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2026-08-11T19:37:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=27f804c68a2706817093d572e31784facba93e02'/>
<id>27f804c68a2706817093d572e31784facba93e02</id>
<content type='text'>
The util.h file guards verbose output through WITH_VERBOSE_MODE, which
is defined in config.h. This means that verbose mode would have never
worked on some of these files unless config.h was included first.

All other files with verbose output calls already include config.h.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The util.h file guards verbose output through WITH_VERBOSE_MODE, which
is defined in config.h. This means that verbose mode would have never
worked on some of these files unless config.h was included first.

All other files with verbose output calls already include config.h.
</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: Add configurable mouse actions for titlebar</title>
<updated>2025-09-09T19:51:09+00:00</updated>
<author>
<name>Victor Kareh</name>
<email>vkareh@redhat.com</email>
</author>
<published>2025-08-15T11:20:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=b5292ba66132104256590631b2d2b7a1c92ad934'/>
<id>b5292ba66132104256590631b2d2b7a1c92ad934</id>
<content type='text'>
Adds support for configurable mouse actions on window titlebars,
including middle-click and scroll wheel events.

New actions added:
- close: Close the window
- raise: Raise window to top
- toggle_stick: Toggle sticky state (all workspaces)
- toggle_above: Toggle always-on-top state

Fixes #425
Fixes #787

Note: requries matching mate-control-center changes to work properly
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds support for configurable mouse actions on window titlebars,
including middle-click and scroll wheel events.

New actions added:
- close: Close the window
- raise: Raise window to top
- toggle_stick: Toggle sticky state (all workspaces)
- toggle_above: Toggle always-on-top state

Fixes #425
Fixes #787

Note: requries matching mate-control-center changes to work properly
</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>
<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>tabpopup: Stop spamming the ATs with label changes at startup</title>
<updated>2024-02-26T19:43:18+00:00</updated>
<author>
<name>Colomban Wendling</name>
<email>cwendling@hypra.fr</email>
</author>
<published>2024-02-21T18:13:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=2d3cec67ab41e70479d75beb5f884e1a4551ea92'/>
<id>2d3cec67ab41e70479d75beb5f884e1a4551ea92</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tabpopup: Report the window as active to a11y when it's showing</title>
<updated>2024-02-26T19:43:18+00:00</updated>
<author>
<name>Colomban Wendling</name>
<email>cwendling@hypra.fr</email>
</author>
<published>2024-02-21T15:56:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.mate-desktop.org/marco/commit/?id=5367553db0e3f22deb05dab65a79c79634dae327'/>
<id>5367553db0e3f22deb05dab65a79c79634dae327</id>
<content type='text'>
The switcher windows aren't actually "active" per GTK's meaning because
they do not have actual keyboard focus, but they are controlled by the
internal grabs so it's effectively the same as if they were active.

Reporting them as such helps the ATs understanding what's going on.

Fixes #771.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The switcher windows aren't actually "active" per GTK's meaning because
they do not have actual keyboard focus, but they are controlled by the
internal grabs so it's effectively the same as if they were active.

Reporting them as such helps the ATs understanding what's going on.

Fixes #771.
</pre>
</div>
</content>
</entry>
</feed>
