Skip to content

[WIP] Implement wlr-layer-shell, wlr-foreign-toplevel-management#784

Open
mtwebster wants to merge 3 commits intolinuxmint:masterfrom
mtwebster:wlr-layer-shell
Open

[WIP] Implement wlr-layer-shell, wlr-foreign-toplevel-management#784
mtwebster wants to merge 3 commits intolinuxmint:masterfrom
mtwebster:wlr-layer-shell

Conversation

@mtwebster
Copy link
Member

@mtwebster mtwebster commented Jan 16, 2026

  • wlr-layer-shell isn't complete, but it's to the point I can start looking at separating Cinnamon responsibilities into two processes.
  • wlr-foreign-toplevel-management - this is mainly to start seeing how to wire this stuff up, though it all may end up in a custom protocol later, since we're not at all interested in making muffin work with anything but Cinnamon. On the other hand, it may be useful to keep it for third-party wmctrl-type utilities.
  • Clutter wayland backend - this allows us to map a ClutterStage as a wayland surface.

mtwebster added a commit to mtwebster/nemo that referenced this pull request Jan 16, 2026
ref:
linuxmint/muffin#784

todo:

Workarea margins - in x11 mode nemo gets accurate, per-monitor
workarea from Cinnamon over dbus, with _NET_WORKAREA values as a
backup (which is only accurate for the primary monitor). From this,
workarea padding is calculated and applied to the icon layouts.

For wayland we can maybe utilize the layer-shell margin properties
instead, but some refactoring is needed to provide the individual
nemo-desktop windows with this (and keeping it up-to-date, should
workarea change).
mtwebster added a commit to mtwebster/nemo that referenced this pull request Jan 16, 2026
ref:
linuxmint/muffin#784

todo:

Workarea margins - in x11 mode nemo gets accurate, per-monitor
workarea from Cinnamon over dbus, with _NET_WORKAREA values as a
backup (which is only accurate for the primary monitor). From this,
workarea padding is calculated and applied to the icon layouts.

For wayland we can maybe utilize the layer-shell margin properties
instead, but some refactoring is needed to provide the individual
nemo-desktop windows with this (and keeping it up-to-date, should
workarea change).
mtwebster added a commit to mtwebster/cinnamon-settings-daemon that referenced this pull request Jan 16, 2026
wayland.

Current csd-background runs as an xwayland client and has special
handling built in to muffin to 'make it work'.

This will allow it to run as a native client, if muffin has the
capability, and if csd-background has been built with support.

ref:
linuxmint/muffin#784
linuxmint/nemo#3684
mtwebster added a commit to mtwebster/cinnamon-settings-daemon that referenced this pull request Jan 16, 2026
wayland.

Current csd-background runs as an xwayland client and has special
handling built in to muffin to 'make it work'.

This will allow it to run as a native client, if muffin has the
capability, and if csd-background has been built with support.

ref:
linuxmint/muffin#784
linuxmint/nemo#3684
mtwebster added a commit to mtwebster/cinnamon-settings-daemon that referenced this pull request Jan 27, 2026
wayland.

Current csd-background runs as an xwayland client and has special
handling built in to muffin to 'make it work'.

This will allow it to run as a native client, if muffin has the
capability, and if csd-background has been built with support.

ref:
linuxmint/muffin#784
linuxmint/nemo#3684
Very WIP, experimenting mainly with nemo-desktop for now.
Allows standalone processes to use Clutter as a wayland client
directly.
Not sure we'll keep this in the end but it gives me boxes to check
for now towards splitting up our Cinnamon process. There are
definitely gaps in support versus the current single-process model
but it allows us to begin to identify them.
@mtwebster mtwebster changed the title [WIP] Implement wlr-layer-shell. [WIP] Implement wlr-layer-shell, wlr-foreign-toplevel-management Feb 6, 2026
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.

1 participant