summaryrefslogtreecommitdiff
path: root/src/core/frame.c
AgeCommit message (Collapse)AuthorFilesLines
2019-06-05Only shadow ARGB windows with a frame outside the frameVictor Kareh1-4/+16
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
2019-06-05remove common.cVictor Kareh1-0/+9
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/96d7a662
2019-06-05ui-frames: Delay attaching the style to new framesVictor Kareh1-0/+4
Like the setting of new frames' background is delayed until the frame is associated with its window, delay attaching the initial style, so that the correct style variant is picked. https://bugzilla.gnome.org/show_bug.cgi?id=645355 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/ee056853
2019-06-05Replace public MetaFrameGeometry with MetaFrameBordersVictor Kareh1-15/+5
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.
2019-04-23ui: always set the frame background to NoneGiovanni Campagna1-13/+0
This way the xserver never paints the frame background, even if the client window is destroyed. This allows us to have clean destroy window animation. There is no problem with interactive resizing because applications are using the XSync protocol, so we're not painting unless the client has redrawn. https://bugzilla.gnome.org/show_bug.cgi?id=734054 origin commit: https://gitlab.gnome.org/GNOME/metacity/commit/78c283c
2018-08-28Optionally attach modal dialogsMaxim Ermilov1-1/+1
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.
2017-07-29avoid deprecated gdk_display_get_screenZenWalker1-2/+1
2014-10-27Rework tiling code based off Consortiuminfirit1-0/+6
Taken from https://github.com/SolusOS-discontinued/consortium/commit/b463e03f5bdeab307ceee6b969c681f29537c76d
2014-06-26Remove all trailing whitespaces in the code treeJoaquín Ignacio Aramendía1-32/+32
Just run: $ find -name '*.c' -print0 | xargs -r0 sed -e 's/[[:blank:]]\+$//' -i $ find -name '*.h' -print0 | xargs -r0 sed -e 's/[[:blank:]]\+$//' -i
2012-11-18fixed incorrect fsf addresses.Steve Zesch1-2/+2
2011-12-01moving from https://github.com/perberos/mate-desktop-environmentPerberos1-0/+421