summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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-12-05tabpopup: Increase max number of columnsVictor Kareh2-2/+2
2019-10-31window: Add optional tile size cyclingVictor Kareh6-13/+123
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-10-29DustBlue: strip image of all profiles and commentsrbuj13-0/+0
find . -name "*.png" -exec mogrify -strip {} ;
2019-10-27tabpopup: Fix deprecation warningsVictor Kareh1-26/+38
2019-10-27tabpopup: Change schema value rangesVictor Kareh2-7/+7
Since we're rewriting how tab popups are created, we should change the gschema value ranges so that they are more compatible with the new version.
2019-10-27tabpopup: Make workspaces compatible with OSD popupVictor Kareh2-25/+23
When drawing the workspace switcher OSD, we want it to be slightly transparent to match the OSD style. Also changed how the popup size is calculated and changed window icons to cairo surfaces.
2019-10-27tabpopup: Render window thumbnail as cairo surfaceVictor Kareh3-91/+118
Instead of converting from surface to a GdkPixbuf and then back to a surface, we keep it as a surface for the entire manipulation flow. This improves rendering speed a bit and sets the ground for a higher resolution thumbnail in the future.
2019-10-27tabpopup: Draw transparent OSD-style popupsVictor Kareh3-58/+94
2019-10-26Fix MARCO_LOCALEDIR displaying the translated messagesrbuj1-1/+1
2019-10-12WinMe theme: strip png images of all profiles and commentsrbuj10-0/+0
find . -name "*.png" -exec mogrify -strip {} \;
2019-10-08eOS theme: Add single button backgroundsrbuj6-0/+600
2019-10-08eOS theme: strip png images of all profiles and commentsrbuj20-0/+0
find . -name "*.png" -exec mogrify -strip {} \;
2019-10-08eOS theme: make transparent the button-box outer regionrbuj8-0/+0
2019-10-07theme: 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-10-01window decoration themes: Add Atlanta, Esco, Gorilla, Motif, Raleighrbuj34-12/+2656
2019-10-01Use WARN_CFLAGS which are only set with --enable-compiler-warningsrbuj3-4/+10
It removes --enable-more-warnings, since it is recommended to use --enable-compile-warnings=maximum
2019-09-24testboxes: 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
2019-09-19remove warnings: function declaration isn’t a prototyperbuj1-16/+16
core/testboxes.c:34:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:103:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:120:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:148:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:167:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:190:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:589:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:681:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:725:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:842:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:904:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:1021:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:1154:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:1243:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:1344:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] core/testboxes.c:1396:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
2019-09-19Remove warning: format not a string literal, argument types not checkedrbuj1-7/+1
ui/tabpopup.c:176:7: warning: format not a string literal, argument types not checked [-Wformat-nonliteral] 176 | tmp = g_markup_printf_escaped (formatter, str); | ^~~
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-09-04window.c: remove unused variablePavel Shlyak1-3/+0
2019-08-31 display.c: add missing "break"Pavel Shlyak1-1/+1
2019-08-12async-getprop: Fix cast from non-struct type to struct typePablo Barciela1-1/+1
Fixes Clang static analyzer warning: core/async-getprop.c:277:11: warning: Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption reply = (xGetPropertyReply *) ^~~~~~~~~~~~~~~~~~~~~
2019-08-12xprops: Fix cast from non-struct type to struct typePablo Barciela1-2/+2
Fixes Clang static analyzer warnings: core/xprops.c:761:9: warning: Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption raw = (xPropWMHints*) results->prop; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ core/xprops.c:883:9: warning: Casting a non-structure type to a structure type and accessing a field can lead to memory access errors or data corruption raw = (xPropSizeHints*) results->prop; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-08-10frames: 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-08-10window: add _GTK_THEME_VARIANT to initial window propertiesmonsta1-1/+2
2019-08-10frames: 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-08-10frames: 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-08-10frames: use style_updated instead of style_setmonsta1-6/+4
guess it was overlooked when porting to GTK+3
2019-08-02Fixed moving windows to edges to work with CSD clients.Omar Zeidan1-10/+13
2019-07-13meson: use install_data to replace install_dirWu Xiaotian11-20/+93
2019-07-13switch to use meson build systemWu Xiaotian4-0/+361
2019-07-13window: 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-06-14libmarco-private: add version informationraveit651-1/+1
2019-06-07Make alt+tab max columns configurable and consider window label widthosch7-14/+104
2019-06-05theme: Fix window state when tiling from maximizedVictor Kareh1-0/+2
2019-06-05compositor: 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-05update 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-05frames: 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-05frames: 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-05theme: fix warningVictor Kareh1-0/+1
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/3a3c47e3
2019-06-05frames: 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-05Fix scaling overcorrection when caching frame bordersVictor Kareh1-18/+16
2019-06-05frame: remove uneeded includeVictor Kareh1-4/+0
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/ca475d44
2019-06-05compositor: fix border_sizeVictor Kareh1-0/+23
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/72003d38
2019-06-05frame: make frame window transparentVictor Kareh1-6/+20
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/74db1f11
2019-06-05frames: apply shapes in different wayVictor Kareh3-4/+77
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/cd383e72
2019-06-05frames: add dest_kind to apply_cairo_region_to_windowVictor Kareh1-3/+4
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/94c8d620