summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-03-28Fix -Werror=cast-function-typerbuj9-34/+40
Bump glib-2 required version to 2.58: G_SOURCE_FUNC https://gitlab.gnome.org/GNOME/glib/commit/039fa6897bb4c5cd30caec8ee3add1a4ef612f76 Build & install:i export CC=gcci export CFLAGS=-Werror=cast-function-type ./autogen.sh --prefix=/usr make clean make sudo make install
2019-03-28Improve performance by removing unused assignmentsrbuj9-27/+8
2019-03-13window: avoid clang warning: garbage valuePablo Barciela1-9/+15
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; ^ ~~~~~~~~~~~~~~~~
2019-03-10frames: avoid deprecated 'gtk_widget_set_double_buffered'Pablo Barciela1-6/+17
based in the mutter commits: https://gitlab.gnome.org/GNOME/mutter/commit/b8b0dc5c78008647f5833f63d88456025f17bd08 https://gitlab.gnome.org/GNOME/mutter/commit/669c9da2a48d9a5573edee09065b8558c1d07035
2019-03-09boxes: avoid false positive warning in Clang static analyzerPablo Barciela1-0/+3
avoid Clang static analyzer warning: core/boxes.c:412:15: warning: Use of memory after it is freed if (meta_rectangle_contains_rect (a, b)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-03-06Do not judge whether the window is decorated or notzhuyaliang1-1/+0
2019-03-06screen: Fix use of memory after it is freedPablo Barciela1-2/+1
Fixes Clang static analyzer warning: core/screen.c:754:16: warning: Use of memory after it is freed result = g_list_prepend (result, info); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-03-06boxes: 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-03-05[Security] Use 'g_strlcpy' instead of 'strcpy'Pablo Barciela2-4/+5
Fixes Clang static analyzer warnings: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
2019-03-05compositor-xrender: Fix memory leakPablo Barciela1-0/+2
Fixes Clang static analyzer warning: compositor/compositor-xrender.c:587:10: warning: Potential leak of memory pointed to by 'data' return ximage; ^~~~~~
2019-01-31screen: Remove get_current_monitor in favor of get_current_xineramaVictor Kareh4-56/+10
Since xinerama already contains information on the monitor and its rectangle, there is no need to go through Gdk to get this information again.
2019-01-31Increase icon size on tab and workspace popupsVictor Kareh6-41/+96
Alt+Tab and Workspace popups should be sized relative to the monitor size. This way they look nice and large regardless of the display resolution. Also, given much larger modern resolutions, icon sizes should be larger by default.
2019-01-15screen: avoid 'NULL' in 'meta_error_trap...' functionsPablo Barciela1-2/+4
Fixes https://github.com/mate-desktop/marco/issues/445
2019-01-13prefs: avoid deprecated 'g_settings_list_keys'Pablo Barciela1-3/+15
2019-01-09add git.mk to autogenerate .gitignore filesWu Xiaotian4-0/+8
2019-01-07'meta_error_trap_push' instead 'meta_error_trap_push_with_return'Pablo Barciela9-31/+22
both functions have the same code
2019-01-07errors.c: avoid deprecated 'gdk_error_trap...' functions:Pablo Barciela1-4/+5
avoid deprecated: gdk_error_trap_push gdk_error_trap_pop_ignored gdk_error_trap_pop
2019-01-06frames.c: drop unused variablesPablo Barciela1-3/+0
2019-01-03compositor-xrender: avoid deprecated 'gdk_error_trap_push/pop'Pablo Barciela1-2/+4
2018-08-29theme: revert theme format version 3.6Alberts Muktupāvels1-3/+1
Shadow and padding was never part of theme. This format was created by mutter, and it is an incompatible change.
2018-08-29Revert "libmarco-private: remove '-1' part from include dir name"Victor Kareh2-2/+2
This reverts commit 2bea67fce88dc22320874279faf08da72ba02ca5.
2018-08-28Convert frame region handling to cairo regionsOwen W. Taylor1-43/+79
It's useful to get frame shapes and manipulate them within Mutter, for example so that the compositor can use them to clip drawing. For this, we'll need the regions as cairo regions not X regions, so convert frame shaping code to work in terms of cairo_region_t. https://bugzilla.gnome.org/show_bug.cgi?id=635268
2018-08-28theme: add invisible_border to metacity themeAlberts Muktupāvels3-1/+11
This adds 'invisible_border' to metacity theme. This invisible border will be used for resize cursor area.
2018-08-28add support for app-menu button in themeAlberts Muktupāvels7-18/+76
Add app-menu button support in themes. This is done only to support metacity theme format 3.5 version. Marco will not show this button! Based on metacity commit: https://gitlab.gnome.org/GNOME/metacity/commit/6a2cc159
2018-08-28remove option to attach modal dialogsVictor Kareh2-11/+0
This was added only to add support for metacity theme format version 3.2. Adapted from metacity for marco origin commit: https://gitlab.gnome.org/GNOME/metacity/commit/d2b13461
2018-08-28theme: replace mutter/metacity with marcoVictor Kareh4-5/+5
2018-08-28theme: Replace char array element comparisons with strncmpJasper St. Pierre1-19/+7
https://bugzilla.gnome.org/show_bug.cgi?id=662962
2018-08-28tabpopup.c: always show 5px outline borderVictor Kareh1-35/+13
Adapted from metacity for marco Origin commit: https://gitlab.gnome.org/GNOME/metacity/commit/aab7b07a Author: Alberts Muktupāvels <[email protected]> Date: Fri Oct 3 19:57:08 2014 +0300
2018-08-28tabpopup.c: improveVictor Kareh1-32/+29
* Fix missing white border on outline window. * Do not create outline_window if we are not going to use it. Adapted from https://gitlab.gnome.org/GNOME/metacity/commit/a7dd0727
2018-08-28Don't show the ws switcher if we only have oneVictor Kareh1-0/+4
Origin: Ubuntu Bug: https://bugzilla.gnome.org/show_bug.cgi Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/metacity/+bug/506944 Author: Didier Roche <[email protected]>
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