summaryrefslogtreecommitdiff
path: root/src/include
AgeCommit message (Collapse)AuthorFilesLines
2024-06-18window: Parse _BAMF_DESKTOP_FILE propertyiconcache-use-gdesktopappVictor Kareh1-2/+2
In systems with bamfdaemon running, windows get this property for finding the dekstop spec file of an application. This can be used to find the defined icon for any application window that reports this attribute and provider much better icon matching.
2024-06-18iconcache: Add GDesktopAppInfo lookup as an icon caching strategyVictor Kareh1-2/+2
Looking up GDesktopAppInfo from the GTK Application ID we can get a much better match for the icon and load it at the appropriate scale. This results in matching icons to straneous windows and better looking icons overall.
2023-08-17ui/tabpopup: likewise only enable compositing code if available.Mihai Moldovan1-0/+2
2023-08-17ui/frames: check that compositing is not only requested, but also available.Mihai Moldovan1-5/+7
Enabling code that is supposed to be used in compositing conditions is harmful if compositing is not actually available. Just checking the preference is not enough to make sure that compositing is available - the X server might be missing crucial extensions for compositing to work, which in turn correctly disables the internal compositor. The end result is graphical issues like black borders around windows in such situations. Make sure that compositing is both requested AND available to fix this bug.
2023-01-18Add setting to raise windows on alt+tab popupsparkida2-0/+3
2021-06-07window: add support for _GNOME_WM_STRUT_AREAraveit651-8/+10
In addition to existing properties use also new _GNOME_WM_STRUT_AREA property that allows creating struts between monitors. https://mail.gnome.org/archives/wm-spec-list/2018-December/msg00000.html https://gitlab.freedesktop.org/xdg/xdg-specs/merge_requests/22 origin commit: https://gitlab.gnome.org/GNOME/metacity/commit/922de13
2021-06-04window: Do not render shadows on left/right tiled windowsMartin Wimpress1-0/+2
This pull request prevents shadows being rendered for left and right side titled windows. This behaviour is consistent with maximised windows, which also do not render shadows. The rationale for this change is so that when two windows are titled along side each other, it prevents central shadows bleeding into the touching points of the windows. metacity-theme-x.xml has provision to style left/right titled windows. This patch makes it possible to to create window themes that present clean side-by-side tiled windows.
2021-06-04iconcache: Use GDesktopAppInfo to find correct application iconsVictor Kareh1-0/+2
Some files do not report their application icons correctly in the window properties. This patch allows the marco UI to search for the corresponding .desktop file and render the icon in the desktop info on both the alt-tab popup and the window mini-icon.
2021-03-06i18n: Use glib's gettext support macrosrbuj1-4/+0
2021-03-01window: turn into a GObjectrbuj1-0/+8
2020-08-04Remove multiple empty linesrbuj6-17/+0
find . \( -name '*.h' -o -name '*.c' \) -exec sed -i 'N;/^\n$/D;P;D;' {} \;
2020-07-07common: window icon (META_DEFAULT_ICON_NAME) is no longer availablerbuj1-1/+1
2020-02-28util: meta_bug raises SIGABRT so it shouldn't returnrbuj1-1/+1
2019-12-05tabpopup: Increase max number of columnsVictor Kareh1-1/+1
2019-10-31window: Add optional tile size cyclingVictor Kareh1-0/+2
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-27tabpopup: Change schema value rangesVictor Kareh1-3/+3
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: Render window thumbnail as cairo surfaceVictor Kareh1-0/+1
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-06-07Make alt+tab max columns configurable and consider window label widthosch3-0/+11
2019-06-05MetaFrameBorders: add invisible bordersVictor Kareh1-0/+5
This just adds the invisible border field and populates it with data but doesn't use it in any way. Based on mutter commit: https://git.gnome.org/browse/mutter/commit/?id=a1a2527c75ab0c135f89396ea036336fb67ac538 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/bf02c7c3
2019-06-05frame: Add "get_corner_radiuses" chainVictor Kareh1-0/+8
https://bugzilla.gnome.org/show_bug.cgi?id=628195 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/3994d7a0
2019-06-05Only shadow ARGB windows with a frame outside the frameVictor Kareh2-0/+7
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-05compositor: don't draw shadow under windowsVictor Kareh1-0/+3
upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/5404d8f2
2019-06-05ui: Add meta_ui_update_frame_style()Victor Kareh1-0/+2
This method allows forcing a style update of a particular frame from the core, so that it can pick up style variants. https://bugzilla.gnome.org/show_bug.cgi?id=645355 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/97554dc4
2019-06-05core: Allow retrieving the theme variant via core_get()Victor Kareh1-0/+1
To associate frames with the correct style variant, the UI will need access to the window's theme variant property. https://bugzilla.gnome.org/show_bug.cgi?id=645355 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/5c7403cc
2019-06-05MetaFrameBorders: Add meta_frame_borders_clearVictor Kareh1-0/+3
Just a quick little commit to help clean things up for when we add invisible borders. Additionally, do a little housekeeping in preview-widget as well. https://bugzilla.gnome.org/show_bug.cgi?id=644930 NOTE: Patch copied from metacity and adapted for marco. upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/7d519b3f
2019-06-05Replace public MetaFrameGeometry with MetaFrameBordersVictor Kareh2-12/+18
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-06-03alt+tab popup: bugfix mouse click handling for scale factor > 1osch1-1/+2
2019-06-03Handle mouse clicks in Alt+Tab Popuposch1-1/+4
2019-06-03Allow use of up/down arrow keys in alt+tab popuposch1-0/+2
2019-04-23ui: always set the frame background to NoneGiovanni Campagna1-7/+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
2019-04-23Limit icon size to 480osch1-1/+1
2019-04-23Limit icon size to 1024osch1-0/+3
2019-04-23reload icons if icon size preference changedosch1-0/+2
2019-04-23make icon size configurableosch2-2/+3
2019-04-11Replace meta_free_gslist_and_elements with g_slist_free_fullrbuj1-2/+0
Use g_slist_free_full
2019-04-11Replace meta_rectangle_free_list_and_elements with g_list_free_fullrbuj1-9/+0
Use g_list_free_full
2019-01-31Increase icon size on tab and workspace popupsVictor Kareh1-2/+2
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-07'meta_error_trap_push' instead 'meta_error_trap_push_with_return'Pablo Barciela1-1/+0
both functions have the same code
2018-08-28add support for app-menu button in themeAlberts Muktupāvels1-15/+18
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-28Add frame type for attached modal dialogsOwen W. Taylor1-0/+1
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 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-08-28Add meta_window_get_transient_for() methodDavyd Madeley1-0/+1
NOTE: Patch copied from mutter and adapted for metacity.
2018-03-08Fix mismatched enums in keybinding detection for switch-panels and ↵Victor Kareh1-0/+2
switch-panels-backward
2018-01-15Implemented simple shourtcuts to move window to another monitorOmar Zeidan1-0/+14
2018-01-02More elegant solution for handling new move-to-workspace keybindsOmar Zeidan2-14/+14
2018-01-02Implemented a setting to disable top tilingOmar Zeidan1-3/+5
2018-01-01Implemented tabpopup when moving window to different workspaceOmar Zeidan2-1/+6
2017-12-20Added keybindings for corner tilingOmar Zeidan1-0/+12
2017-07-29avoid deprecated gdk_display_get_screenZenWalker3-4/+2
2017-06-05Added hotkey to rename current workspaceFelipe Barriga Richards2-0/+10