| Age | Commit message (Collapse) | Author | Files | Lines |
|
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected]>
|
|
The preferences-desktop-theme icon is really annoying and confusing as the default icon for windows which do not have an icon. I suggest using application-x-executable as a more visually consistent alternative.
|
|
The description for --no-force-fullscreen explicitly states that it
disabled forcing fullscreen mode on windows that have *no* decorations
and are screen-sized.
Up until now, the code directly contradicted that by running the part
only if either the decorations where *enabled* or no CSD being used.
That causes multiple problems.
For once, modern video players, which can certainly not be regarded as
"legacy applications", that try to show the video window as big as
possible and hence set the extents to exactly the screen size, including
using static gravity (so that borders are NOT removed from the window
size automatically) but still request a border are wrongly forced into
fullscreen mode by this hack. Changing the gravity would work around
that problem because the window size is effectively lowered, but we
can't expect applications to work around bugs in marco.
Secondly, the check for window decorations (or not) gets completely
cancelled out by the OR'd check for no CSD. According to the original
commit message, this hasn't been the intention, but rather to NOT force
fullscreen mode on windows that have no decorations and are CSD. It was
meant well, but the logic behind the change failed to do what it was
supposed to do.
Hence, fix that by checking if an application explicitly disabled window
decorations *AND* is not CSD.
This syncs up the help description and code behavior and fixes the CSD
part, but note that, naturally, it also changes the general behavior.
Specifically, this might break cases in which applications were supposed
to be forced into fullscreen mode even though they didn't explicitly
disable window decorations. I'd argue that such behavior would rather be
a bug and not a feature, though.
|
|
Add user settings to control how minimized and urgent windows are
ordered during Alt+Tab.
1. alt-tab-minimized-placement:
- 'mru': Mix minimized windows in MRU order
- 'end': Show minimized windows last (current behavior, default)
- 'hidden': Exclude minimized windows from Alt+Tab
2. alt-tab-urgent-placement:
- 'start': Show all urgent windows first (current behavior, default)
- 'mru': Mix urgent windows in MRU order
Fixes #824
Closes #819
|
|
When two windows are tiled side-by-side or in complementary quarter-tile
positions, dragging the shared inside edge now resizes both windows
simultaneously.
Fixes #615
|
|
Fixes #784.
Commit 6ea23df ("window: do not unfocus on new window") imported the
Metacity bf17c79 / Mutter 998d921d behavior for GNOME Bugzilla #773210:
when a new transient maps without taking focus, keep focus on the parent
so GTK popup and completion windows and VLC fullscreen controls do not
steal keyboard focus.
That blanket change also affected modal dialogs whose parent already has
focus. Electron and GTK file chooser dialogs can reach
meta_window_show() with takes_focus_on_map false because their
_NET_WM_USER_TIME is missing or stale. Since 6ea23df, such dialogs are
mapped above the parent but keyboard focus stays on the parent, so
typing goes to the wrong window.
Keep the bf17c79-equivalent behavior for non-modal transients, but when
the new window is a META_WINDOW_MODAL_DIALOG whose ancestor is the
current focus window, force takes_focus_on_map so the blocking dialog
receives keyboard focus immediately.
|
|
Windows using StaticGravity (like Qt apps) would shift up and left by
the visible frame border size each time they were hidden to system tray
and restored. The position drift compounded with each cycle. This
changes those windows to use the client's actual root position.
Fixes #534
|
|
The wireframe resize/move popup used the "fixed" font, which is 13px and
quite small for modern displays. This changes it to "10x20", which is
20px and is included as part of the same Xorg fonts package.
|
|
The wireframe drawn in reduced-resources mode included invisible resize
borders, making it larger than the visible window. This removes the
invisible borders from the xor rect calculation.
Fixes #532
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When using switch-windows-all to cycle through windows across all
workspaces, marco was grouping windows by workspace rather than using
a global MRU (most-recently-used) list. This caused several issues:
- Sticky windows appeared multiple times, once per workspace
- Window order was confusing (since they were grouped by workspace number)
- Behavior was different from other window managers
Fixed by collecting all windows, sorting them by recency, then building
the tab list from this global list.
Fixes #286
|
|
pass focus to window if it is on another workspace
|
|
Corner-tiled windows were being treated as maximized horizontally, which
is wrong. Instead, we clear all maximized flags to make sure their size
is respected on reload.
Fixes #710
|
|
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected]>
|
|
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected]>
|
|
Add Shift+Print keybinding to trigger 'mate-screenshot --area' for
interactive area selection. This gives users a dedicated keybinding for
area screenshots in addition to the existing Print (screen) and
Alt+Print (window) shortcuts.
Fixes mate-desktop/marco#157
|
|
This prevents race conditions with applications like mate-screenshot
that need to grab input (e.g. for area selection).
Fixes mate-desktop/mate-utils#37
|
|
Replace putenv-based child setup with glib environment functions. This
enables posix_spawn for keybindings and it fixes an old memory leak with
not being able to free the string we added to putenv.
|
|
There was a 10px difference in the calculation between the (correct)
center-new-windows placement and the (incorrect) move-to-center
keybinding. By using the same function in both places we can make sure
the calculation is consistent.
|
|
Extend MetaFrameBorders to include shadow and resize borders to
calculate invisible border size. Also added border caching to prevent
recalculating borders on every frame operation.
This is a backport of the following commits from Metacity:
- https://gitlab.gnome.org/GNOME/metacity/-/commit/21e664af
- https://gitlab.gnome.org/GNOME/metacity/-/commit/3c6e269b
- https://gitlab.gnome.org/GNOME/metacity/-/commit/700e87ea
|
|
Adds GNOME3-style dynamic workspace management. Workspaces are created
when no empty ones exist and removed when multiple empty workspaces are
present, maintaining exactly one empty workspace at the end.
Fixes #406
|
|
This allows marco to respond to HiDPI scale changes without requiring
a restart. When the scale changes, marco now automatically updates all
icons (windows, xprops, alt+tab, etc.) and mouse cursor to be at the
correct scale factor.
Window decorations are handled through an internal GDK signal triggered
from XSettings changes, and so already work out of the box.
|
|
|
|
|
|
Whenever there's a new v* tag, GitHub will use distcheck to generate
tarballs, create a proper release, and trigger the mate-desktop.org
webhook.
|
|
|
|
Adds support for configurable mouse actions on window titlebars,
including middle-click and scroll wheel events.
New actions added:
- close: Close the window
- raise: Raise window to top
- toggle_stick: Toggle sticky state (all workspaces)
- toggle_above: Toggle always-on-top state
Fixes #425
Fixes #787
Note: requries matching mate-control-center changes to work properly
|
|
When calculating the clickable area on the left-most button of
a maximized window, we need to take into account the layout components,
not just the button size.
Fixes mate-desktop/mate-themes#318
|
|
Apply Fitt's law to corner window buttons by extending the clickable
area all the way to the edge of the screen on maximized/tiled windows.
This means that a user moving the pointer all the way to the top-right
corner and clicking, will close the maximized (or right-tiled) window.
The same applies for top-left on maximized and left-tiled windows.
|
|
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected]>
|
|
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected]>
|
|
Bumps [dev-hanz-ops/install-gh-cli-action](https://github.com/dev-hanz-ops/install-gh-cli-action) from 0.1.0 to 0.2.1.
- [Release notes](https://github.com/dev-hanz-ops/install-gh-cli-action/releases)
- [Commits](https://github.com/dev-hanz-ops/install-gh-cli-action/compare/v0.1.0...v0.2.1)
---
updated-dependencies:
- dependency-name: dev-hanz-ops/install-gh-cli-action
dependency-version: 0.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <[email protected]>
|
|
* CI: use github action
* CI: Drop travis CI
|
|
* menu: replace gtk_menu_popup() with gtk_menu_popup_at_rect()
Replace deprecated gtk_menu_popup() with gtk_menu_popup_at_rect(). This
provides the same menu positioning calculation while eliminating
deprecation warnings.
* ui: replace gtk_widget_get_realized() with gtk_widget_get_mapped()
Replace deprecated gtk_widget_get_realized() with
gtk_widget_get_mapped(). Since mapped widgets are guaranteed to be
realized, and we only care about widget visibility, this change
eliminates deprecation warnings while maintaining the same
functionality.
* frames: replace gdk_window_process_all_updates() with gdk_display_flush()
Replace deprecated gdk_window_process_all_updates() with
gdk_display_flush(). Both functions ensure pending updates are
processed, but gdk_display_flush is more general for all display
requests.
|
|
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.
|
|
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.
|
|
GTK+ has support for the application ID property. This will allow Marco
to reconstruct the path to the desktop spec file and so have access to
all internal attributes (e.g. name, icon, etc.)
|
|
Based off Metacity 's commit 7c1cc3ca1d8131499b9cf2ef50b295602ffd6112 [1].
[1] https://gitlab.gnome.org/GNOME/metacity/-/commit/7c1cc3ca1d8131499b9cf2ef50b295602ffd6112
|
|
X's Success return value is 0, not a boolean, so the check was
effectively inverted.
|
|
|
|
|
|
The switcher windows aren't actually "active" per GTK's meaning because
they do not have actual keyboard focus, but they are controlled by the
internal grabs so it's effectively the same as if they were active.
Reporting them as such helps the ATs understanding what's going on.
Fixes #771.
|
|
|
|
Follow-up of 4a2a5dc092814bfe ("eOS theme: Add single button backgrounds")
Without this fix these PNGs are installed when using autotools but not using meson.
|
|
|