summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-03-09Guard against null changes introduced by previous commitrcaridade1451-2/+6
2020-03-09Introduce nullpointer checks and return null if validation failsrcaridade1451-4/+7
2020-03-09util: meta_bug raises SIGABRT so it shouldn't returnrbuj2-2/+2
2020-02-15window: handle legacy fullscreen requestsrcaridade1452-24/+30
https://gitlab.gnome.org/GNOME/metacity/commit/1fafd279006ece8cf664fd777143cdfafbefad6d window: handle legacy fullscreen requests Doing this on the actual resize requests makes more sense than handling it as a window-manager imposed constraints, so move the code accordingly. Adapted from mutter patch by Florian Müllner: https://git.gnome.org/browse/mutter/commit/?id=fba022cc06b8c7e80ef36f48d6577a251384cc4b https://bugzilla.gnome.org/show_bug.cgi?id=781946 Bug 781946 - Non-native decorated windows stuck maximised on secondary screen with Marco/Metacity
2020-02-02Xprops fix memory leak.rcaridade1451-6/+12
Origin commit : https://gitlab.gnome.org/GNOME/metacity/commit/c87f73f3b4413720a2f3e6a672826d3fec7f77a9 " XmbTextPropertyToTextList documentation says that XFreeStringList should be used to free the storage for the list and its contents. "
2020-02-02testboxes: Fix find_closest_point_to_line() testVictor Kareh1-4/+6
Eeeks, testing floating points for equality ... upstream commit: https://gitlab.gnome.org/GNOME/mutter/commit/0fccb0fc8
2020-02-02 display.c: add missing "break"Pavel Shlyak1-1/+1
2020-02-02fix window type for splashWu Xiaotian1-1/+1
2019-12-06Revert "compositor: fix possible crash closing/destroying window"Victor Kareh3-32/+9
This reverts commit df56628979abc17474b001c58c28c6f3637ada9d. It causes an issue where windows remain in the background even when being drawn in the foreground.
2019-12-05theme.c: Fix window control hidpi rendering for all themes.Michael Webster1-3/+15
By scaling the pixbuf when loading, existing assets can be used.
2019-10-20theme: Render window control buttons and icons as surfacesVictor Kareh2-24/+291
When loading window control buttons and icon as pixbufs, we just set them as the source for the cairo context used to paint them. Instead, we now convert them to cairo surfaces and scale them to the correct display density before painting them. This allows us to load higher resolution assets (i.e. at twice the size) and by explicitly setting the intended size in the theme draw_ops, we can then scale them down to fit lower resolution displays, or render them at full density for HiDPI displays.
2019-09-12frames: bump priority of style providersmonsta1-1/+1
finally, apps that prefer dark theme variant (gtk-application-prefer-dark-theme in GtkSettings) should also have dark window decorations taken from: https://github.com/GNOME/metacity/commit/6b0d325442b995a78b8783384f7ec370db1369a4
2019-09-12window: add _GTK_THEME_VARIANT to initial window propertiesmonsta1-1/+2
2019-09-12frames: apply modified hack from Mutter/Metacitymonsta3-27/+25
- this will be needed for proper window decoration color updates on theme change when theme variants fixes are applied - realize/unrealize functions are dropped instead of map/unmap ones, because we didn't change these during GTK+3 porting - MetaFrames now has GtkWindow as parent instead of GtkInvisible, otherwise the hack doesn't work (revert part of 96c7256d638b8c76c8abf786ba307e82a595dd67) adapted from: https://github.com/GNOME/metacity/commit/ba8500663457ad9f18ebfdf405162c2cb5caf88f
2019-09-12frames: avoid infinite loop on the variants GListmonsta1-4/+4
and make variable names less similar taken from: https://github.com/linuxmint/muffin/commit/6120bddefd709d3f1
2019-09-12frames: use style_updated instead of style_setmonsta1-6/+4
guess it was overlooked when porting to GTK+3
2019-09-12Fixed moving windows to edges to work with CSD clients.Omar Zeidan1-10/+13
2019-09-12window: Update allowed action hintsVictor Kareh1-7/+30
When changing window state, we want to change the allowed action hints so that other applications, mainly the taskbar, can disable menu entries that do not make much visual sense. For example, unmaximizing a minimized window: even though this operation is possible, it causes user confusion as there is no visibility until the user unminimizes it.
2019-09-10Fix use of RBGA visual in frame.c when compositing is not in uselukefromdc1-37/+1
Use the window's visual in all cases, fix problems with drivers forcing use of blit rather than pageflip mode when comppositing is not used or window is unredirected Apply https://gitlab.gnome.org/GNOME/metacity/commit/5863176a2bd659c8d9a3d1c7b023a27c1a8c0aa5
2019-07-02boxes: Actually check for rectangle containmentPablo Barciela1-1/+1
Fixes condition duplicated: /* If a contains b, just remove b */ if (meta_rectangle_contains_rect (a, b)) { delete_me = other; } /* If b contains a, just remove a */ else if (meta_rectangle_contains_rect (a, b)) { delete_me = compare; }
2019-06-16libmarco-private: add version informationraveit651-1/+1
2019-06-16theme: Fix window state when tiling from maximizedVictor Kareh1-0/+2
2019-06-16compositor: fix possible crash closing/destroying windowVictor Kareh3-9/+32
Partially restore call to destroy_win in compositor when calling meta_window_free. This is needed to ensure that we never call meta_window_get_frame_bounds while windows is destroying. https://bugzilla.gnome.org/show_bug.cgi?id=751833 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/a9f28dbc
2019-06-16update window->has_resize_func at the right time when unfullscreeningVictor Kareh1-3/+5
Since the frame window size that meta_window_move_resize() uses depends on whether the window has horizontal/vertical resize functionality, we need to update this flag before we resize the window. https://bugzilla.gnome.org/show_bug.cgi?id=659854 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/c66d83a7
2019-06-16frames: include invisible area in cacheVictor Kareh1-11/+11
GTK+ theme might use this area to paint box-shadow. Also use CAIRO_CONTENT_COLOR_ALPHA for cairo surfaces. upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/13137b1d
2019-06-16frames: Rename layout to text_layoutVictor Kareh2-25/+19
... to differentiate PangoLayout from MetaFrameLayout. https://bugzilla.gnome.org/show_bug.cgi?id=741917 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/8e5781bc
2019-06-16theme: fix warningVictor Kareh1-0/+1
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/3a3c47e3
2019-06-16frames: again change meta_frames_applet_shapesVictor Kareh2-64/+29
With compositing manager: 1. Apply only client shape. Without compositing manager: 1. Apply client shape. 2. Apply shape around visible frame. upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/3913dcf1
2019-06-16Fix scaling overcorrection when caching frame bordersVictor Kareh1-18/+16
2019-06-16frame: remove uneeded includeVictor Kareh1-4/+0
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/ca475d44
2019-06-16compositor: fix border_sizeVictor Kareh1-0/+23
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/72003d38
2019-06-16frame: make frame window transparentVictor Kareh1-6/+20
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/74db1f11
2019-06-16frames: apply shapes in different wayVictor Kareh3-4/+77
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/cd383e72
2019-06-16frames: add dest_kind to apply_cairo_region_to_windowVictor Kareh1-3/+4
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/94c8d620
2019-06-16frames: Fall back to title bar if nothing else matchedVictor Kareh1-1/+4
The condition got removed in eeb2efe01001fef7655b2ba95ca1456f7fe9214b but that had a side effect of adding a couple of rows of dead pixels so add it back. https://bugzilla.gnome.org/show_bug.cgi?id=658069 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/37e1fa8c
2019-06-16theme-viewer: Fix invisible bordersVictor Kareh2-10/+11
https://bugzilla.gnome.org/show_bug.cgi?id=662895 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/6836a621
2019-06-16window: Correct coordinates for the configure eventVictor Kareh1-4/+8
We should still correct the coordinates for withdrawn windows. upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/9da3004e
2019-06-16frame: Make sure to offset by invisible borders when unmanaging windowsVictor Kareh1-2/+5
When we reparent a window to the root when we're exiting, we need to offset the position by the invisible borders, otherwise windows will creep up and to the left. https://bugzilla.gnome.org/show_bug.cgi?id=660848 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/9fe51fd0
2019-06-16window: Fix _NET_FRAME_EXTENTS to work properlyVictor Kareh1-4/+7
_NET_FRAME_EXTENTS should contain the difference between where a window asked to be placed, and where it is. Ideally, this should be the same as the visible extents. https://bugzilla.gnome.org/show_bug.cgi?id=659848 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/a3630d7c
2019-06-16theme: don't add invisible borders for windows that can't be resizedVictor Kareh1-7/+14
Invisible borders are all about resizing -- in the case that a window cannot be resized, it makes no sense to add them. https://bugzilla.gnome.org/show_bug.cgi?id=659854 Based on mutter commit: https://git.gnome.org/browse/mutter/commit/?id=be9f7d77292c1dfd868640fe95f7223fbbfd4273 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/64615667
2019-06-16window: Fix window placement to exclude invisible bordersVictor Kareh1-4/+4
A window can specify geometry that it is placed at. We need to exclude invisible borders when calculating where to place the window, otherwise the window will have a strange offset. https://bugzilla.gnome.org/show_bug.cgi?id=659848 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/95373187
2019-06-16theme: Don't add any bottom border to shaded windowsVictor Kareh1-4/+4
Shaded windows are assumed to be reduced to the titlebar: the current code enforces a visible bottom border of 0 and only takes the size of the title bar (+ invisible top border) into account when resizing the frame. However, we still add an invisible border at the bottom, which is than subtracted from the title bar, resulting in shaded windows being cut off. Fix by forcing both visible and invisible bottom borders to 0. https://bugzilla.gnome.org/show_bug.cgi?id=659266 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/7a80fcfd
2019-06-16Account for invisible borders when constraining modal dialogsVictor Kareh1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=656619 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/4674358f
2019-06-16compositor: fix shadow size and placementVictor Kareh1-6/+9
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/9fd053da
2019-06-16MetaWindow: Repurpose get_outer_rect and add get_input_rectVictor Kareh2-10/+50
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
2019-06-16MetaWindow: Compensate for invisible border changesVictor Kareh1-20/+20
https://bugzilla.gnome.org/show_bug.cgi?id=644930 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/85e15225
2019-06-16ui: Replace inline borders in MetaFrameGeometry with MetaFrameBorderVictor Kareh3-172/+198
... and start compensating for invisible borders in all of the math. https://bugzilla.gnome.org/show_bug.cgi?id=644930 NOTE: Updated for marco... upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/daf6bc08
2019-06-16MetaFrameBorders: add invisible bordersVictor Kareh4-4/+29
This just adds the invisible border field and populates it with data but doesn't use it in any way. Based on mutter commit: https://git.gnome.org/browse/mutter/commit/?id=a1a2527c75ab0c135f89396ea036336fb67ac538 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/bf02c7c3
2019-06-16theme: add invisible_border to metacity themeVictor Kareh1-0/+5
This adds 'invisible_border' to be used for resize cursor area.
2019-06-16compositor: don't draw shadow under decorationsVictor Kareh1-54/+56
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/215dd8e9