Age | Commit message (Collapse) | Author | Files | Lines |
|
get_outer_rect now returns the visible region, and a new get_input_rect
method returns the boundaries of the full frame, including the possible
invisible regions. When undecorated, both do the samething.
https://bugzilla.gnome.org/show_bug.cgi?id=644930
upstream commit:
https://gitlab.gnome.org/GNOME/metacity/commit/dfedc7df
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=644930
upstream commit:
https://gitlab.gnome.org/GNOME/metacity/commit/85e15225
|
|
An ARGB window with a frame is likely something like a transparent
terminal. It looks awful (and breaks transparency) to draw a big
opaque black shadow under the window, so clip out the region under
the terminal from the shadow we draw.
Add meta_window_get_frame_bounds() to get a cairo region for the
outer bounds of the frame of a window, and modify the frame handling
code to notice changes to the frame shape and discard a cached
region. meta_frames_apply_shapes() is refactored so we can extract
meta_frames_get_frame_bounds() from it.
https://bugzilla.gnome.org/show_bug.cgi?id=635268
NOTE: Applied only partially, compositor part is still missing...
upstream commit:
https://gitlab.gnome.org/GNOME/metacity/commit/0f2e32d1
|
|
upstream commit:
https://gitlab.gnome.org/GNOME/metacity/commit/5b880ff3
|
|
Since version 3.0, GTK+ has support for style variants. At the moment,
themes may provide a dark variant, which can be requested by
applications via GtkSettings. The requested variant is exported to
X11 via the _GTK_THEME_VARIANT property - support this property, in
order to pick up the correct style variant in the future.
https://bugzilla.gnome.org/show_bug.cgi?id=645355
NOTE: Patch is adapted for marco.
upstream commit:
https://gitlab.gnome.org/GNOME/metacity/commit/341d0945
|
|
There were actually *two* MetaFrameGeometry structs: one in theme-private.h,
one in frame.h. The latter public struct was populated by a mix of (void*)
casting and int pointers, usually pulling directly from the data in the private
struct.
Remove the public struct, replace it with MetaFrameBorders and scrap all
the pointer hacks to populate it, instead relying on both structs being used
in common code.
This commit should be relatively straightforward, and it should not do any
tricky logic at all, just a sophisticated find and replace.
https://bugzilla.gnome.org/show_bug.cgi?id=644930
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/72224a165
NOTE: Patch copied from metacity and adapted for marco.
|
|
|
|
Set the NET_WM_STATE_FOCUSED property on windows of type dock or
spashscreen so that they don't get the state GTK_STATE_FLAG_BACKDROP
set by default.
Based on:
https://gitlab.gnome.org/GNOME/metacity/commit/b3ef887
origin xfwm4 commit:
https://git.xfce.org/xfce/xfwm4/commit/?id=0feb29e78bb3
|
|
|
|
Use g_slist_free_full
|
|
|
|
avoid Clang static analyzer warning:
core/window.c:3580:34: warning: The right operand of '+' is a garbage value
new_w = window->rect.width + fgeom.left_width + fgeom.right_width;
^ ~~~~~~~~~~~~~~~~
|
|
Since xinerama already contains information on the monitor and its rectangle, there is no need to go through Gdk to get this information again.
|
|
both functions have the same code
|
|
|
|
Add a preference /apps/mutter/general/attach_modal_dialogs. When
true, instead of having independent titlebars, modal dialogs appear
attached to the titlebar of the parent window and are moved
together with the parent window.
https://bugzilla.gnome.org/show_bug.cgi?id=612726
NOTE: Patch copied from mutter and adapted for metacity.
|
|
NOTE: Patch copied from mutter and adapted for metacity.
|
|
|
|
ported from:
https://github.com/GNOME/metacity/commit/4ccb99a50c54f345c4c7d9ac77f1ea76bc6c7c74
|
|
|
|
|
|
frame
|
|
|
|
|
|
After resizing a tiled window, tile_resized gets set to true. Since it
never got set back to false when fullscreening, it lead to weird
behavior when unfullscreening the window.
|
|
|
|
|
|
|
|
Use that flag to retain the correct window size when performing other
operations. Reset when re-tiling.
|
|
|
|
line is taken from
https://github.com/GNOME/metacity/commit/632d3983fbc402432c6ceae05bea8903ad2f11c0
was forgotten in
https://github.com/mate-desktop/marco/commit/ad9db61aabc2cbf743a1157ddc42ff76127f3fab
|
|
This reverts commit 567890a8a1884247de29e9f97cf9cd8110247c04, reversing
changes made to a65a66d49bd0d6ec6c94b8e3ecd551cb570cec95.
|
|
This fix random bug when applications without reason opens in
fullscreen mode.
|
|
|
|
This adds a window placement preference: the existing behavior is now
called "automatic" and is the default. Two new modes are being
introduced: "pointer", which means that windows are placed according to
the mouse pointer position; and "manual" which means that the user must
manually place the new window with the mouse or keyboard.
This is a straight port from muffin, commit 3257671.
|
|
On subsequent changes, if there is a NET_WM_USER_TIME_WINDOW, then
read the property from that rather than from the main window.
(Fix an accidental regression: the right Window was being computed
but no longer passed in.)
Original patch author - Owen Taylor:
https://bugzilla.gnome.org/show_bug.cgi?id=585979
|
|
be minimized (e.g. delete confirmation dialog, logout dialog...)
|
|
This fixes switching out of fullscreen Direct3D applications running in
Wine. See issue 166 for more details.
|
|
Add tile keybinds (Fix #104, #127)
|
|
If this field is left uninitialized, a client may mistake Marco to support more than the single update request counter described in EWMH 1.5.
|
|
has_maximize_func implies
window->has_resize_func
!window->fullscreen
window->has_resize_func implies
(window->size_hints.min_width < window->size_hints.max_width) ||
(window->size_hints.min_height < window->size_hints.max_height)
A tiled window implies that it could be tiled.
A maximized window implies that it could be tiled.
.
Therefore simplify the if and add window->shaded to make it equivalent to the
macro but allowing to tile already maximized/tiled windows.
.
If this commit causes a regression it probably means that a call to
meta_window_recalc_features is missing.
.
This bug already existed but can only be triggered by the new keybindings.
|
|
The removed code did not allow tiled windows to be unmaximized. The code was
trying to retile a tiled window when it was asked to unmaximize it. The only
thing it did was turn a maximized window into a tiled window but that is not
the normal expected behaviour of unmaximization.
.
I also reset window->tile_mode to ensure we always unmaximize correctly.
Some duplicate code was also removed.
.
This bug affects tiling with:
- tile-to-side-w
- tile-to-side-e
- Mouse dragging to the west corner
- Mouse dragging to the east corner
.
Therefore it's an old bug unrelated to the new keybindings.
|
|
merge metacity(gtk3) changes
fix warnings
clean up unused variables
replace UNUSED_VARIABLE by G_GNUC_UNUSED
|
|
We currently allow XRaiseWindow when the same application (defined
by the window group) is focused, but the kind of old applications
that XRaiseWindow are frequently not setting the window group.
Expand the check to allow the same X client (defined by the looking
at client ID) to raise windows above the focus window.
Based on metacity commit: 632d3983fbc402432c6ceae05bea8903ad2f11c0
From: "Owen W. Taylor" <[email protected]>
Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=567528
|
|
Taken from
https://github.com/SolusOS-discontinued/consortium/commit/b463e03f5bdeab307ceee6b969c681f29537c76d
|
|
Based on metacity commit: cd481d37ec2551e98db758ff640d02f3745259db
From: Alberts Muktupāvels <[email protected]>
Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=534752
|
|
Force to save user rect for maximized windows too, otherwise when
launching maximized application on non left monitor it will be moved
to left monitor.
Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/metacity/+bug/727928
Based on metacity commit: fbfcbc5e35e35063c8ff71b399a0bf72a31852e7
From: Alberts Muktupāvels <[email protected]>
|
|
based on metacity commit: 72d1c6a6b9a85391444bb5ff8c5de1e3aabd3fd9
From: Alberts Muktupāvels <[email protected]>
|
|
We try to exempt CSD windows from being forced fullscreen if they are
undecorated and the size of the screen; however, we also catch almost
all windows that *do* need to be forced fullscreen in this check, since
they also have decorations turned off.
Identify actual CSD windows by checking whether _GTK_FRAME_EXTENTS is set -
GTK+ will always set this on CSD windows even if they have no invisible
borders or shadows at the current time.
Based on metacity commit: 41dd72bc5dd08d7d0cb136f694a6d9a30e38b341
From: Owen W. Taylor <[email protected]>
Metacity gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=723029
|
|
Support for _GTK_FRAME_EXTENTS are based on mutter.
Based on metacity commit: e132e2a700c4b50c93eae064d8fd1769b67baf06
By: Alberts Muktupāvels <[email protected]>
|