<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/mutter.git/src/ui/frames.c, branch document-button-values</title>
<subtitle>gitlab.gnome.org: GNOME/mutter.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/'/>
<entry>
<title>frame: Fix crash when clicking below titlebar with broken gtk themes</title>
<updated>2021-03-08T21:16:09+00:00</updated>
<author>
<name>Sebastian Keller</name>
<email>skeller@gnome.org</email>
</author>
<published>2021-02-27T00:00:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=c2968c89fef3d67f161cb01481a8a2939c45a425'/>
<id>c2968c89fef3d67f161cb01481a8a2939c45a425</id>
<content type='text'>
When a gtk theme uses larger shadows for the unfocused state than for
the focused one, this can cause a crash in meta_frame_left_click_event.
Since whether to call meta_frame_left_click_event is decided based on
the decoration size before focusing and the control that was clicked on
after focusing, this can result in an event handled in
meta_frame_left_click_event being on the client area.

Fixes https://gitlab.gnome.org/GNOME/mutter/-/issues/1668

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1748&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a gtk theme uses larger shadows for the unfocused state than for
the focused one, this can cause a crash in meta_frame_left_click_event.
Since whether to call meta_frame_left_click_event is decided based on
the decoration size before focusing and the control that was clicked on
after focusing, this can result in an event handled in
meta_frame_left_click_event being on the client area.

Fixes https://gitlab.gnome.org/GNOME/mutter/-/issues/1668

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1748&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>frames: Consider events on fullscreen windows to be on the client area</title>
<updated>2021-01-28T15:30:29+00:00</updated>
<author>
<name>Sebastian Keller</name>
<email>skeller@gnome.org</email>
</author>
<published>2021-01-01T07:24:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=ff4f8d2aa076044d1d79379974e8fd6b812cb2f0'/>
<id>ff4f8d2aa076044d1d79379974e8fd6b812cb2f0</id>
<content type='text'>
Fullscreen X11 windows that attempt to change the resolution on Wayland
use a surface viewport to achieve this without affecting the resolution
of the display. This however also means that pointer events will be
delivered in the display coordinates while the code handling the window
frame is not aware of any such viewport scaling. So a right click
outside of the area corresponding to the new resolution will not be
considered to be on the client area. And since the only area that is
ignored when determining whether to perform the right click action, such
as opening the context menu, is the client area, this will result in the
action being performed, despite happening on the (scaled) client area.

While it would be possible to scale the event coordinates so that
get_control() correctly determines the frame element the cursor is on,
viewport scaling only affects fullscreen windows. Since fullscreen
windows have no frame, we can always assume that if the window gets
delivered an event for a fullscreen window, it is on the client area
without doing any additional calculations.

Fixes https://gitlab.gnome.org/GNOME/mutter/-/issues/1592

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1661&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fullscreen X11 windows that attempt to change the resolution on Wayland
use a surface viewport to achieve this without affecting the resolution
of the display. This however also means that pointer events will be
delivered in the display coordinates while the code handling the window
frame is not aware of any such viewport scaling. So a right click
outside of the area corresponding to the new resolution will not be
considered to be on the client area. And since the only area that is
ignored when determining whether to perform the right click action, such
as opening the context menu, is the client area, this will result in the
action being performed, despite happening on the (scaled) client area.

While it would be possible to scale the event coordinates so that
get_control() correctly determines the frame element the cursor is on,
viewport scaling only affects fullscreen windows. Since fullscreen
windows have no frame, we can always assume that if the window gets
delivered an event for a fullscreen window, it is on the client area
without doing any additional calculations.

Fixes https://gitlab.gnome.org/GNOME/mutter/-/issues/1592

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1661&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Make meta_* logging utilities not require line break</title>
<updated>2020-10-08T14:38:41+00:00</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2020-10-02T15:47:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=313e3e771c2b54e9ee4d5b043ea866763cf2e85e'/>
<id>313e3e771c2b54e9ee4d5b043ea866763cf2e85e</id>
<content type='text'>
Unlike g_* logging utilities, the meta_* counterparts behave like odd
printf() functions. Lets change that so they fit better into how logging
is done everywhere else.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1466
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unlike g_* logging utilities, the meta_* counterparts behave like odd
printf() functions. Lets change that so they fit better into how logging
is done everywhere else.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1466
</pre>
</div>
</content>
</entry>
<entry>
<title>cleanup: Remove duplicate semicolons in C code</title>
<updated>2020-07-28T08:32:46+00:00</updated>
<author>
<name>Olivier Fourdan</name>
<email>ofourdan@redhat.com</email>
</author>
<published>2020-07-28T08:11:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=d0ee02fae7ac3c5fb676d275c8ef20c1f4cab458'/>
<id>d0ee02fae7ac3c5fb676d275c8ef20c1f4cab458</id>
<content type='text'>
No functional change, it just hurts my eyes when reading the code.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1385
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No functional change, it just hurts my eyes when reading the code.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1385
</pre>
</div>
</content>
</entry>
<entry>
<title>window/x11: Use G_DECLARE_DERIVABLE_TYPE()</title>
<updated>2020-04-16T12:08:19+00:00</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2019-08-20T19:38:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=0f8f607e4c502a87d8f5aedf7de6944c50689e5f'/>
<id>0f8f607e4c502a87d8f5aedf7de6944c50689e5f</id>
<content type='text'>
This removes the MetaWindowX11::priv pointer. It is replaced with a
meta_window_x11_get_private() helper function, and another method to get
the client rect without going through MetaWindowX11Private.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/798
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes the MetaWindowX11::priv pointer. It is replaced with a
meta_window_x11_get_private() helper function, and another method to get
the client rect without going through MetaWindowX11Private.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/798
</pre>
</div>
</content>
</entry>
<entry>
<title>frame: Pass the frame area for get_mask()</title>
<updated>2020-01-29T10:44:50+00:00</updated>
<author>
<name>Olivier Fourdan</name>
<email>ofourdan@redhat.com</email>
</author>
<published>2020-01-16T10:42:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=c0321c7b214ecf262ebe160da472f0dff4eaf01a'/>
<id>c0321c7b214ecf262ebe160da472f0dff4eaf01a</id>
<content type='text'>
Currently, `meta_frame_get_mask()` and `meta_ui_frame_get_mask()` will
return the frame mask applied to the current frame size, by querying the
frame themselves.

To be able to get the frame mask at an arbitrary size, change the API to
take a rectangle representing the size at which the frame mask should be
rendered.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/1009
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, `meta_frame_get_mask()` and `meta_ui_frame_get_mask()` will
return the frame mask applied to the current frame size, by querying the
frame themselves.

To be able to get the frame mask at an arbitrary size, change the API to
take a rectangle representing the size at which the frame mask should be
rendered.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/1009
</pre>
</div>
</content>
</entry>
<entry>
<title>frames: Freeze Xwayland commits until repainted</title>
<updated>2020-01-16T08:22:25+00:00</updated>
<author>
<name>Olivier Fourdan</name>
<email>ofourdan@redhat.com</email>
</author>
<published>2020-01-15T09:40:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=53fce8e988e4e61acdd7ea51e16e20d11265c906'/>
<id>53fce8e988e4e61acdd7ea51e16e20d11265c906</id>
<content type='text'>
To make sure the frame is painted before the commits are thawed, freeze
the commits when invalidating the GDK window, only to thaw to it after
the actual frame draw is performed or the frame is destroyed.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/942
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To make sure the frame is painted before the commits are thawed, freeze
the commits when invalidating the GDK window, only to thaw to it after
the actual frame draw is performed or the frame is destroyed.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/942
</pre>
</div>
</content>
</entry>
<entry>
<title>x11/window-controls: Pass around MetaX11Display directly</title>
<updated>2019-10-15T07:17:29+00:00</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2019-10-14T09:32:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=e17d70a5925e19a8785d50ab3ad2106dabe8ad70'/>
<id>e17d70a5925e19a8785d50ab3ad2106dabe8ad70</id>
<content type='text'>
Instead of passing around an X11 Display pointer that is retrieved from
the default Gdk backend, then finding the MetaX11Display from said X11
Display, pass the MetaX11Display directly.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/854
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of passing around an X11 Display pointer that is retrieved from
the default Gdk backend, then finding the MetaX11Display from said X11
Display, pass the MetaX11Display directly.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/854
</pre>
</div>
</content>
</entry>
<entry>
<title>core/core: Rename and move to x11/meta-x11-window-control</title>
<updated>2019-10-15T07:17:29+00:00</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2019-10-13T14:47:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=da213febdc5fe5abbf85145738186945ee6987fa'/>
<id>da213febdc5fe5abbf85145738186945ee6987fa</id>
<content type='text'>
The functionality core/core.c and core/core.h provides are helpers for
the window decorations. This was not possible to derive from the name
itself, thus rename it and put it in the right place.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/854
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The functionality core/core.c and core/core.h provides are helpers for
the window decorations. This was not possible to derive from the name
itself, thus rename it and put it in the right place.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/854
</pre>
</div>
</content>
</entry>
<entry>
<title>core/core: Remove meta_retheme_all() helper</title>
<updated>2019-10-15T07:17:29+00:00</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2019-10-13T14:46:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=7c2e926c44a2d413154cde0c4ae727d4880f9033'/>
<id>7c2e926c44a2d413154cde0c4ae727d4880f9033</id>
<content type='text'>
All it did was get the MetaDisplay and call a function on it.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/854
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All it did was get the MetaDisplay and call a function on it.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/854
</pre>
</div>
</content>
</entry>
</feed>
