summaryrefslogtreecommitdiff
path: root/src/core/window-private.h
AgeCommit message (Collapse)AuthorFilesLines
2020-05-27compositor: fix possible crash closing/destroying window . Fixes to previous ↵rcaridade1451-0/+3
commit. 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 Based on commit https://gitlab.gnome.org/GNOME/metacity/-/commit/a9f28dbc26f5211ef08889109db3dc8c7ba76aca
2020-02-21remove warning: 'GTimeVal' is deprecatedrbuj1-1/+1
2019-10-31window: Add optional tile size cyclingVictor Kareh1-0/+10
Adding a new option to allow tile size cycling. When enabled, using the keyboard shortcut for tiling multiple times in a row cycles the window through different sizes (1/2 -> 1/3 -> 1/4 -> 3/4 -> 2/3 -> Untiled).
2019-06-05MetaWindow: Repurpose get_outer_rect and add get_input_rectVictor Kareh1-0/+2
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-05Only shadow ARGB windows with a frame outside the frameVictor Kareh1-0/+4
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-05window: Parse _GTK_THEME_VARIANT propertyVictor Kareh1-0/+1
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
2018-08-28Optionally attach modal dialogsMaxim Ermilov1-0/+2
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.
2018-01-15Restructured monitor keybinds and adjust save_rectOmar Zeidan1-0/+3
2017-12-20Allow horizontal and vertical resizing when corner tiledOmar Zeidan1-7/+9
2017-12-20Fixes window getting reset to saved_rect when untiling from cornerOmar Zeidan1-1/+1
2017-12-20Implemented simple corner tiling by mouse dragOmar Zeidan1-5/+11
2017-08-30Store a window flag when user resizes from tiledVictor Kareh1-0/+1
Use that flag to retain the correct window size when performing other operations. Reset when re-tiling.
2017-08-29Allow tiled windows to be resized horizontallyVictor Kareh1-2/+2
Determine whether the user is initiating a resize action on a tiled window. If the user is trying to grab the window for resizing horizontally from the edge that's farther away from the screen edge, allow the resize to occur. Otherwise maintain the current tile geometry. Also modified the window hints to allow resizing from the window menu. Fixes #250
2016-10-15move to GTK+3 (>= 3.14), drop GTK+2 code and --with-gtk build optionmonsta1-0/+1
2015-11-08Revert "Merge pull request #115 from Samsagax/animation-fix-clean"Monsta1-4/+0
This reverts commit 567890a8a1884247de29e9f97cf9cd8110247c04, reversing changes made to a65a66d49bd0d6ec6c94b8e3ecd551cb570cec95.
2015-09-16Add manual and by-pointer window placementFaidon Liambotis1-0/+3
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.
2014-10-27Rework tiling code based off Consortiuminfirit1-7/+12
Taken from https://github.com/SolusOS-discontinued/consortium/commit/b463e03f5bdeab307ceee6b969c681f29537c76d
2014-10-24Fix identification of CSD windows when checking whether to force fullscreeninfirit1-0/+2
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
2014-10-24add support for _GTK_FRAME_EXTENTSinfirit1-0/+3
Support for _GTK_FRAME_EXTENTS are based on mutter. Based on metacity commit: e132e2a700c4b50c93eae064d8fd1769b67baf06 By: Alberts Muktupāvels <[email protected]>
2014-06-26Add "effect_pending" flagJoaquín Ignacio Aramendía1-0/+4
Initialized at META_EFFECT_NONE. The management of this should be done by caller functions to effect functions.
2014-06-26Remove all trailing whitespaces in the code treeJoaquín Ignacio Aramendía1-30/+30
Just run: $ find -name '*.c' -print0 | xargs -r0 sed -e 's/[[:blank:]]\+$//' -i $ find -name '*.h' -print0 | xargs -r0 sed -e 's/[[:blank:]]\+$//' -i
2014-01-24Fix drag over the top screen edgeExtraterrestrial1-1/+2
2013-05-31Implement side-by-side tilingStefano Karapetsas1-1/+17
Patch by Florian Müllner for Metacity https://bugzilla.gnome.org/show_bug.cgi?id=607694 When dragging a window over a screen edge and dropping it there, maximize it vertically and scale it horizontally to cover the corresponding half of the current monitor. Whenever a "hot area" which triggers this behavior is entered, an indication of window's target size is displayed after a short delay to avoid distraction when moving a window between monitors.
2012-11-18fixed incorrect fsf addresses.Steve Zesch1-2/+2
2011-12-01moving from https://github.com/perberos/mate-desktop-environmentPerberos1-0/+640