summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2023-10-24ui/tabpopup: likewise only enable compositing code if available.Mihai Moldovan3-2/+11
2023-10-24ui/frames: check that compositing is not only requested, but also available.Mihai Moldovan5-22/+33
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-10-24Fix losing title of windows with a 3 or 4 bytes first characterColomban Wendling1-1/+1
Fixes #757.
2023-05-04Show correct window title when owned by superuser. Issue #749insaner1-1/+1
2023-01-14Test if XResQueryClientIds() is available before using it.Joakim Tjernlund1-0/+2
Needed for X2Go as it does not have XRES 1.2 extension.
2023-01-14Test Xres 1.2 is presentJoakim Tjernlund2-2/+13
Before using any Xres extension one must call XResQueryExtension() Also make sure Xres 1.2 is available as marco need XResQueryClientIds()
2023-01-14test return value from XResQueryClientIds()Joakim Tjernlund1-5/+6
2022-11-12replace _NET_WM_PID with XResGetClientPid (#741)Jan Novotný1-0/+46
window-props: use XResQueryClientIds to get pid _NET_WM_PID is unreliable! It can be faked or pid might be from different namespace. Ignore _NET_WM_PID and use XResQueryClientIds to get pid. https://gitlab.gnome.org/GNOME/metacity/-/commit/bcbe966511362a8eb8c8c64035ab160086c931f8
2022-11-12Always bring into foreground the previous window after closing oneBalazs Endresz1-1/+1
When opening and then closing certain applications the focus was correctly regained by the previous window but it wasn't brought into the foreground. To fix this we call meta_workspace_focus_default_window() for both NotifyDetailNone and NotifyPointerRoot. These two are always mentioned together in the X docs: https://tronche.com/gui/x/xlib/events/input-focus/normal-and-grabbed.html Some programs will have NotifyDetailNone when closed, while others end up with NotifyPointerRoot.
2022-10-15window: do not disable fullscreen for dialogsAlberts Muktupāvels1-1/+2
fixes https://github.com/mate-desktop/marco/issues/735
2022-07-08theme: fix memory leakrbuj1-1/+0
2022-07-08compositor-xrender: fix memory leakrbuj1-19/+33
2022-07-08build: fix meson buildrbuj1-1/+1
2022-07-08prefs: fix memory leakrbuj1-21/+27
2021-10-26fix code-formatting issue of previous commitraveit651-1/+1
- drop white spaces
2021-10-26Safeguard against calling gdk_x11_window_get_xid with a NULL GdkWindowrcaridade1451-2/+5
2021-07-09tabpopup: fix cairo surface leakFaidon Liambotis1-1/+7
Commit 6b05da5e49996a2101edfd703dd3f5d91011d726 introduced a Cairo surface leak, by calling gdk_cairo_surface_create_from_pixbuf() but then never freeing those surfaces with cairo_surface_destroy(). This manifested in leaking resources when switching between virtual desktops, as observed using xrestop ("Pxms" column), which made the desktop slow and ultimately unusable after a few weeks of uptime. Fixes #685
2021-06-07window: add support for _GNOME_WM_STRUT_AREAraveit657-13/+129
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-07screen: add support for _GTK_WORKAREAS_Dnraveit652-0/+45
In addition to existing _NET_WORKAREA property set also new _GTK_WORKAREAS_Dn property where n is desktop number (between 0 and _NET_NUMBER_OF_DESKTOPS - 1). 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/3d8b03d
2021-06-04window: Do not render shadows on left/right tiled windowsMartin Wimpress3-0/+27
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 Kareh5-7/+94
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-05-28window: Track window rectangle before corner tilingVictor Kareh1-4/+16
When corner-tiling a maximized window, we should keep track of the saved rectangle so that tiling does not reset our window size. Otherwise, untiling the previously maximized window will end up with an unmaximized full-size window, rather than the original window size.
2021-05-26window: Track window rectangle before tilingVictor Kareh1-1/+5
When tiling a maximized window, we should keep track of the saved rectangle so that tiling does not reset our window size. Otherwise, untiling the previously maximized window will end up with an unmaximized full-size window, rather than the original window size.
2021-04-30window: Only unmaximize when the window is already maximized.Zhiyi Zhang1-60/+64
When handling a ClientMessage event that removes _NET_WM_STATE_MAXIMIZED_HORZ or _NET_WM_STATE_MAXIMIZED_VERT from _NET_WM_STATE, marco always restore the window rectangle to the saved rectangle. So if an application window is already unmaximized and the application sends such a ClientMessage event, marco will reset the window rectangle regardless. EWMH doesn't specify what must be done when handling such events. It seems best to avoid restoring window rectangles like other window managers in this case. Fix a related bug: https://bugs.winehq.org/show_bug.cgi?id=50381 This revert a change introduced by 6219f8e8bcaeefb9185a3c3f5f20de4e2fa8f18f. Signed-off-by: Zhiyi Zhang <[email protected]>
2021-04-02window-props: g_memdup is dreprecated from glib 2.68rbuj1-2/+8
2021-03-29warning: declaration of a variable shadows a previous localrbuj3-9/+8
2021-03-18testasyncgetprop: Mismatching the argument type 'unsigned long'rbuj1-2/+2
and conversion specifier 'ld', reported by Apache NetBeans IDE
2021-03-18bell: Unused static function 'bell_flash_screen'rbuj1-0/+2
2021-03-13frames: Unused static functions 'get_client_region', 'get_frame_region'rbuj1-0/+2
2021-03-08compositor-xrender.c: Make sure tooltips are visible when the sourceMichael Webster1-0/+89
widget is close to the edge of the work area. See inline comments - as of 3.24 tooltip positioning is handled differently, and under certain conditions in hidpi, tooltips for the bottom panel applets can end up off the bottom of the work area. To reproduce, in hidpi, set the bottom panel to approximately 30px tall and try to activate a tooltip for an applet on that panel.
2021-03-08bell: missing include guardrbuj1-0/+5
2021-03-06i18n: Use glib's gettext support macrosrbuj23-14/+41
2021-03-01window: turn into a GObjectrbuj3-24/+62
2021-02-26Remove the copyright information when printing the version from the command linerbuj1-28/+4
2020-10-11Added VI keys (hjkl) for moving and resizing windowsKFB1-0/+20
2020-09-27window: do not unfocus on new window.rcaridade1451-17/+1
Fix keyboard input on fullscreen VLC. Based on Metacity commit https://gitlab.gnome.org/GNOME/metacity/-/commit/bf17c79
2020-09-05Do not call cairo paint on generate_pixmaps.rcaridade1451-2/+0
Based on Metacity commit https://gitlab.gnome.org/GNOME/metacity/-/commit/0b2f5ad0a2f30726ac0dc59aa59f7f513e91c832 Fixes transparent windows.
2020-09-03compositor-xrender: Use USHRT_MAX macro from limits.hrbuj1-5/+6
2020-09-03compositor-xrender: Remove float-conversion warningrbuj1-4/+4
2020-09-01theme: macro "ALPHA_TO_UCHAR" is not usedrbuj1-2/+0
2020-08-18window: expand tile size cycling supportraveit653-1/+8
2020-08-04Remove multiple empty linesrbuj56-159/+0
find . \( -name '*.h' -o -name '*.c' \) -exec sed -i 'N;/^\n$/D;P;D;' {} \;
2020-08-04Remove trailing spaces/tabsrbuj13-86/+86
find . \( -name '*.h' -o -name '*.c' \) -exec sed -i 's/[[:space:]]*$//' {} \; find . \( -name '*.h' -o -name '*.c' \) -exec sed -i 's/\t*$//' {} \;
2020-07-07common: window icon (META_DEFAULT_ICON_NAME) is no longer availablerbuj1-1/+1
2020-06-16Remove enum conversion warningsrbuj4-6/+6
2020-05-27workspace: Don't try to use per-workspace MRU lists as a hint for focusingrcaridade1454-39/+17
A prior commit switched from focusing the topmost window as the default window to focusing the MRU window. This was done in alignment with the introduction of per-workspace MRU lists to avoid problems where the window stack was inadvertently changed when focusing windows during window switches. Now that focusing windows don't have as big an impact on the stacking order, we can revert back to focusing the top window, which is less confusing to the user. For now, leave per-workspace MRU lists, as they're a pretty good approximation of a global MRU list, and it works well enough. https://bugzilla.gnome.org/show_bug.cgi?id=620744 Based on commit https://gitlab.gnome.org/GNOME/metacity/-/commit/f628d8f8901f46fa9e00707ae9d7ccfd1e85f427
2020-05-27stack: make meta_window_raise() and meta_window_lower() smarterrcaridade1451-3/+39
https://bugzilla.gnome.org/show_bug.cgi?id=620744 Based on commit https://gitlab.gnome.org/GNOME/metacity/-/commit/9245f9588bd7c17ccbe04df65c1579313cbad07b
2020-05-27compositor: fix possible crash closing/destroying window . Fixes to previous ↵rcaridade1455-9/+48
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-05-27window: fix crash if workspace is nullrcaridade1451-1/+2
Based on commit https://gitlab.gnome.org/GNOME/metacity/-/commit/24d35569bdb78d1da3b53ed1a6d81d365d60bed0
2020-05-27In the pop-up workspace switcher, show the selected workspace withWilliam Bader1-1/+10
a dark color when compositing is disabled. Updates #566 which changed the selected workspace to a light color on a light background.