summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update Catalan translationHEADmasterJordi Mas i Hernandez2023-05-101-255/+270
|
* accellabel: use g_string_free return valueAlberts Muktupāvels2023-03-231-2/+1
|
* Update Turkish translationSabri Ünal2023-03-061-10/+10
|
* Update Danish translationAlan Mortensen2023-01-091-160/+189
|
* bump version to 3.46.1, update NEWS3.46.1Alberts Muktupāvels2022-12-242-1/+8
|
* window: use only newest available strut propertyAlberts Muktupāvels2022-12-241-57/+89
| | | | | Specification says that older strut properties must be ignored when newer properties are set.
* xrender: remove stray newlineAlberts Muktupāvels2022-10-251-1/+0
|
* xrender: find visual that matches depth of background pixmapAlberts Muktupāvels2022-10-251-3/+63
| | | | https://gitlab.gnome.org/GNOME/metacity/-/issues/34
* display: put windows with same WM_CLASS in tab list groupAlberts Muktupāvels2022-10-221-0/+6
| | | | | | | | | Use WM_CLASS as last thing to check if window should be shown in tab list group. GNOME Shell and xfwm4 use WM_CLASS to decide if windows belongs to same application. Also tasklist from libwnck does window grouping based on WM_CLASS. https://gitlab.gnome.org/GNOME/metacity/-/issues/26
* display: put windows from same client in tab list groupAlberts Muktupāvels2022-10-223-4/+7
| | | | | | | Reuse existing meta_window_same_client function to check if windows are from same client/application. https://gitlab.gnome.org/GNOME/metacity/-/issues/26
* display: ensure that tab group does not include wrong windowsAlberts Muktupāvels2022-10-221-14/+6
| | | | | | Make sure that we never put all windows in META_TAB_LIST_GROUP when focus_window is NULL. And to compare if windows have same group use meta_window_same_application.
* display: replace IN_TAB_CHAIN macro with an inline functionAlberts Muktupāvels2022-10-222-20/+44
|
* Update Russian translationSergej A2022-10-171-1069/+1413
|
* Fix invalid markup in Slovenian UI translationAndre Klapper2022-10-161-1/+1
|
* Update Slovenian translationMartin2022-10-151-1186/+993
|
* display: avoid unnecessary stack changesAlberts Muktupāvels2022-10-051-1/+39
| | | | | | | | | | | | | | | | | | Currently docks are raised when a mouse enters the window and are lowered when mouse leaves it. Typically this will make unnecessary stack changes and unneeded screen redraw. Functions meta_window_raise and meta_window_lower raises or lowers windows within the window layer. For dock windows that means that raising/lowering happens between windows in META_LAYER_BOTTOM layer or META_LAYER_DOCK/META_LAYER_TOP layers. In typical configuration with top and bottom panels this means that rasing/lowering happens between both panels for no reason. Stop doing that if dock does not overlap with other windows in same layer. Dock raising was added in commit 7be4c63ee459 when panel was put in the nromal layer.
* display: remove extra unmap events with same window and serialAlberts Muktupāvels2022-10-051-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Single XUnmapWindow call can result in multiple UnmapNotify events. Linked issue has attached python code intended to reproduce original bug and can be used to reproduce multiple UnmapNotify events for the same window. Steps to reproduce problem: 1. Run python3 Untitled.py; 2. Undock one of the application's child windows; 3. Minimize main window; 4. Unminimize main window. On drag start metacity gets map event - new MetaWindow is created. This window has override_redirect set to true, metacity selects StructureNotifyMask events. When child window is dropped outside main window we get 3 unmap events! One event was sent because we asked X server to do that by selecting StructureNotifyMask events. Second event was sent because child window parent was root window. We have asked for such events on root window by selecting SubstructureNotifyMask events. Third event seems to come from XSendEvent. At this point these multiple events are not problem. MetaWindow is destroyed when we get first event and rest are ignored. After that application sends map request and we create new MetaWindow. This time override_redirect is not set and we choose to not select StructureNotifyMask events. Unfortunately this mask is already in your_event_mask as we are not unselecting events when window is unmanaged. Now when we minimize main window (step 3) also dock window is minimized. We are just hiding window so we are adding pending unmap event so we can ignore it when it will arrive. On first event we correctly detect that it should be ignored but once second event arrives we are unmanaging this window. And here is our problem - trying to unminimize main window only main window gets restored! Main window does not find child window because it is destroyed. Use XCheckIfEvent to remove extra UnmapNotify events that has same window and serial preventing unnecessary window destruction. https://gitlab.gnome.org/GNOME/metacity/-/issues/31
* bump version to 3.46.0, update NEWS3.46.0Alberts Muktupāvels2022-10-032-1/+7
|
* window: do not disable fullscreen for dialogsAlberts Muktupāvels2022-10-031-1/+2
| | | | https://gitlab.gnome.org/GNOME/metacity/-/issues/33
* workspace: focus only ancestors that are focusableAlberts Muktupāvels2022-10-031-7/+32
| | | | | Based on mutter commit: https://gitlab.gnome.org/GNOME/mutter/-/commit/eccc791f3b3451216f957e67fec47a73b65ed2b2
* window: add meta_window_is_focusableAlberts Muktupāvels2022-10-033-3/+11
| | | | | | Based on mutter commits: https://gitlab.gnome.org/GNOME/mutter/-/commit/43633d6b2f6f602ba87956d5c20ee336b8b56236 https://gitlab.gnome.org/GNOME/mutter/-/commit/58d2a674c466b607e18e6c8e129a6cf1646fde7f
* window-props: do not spew initial size_hints differencesAlberts Muktupāvels2022-10-031-1/+2
|
* window-props: stop lying about what client window sets or does notAlberts Muktupāvels2022-10-031-5/+9
| | | | | | We are calling meta_set_normal_hints from meta_window_new to initialize size_hints. Claiming that window sets minimum size to zero or that window did not set gravity is wrong and missleading.
* window-props: do not set XSizeHints flagsAlberts Muktupāvels2022-10-031-6/+0
| | | | Keep flags as they were set on client window.
* xprops: simplify size_hints_from_resultsAlberts Muktupāvels2022-10-033-24/+10
|
* xprops: remove unused functionsAlberts Muktupāvels2022-10-032-139/+0
|
* window: return _NET_WM_PID when XRes is not availableAlberts Muktupāvels2022-09-301-0/+3
| | | | | | To use XResQueryClientIds we need XRes 1.2 or newer! https://gitlab.gnome.org/GNOME/libwnck/-/issues/154
* window-props: re-add support for _NET_WM_PIDAlberts Muktupāvels2022-09-303-0/+30
| | | | | | | We will use _NET_WM_PID when xserver does not have XRes extension or its version is too old. This partially reverts 9135966673e9fd430b9e8252abdb9c946295e25b.
* display: check if XRes extension is availableAlberts Muktupāvels2022-09-303-1/+25
| | | | We are using XResQueryClientIds that is available in 1.2 version.
* window-props: define HAVE_SYS_TIME_HAlberts Muktupāvels2022-09-301-0/+1
| | | | https://gitlab.gnome.org/GNOME/libgtop/-/merge_requests/34
* Update Turkish translationSabri Ünal2022-09-211-2304/+8
|
* Update Georgian translationZurab Kargareteli2022-07-251-3046/+1084
|
* Update Turkish translationSabri Ünal2022-07-221-166/+167
|
* Update German translationJürgen Benvenuti2022-07-221-132/+134
| | | | (cherry picked from commit d717bd6232e299cac18309c05593660427c5de0a)
* Update Basque translationAsier Sarasua Garmendia2022-03-261-119/+119
|
* icon-cache: reset origin if property change invalidates iconAlberts Muktupāvels2022-03-221-11/+16
| | | | | | | | Client theoretically can unset / remove icon. We need to reset origin to make sure we try to load icon from other sources. Test application that can be used to set/unset icons: https://gitlab.gnome.org/GNOME/libwnck/-/merge_requests/42
* icon-cache: make get_icon_invalidated staticAlberts Muktupāvels2022-03-222-2/+1
|
* window: remove incorrect mask checkAlberts Muktupāvels2022-03-221-5/+4
| | | | | | XResGetClientPid already checks for XRES_CLIENT_ID_PID_MASK and does that correctly. We were doing direct comparition that would fail if mask would include something else.
* icon-cache: remove support for KWM_WIN_ICONAlberts Muktupāvels2022-03-194-101/+2
| | | | | According to Debian Code Search only MPlayer sets this property (together with _NET_WM_ICON).
* bump version to 3.44.0, update NEWS3.44.0Alberts Muktupāvels2022-03-192-2/+6
|
* build: remove obsolete macrosAlberts Muktupāvels2022-03-141-7/+5
|
* bump version to 3.43.1, update NEWS3.43.1Alberts Muktupāvels2022-03-122-2/+6
|
* Update Croatian translationgnome-3-42Goran Vidović2022-03-041-3/+3
|
* Update Croatian translationGoran Vidović2022-03-041-232/+256
|
* revert "ci: use ubuntu 21.04 image"Alberts Muktupāvels2021-10-261-2/+2
| | | | This reverts commit f2e22abc678be6dc8c7a5739976ace0775eed499.
* bump version to 3.42.0, update NEWS3.42.0Alberts Muktupāvels2021-10-232-1/+8
|
* Update Portuguese translationHugo Carvalho2021-10-221-25/+25
|
* Update Portuguese translationHugo Carvalho2021-10-221-452/+438
| | | | (cherry picked from commit 1e58c8e51fcab9a2521a7ff5771d7fe4412c476b)
* Update Serbian translationМирослав Николић2021-10-221-127/+127
|
* tooltip: request client side decorationsAlberts Muktupāvels2021-10-225-2/+334
| | | | https://gitlab.gnome.org/GNOME/metacity/-/issues/25