Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wayland: ensure windows can be moved and resized if compositor is using CSD #1787

Merged
merged 1 commit into from
Sep 22, 2024

Conversation

lukefromdc
Copy link
Member

Ensure that nagivation and spatial windows can be moved and resized when running under wayland with CSD enabled, note that CSD is the default in many compositors and forced in some.

Also note that in wayfire, using CSD will pick up the GTK theme's decorations which will look like they do for windows that do not use headerbars (such as all MATE apps) in Mutter. This gives far better support for the MATE themes than firedecor or similar SSD decorators for wayfire. We read the port of the metacity theme to GTK and without a GtkHeaderBar we get normal titlebar theming and dimensions unless the theme itself has an issue.

@lukefromdc
Copy link
Member Author

There is a "metacity decorator" for wayfire but at least Debian doesn't ship it and it's an early alpha right now.

src/caja-window.c Outdated Show resolved Hide resolved
src/caja-window.c Outdated Show resolved Hide resolved
@lukefromdc
Copy link
Member Author

lukefromdc commented Sep 3, 2024 via email

*Do not use G_OBJECT_CLASS (class)->constructed
*We don't seem to need it anymore and it breaks dragging windows with the titlebar or resizing with the mouse in wayland
@lukefromdc lukefromdc force-pushed the fix-wayland-csd-window-move branch from 572f4fe to ff6132c Compare September 4, 2024 00:19
@lukefromdc
Copy link
Member Author

Latest force-push unconditionally removes the constructed() class and moves setting up bookmarks and initial geometry to the constructor() class unconditionally. No change in wayland behavior from the earlier version of this. A test in x11 also showed the bookmarks loading as before, and initial window geometry whether stored from last run or specified on the command line with the -g flag working the same as before. It thus appears we no longer need the constructed()class at all.

Removed it entirely: this simplifies the code, gives us one less include, and one less runtime check to deal with

@lukefromdc
Copy link
Member Author

The Travis error is
#1790
which is another gem error on deployment that seems to be MATE-wide. As it is the deploy code affects only the Federa build. Debian build without the deploy code completed fine.

@lukefromdc lukefromdc merged commit d55e854 into master Sep 22, 2024
2 of 3 checks passed
@lukefromdc lukefromdc deleted the fix-wayland-csd-window-move branch September 22, 2024 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants