summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-08-28theme: Allow disabling fallback colors in gtk:custom()Florian Müllner1-4/+20
gtk:custom() requires a fallback color in case the GTK+ theme in use does not define the desired color. As in general the fallback color will approximate the intended color, there is the risk of typos going unnoticed. To make catching these kind of errors easier, allow to ignore the fallback color specified (and fall back to a nice shade of pink instead) by setting an environment variable. https://bugzilla.gnome.org/show_bug.cgi?id=656112
2018-08-28theme: Allow using custom colors from the GTK+ themeFlorian Müllner3-2/+96
Add an additional color type to pick up colors defined with @define-color in the GTK+ theme's CSS: gtk:custom(name,fallback) (where "name" refers to the name defined in GTK+'s CSS, and fallback refers to an alternative color spec which is used when the color referenced by "name" is not found) The main intent of the change is to allow designers to improve Adwaita's dark theme variant without having to compromise on colors which work in the light variant as well. https://bugzilla.gnome.org/show_bug.cgi?id=648709 NOTE: Patch copied from mutter and adapted for metacity.
2018-08-28theme: Add background functions for single buttonsFlorian Müllner3-22/+47
With the existing background functions, single buttons can not be styled separately - on the left side, the style of the left button is picked, and the right button's style on the right side. As theme authors may want to add rounded corners to button groups as a whole, it makes sense to treat the case of a single button in a group differently. https://bugzilla.gnome.org/show_bug.cgi?id=635683 NOTE: Patch copied from mutter and adapted for metacity.
2018-08-28theme-parser: Use peek_required_version() for validationFlorian Müllner1-3/+5
When validating button functions and frame styles, the required format version of the features used in the theme was compared to the major version number of the supported format, limiting additions to major theme format bumps. Use peek_required_version() instead, so the minor version number of the supported theme format is taken into account. https://bugzilla.gnome.org/show_bug.cgi?id=635683
2018-08-28Add frame type for attached modal dialogsOwen W. Taylor5-6/+26
Add a new frame type META_FRAME_TYPE_ATTACHED which is used for attached modal dialogs. The theme format version is bumped to 3.2, and attached windows can have borders defined in a metacity-theme-3.xml as: <window version=">= 3.2" type="attached" style_set="[name]"/> If no style is defined for "attached", drawing will fall back to the "border" type. https://bugzilla.gnome.org/show_bug.cgi?id=592382 NOTE: Patch copied from mutter and adapted for metacity.
2018-08-28Optionally attach modal dialogsMaxim Ermilov8-1/+172
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-08-28Add meta_window_get_transient_for() methodDavyd Madeley2-0/+24
NOTE: Patch copied from mutter and adapted for metacity.
2018-08-28Allow a theme to specify ellipsize width for a titleOwen W. Taylor4-3/+56
It's nice to indicate when a title is truncated with an ellipsis. Because themes may draw a title multiple times to draw a shadow, or may include the window icon within the title area, we can't determine the proper ellipsization width automatically, so add an optional attribute to the <title/> element "ellipsize_width" which, if set, is the width to ellipsize at. This is only enabled if a theme version of 3.1 is required. When it's not set, we keep the old behavior of just letting the title be clipped with a hard edge. https://bugzilla.gnome.org/show_bug.cgi?id=591842 NOTE: Patch copied from mutter and adapted for metacity.
2018-08-28Add frame_x_center/frame_y_center variables for themesOwen W. Taylor3-1/+19
Sometimes you want to position something (usually the title) to be centered with respect to the entire frame instead of centered with respect to the individual piece currently being drawn. This patch adds frame_x_center and frame_y_center variables that represent the X/Y centers of the frame in the coordinate system of the piece being drawn. The theme version is bumped from 3.0 to 3.1 (3.0 is just the new version system, 3.1 will have all the features we add for Mutter-2.28.) position expressions https://bugzilla.gnome.org/show_bug.cgi?id=591842 NOTE: Patch is copied from mutter and is adapted for metacity.
2018-08-28metacity-theme-3.xml: Add a flexible version mechanismOwen W. Taylor2-30/+246
The current mechanism of metacity-theme-1.xml and metacity-theme-2.xml is not flexible for allowing small-scale additions. With this patch we bump the major version version once more to metacity-theme-3.xml and add a single feature: Any element in the DTD can have an attribute: version="[<|<=|=>|>] MAJOR.MINOR" And it will be ignored unless the predicate is met. (< and > should be to be entity escaped as &lt; and &gt;) This allows having alternate sections of the theme file for older and newer version. * Required GLib version is bumped to 2.14 so we can parse versions with a regular expression. * We switch internal version numbers to be "1000 * major + minor" * We keep a stack of the maximum required version for the current portion the XML tree so that the "cannot use versions you don't require" stricture of the old code can be made local to a subpart of the tree. * A version on the top metacity_theme element causes the entire file to be ignored; this allows having one metacity-theme-3.xml for version 3.2 and newer (say) and a metacity-1.xml for everything old. Actual new features will be added starting with 3.1 - 3.0 is just the version="" feature. http://bugzilla.gnome.org/show_bug.cgi?id=592503 NOTE: Patch is copied from mutter and adapted for metacity. origin commit: https://gitlab.gnome.org/GNOME/metacity/commit/114a2048
2018-08-28libmarco-private: remove '-1' part from include dir nameVictor Kareh2-2/+2
Adapted from https://gitlab.gnome.org/GNOME/metacity/commit/c19aaa99
2018-08-28theme-parser: Remove unused defineVictor Kareh1-19/+1
2018-04-29Correct resize popup position on HiDPI displaysVictor Kareh2-2/+13
2018-04-25Fix frame geometry to avoid stuck resize cursorVictor Kareh1-5/+0
2018-03-26Scale cursor size for HiDPIVictor Kareh1-1/+5
2018-03-22Use frame window to determine scaleVictor Kareh1-1/+1
2018-03-22Support HiDPI window decorationsVictor Kareh5-49/+96
2018-03-08Fix mismatched enums in keybinding detection for switch-panels and ↵Victor Kareh2-0/+6
switch-panels-backward
2018-02-26window: add _NET_WM_STATE_FOCUSED hint to _NET_WM_STATEmonsta2-5/+19
ported from: https://github.com/GNOME/metacity/commit/4ccb99a50c54f345c4c7d9ac77f1ea76bc6c7c74
2018-02-16avoid deprecated GtkButton:use-stockPablo Barciela1-5/+2
2018-02-15avoid deprecated GtkStockPablo Barciela1-1/+6
2018-02-13Fixes move_to_center moving window between monitorsOmar Zeidan1-1/+5
2018-01-28require GTK+ 3.22 and GLib 2.50monsta6-58/+1
2018-01-15Small bugfix for the move_to_X keybindsOmar Zeidan2-2/+2
2018-01-15Bugfix for monitors of different sizesOmar Zeidan1-12/+20
2018-01-15Restructured monitor keybinds and adjust save_rectOmar Zeidan3-30/+74
2018-01-15Implemented simple shourtcuts to move window to another monitorOmar Zeidan4-0/+91
2018-01-09schema: fix typosmonsta1-2/+2
2018-01-02compositor: don't try to paint window that is not viewable, fix #324Jan Niklas Hasse1-0/+3
Based on metacity commit: a0b8c85c4c0cfb9a378d7c5554af15fdd7703155 From: Alberts Muktupāvels <[email protected]>
2018-01-02Fix wrong result in meta_window_titlebar_is_onscreen() for windows without a ↵Björn Weber1-1/+1
frame
2018-01-02Add support for gtk3 _GTK_SHOW_WINDOW_MENU eventBjörn Weber3-0/+23
2018-01-02More elegant solution for handling new move-to-workspace keybindsOmar Zeidan2-14/+14
2018-01-02Implemented a setting to disable top tilingOmar Zeidan4-20/+44
2018-01-01Implemented tabpopup when moving window to different workspaceOmar Zeidan4-44/+79
2017-12-31keybindings.c: Fix build warning:Pablo Barciela1-1/+2
assignment discards ‘const’ qualifier from pointer target type
2017-12-30Reset tile_resized to false when fullscreeningOmar Zeidan1-1/+6
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.
2017-12-20Fixes windows not going to save_rect when unmaximimizingOmar Zeidan2-1/+5
2017-12-20Allow horizontal and vertical resizing when corner tiledOmar Zeidan4-123/+207
2017-12-20Fixes window getting reset to saved_rect when untiling from cornerOmar Zeidan2-3/+4
2017-12-20Added keybindings for corner tilingOmar Zeidan3-0/+48
2017-12-20Implemented simple corner tiling by mouse dragOmar Zeidan6-49/+121
2017-12-20WidthOfScreen and HeightOfScreen implementationPablo Barciela4-28/+15
This commit reverts: https://github.com/mate-desktop/marco/commit/f0541e3dfda29c26fe14c9c9117f95c49006c75c https://github.com/mate-desktop/marco/commit/d18c2fb4acb58c408c01700682b9922de86e8b2f And it applies an alternative to fix the deprecated functions: gdk_screen_get_width gdk_screen_width gdk_screen_height
2017-11-10XFIXES regions are leaked during paint_windows if more than oneJan Burgmeier1-2/+9
META_COMP_WINDOW_DESKTOP is available (#329)
2017-11-10Add stricter logic for running without XPresent supportVictor Kareh3-31/+33
2017-11-10Make XPresent optionalVictor Kareh1-18/+39
2017-11-10Remove debug outputVictor Kareh1-18/+3
2017-11-10Add in some changes from xfwm4Victor Kareh1-66/+155
2017-11-10Cancel present_pending flag when erroring outVictor Kareh1-11/+31
2017-11-10XPresent extension support - first passVictor Kareh3-30/+142
2017-08-30Store a window flag when user resizes from tiledVictor Kareh4-1/+15
Use that flag to retain the correct window size when performing other operations. Reset when re-tiling.