Skip to content

feat: add SSD support via config option#939

Open
nanuwo wants to merge 1 commit intopop-os:masterfrom
nanuwo:nanuwo/ssd
Open

feat: add SSD support via config option#939
nanuwo wants to merge 1 commit intopop-os:masterfrom
nanuwo:nanuwo/ssd

Conversation

@nanuwo
Copy link
Copy Markdown

@nanuwo nanuwo commented Aug 8, 2025

This PR adds support for SSD in libcosmic via a config option.
CSD is default on Linux, but will be disabled if the option in the toolkit config file or in app::settings::Settings are true.
On MacOS and Windows, SSD is default: see the last comment on #523. It will be disabled if the option in the toolkit config file or in app::settings::Settings are false.
(I know it's not technically SSD on Mac and Windows but it functions mostly the same)

Fixes:

@nanuwo nanuwo force-pushed the nanuwo/ssd branch 2 times, most recently from 14233c2 to 8313739 Compare August 8, 2025 20:16
@pyroraptor07
Copy link
Copy Markdown

Tested this on KDE, Windows, and MacOS with the cosmic app template (did have to update the iced submodule) and so far it seems to work pretty well. The only thing I would add (more because of this bug on MacOS really) is that moving the window using the cosmic header bar should probably be disabled when using SSD.

@pyroraptor07
Copy link
Copy Markdown

Also, on MacOS, the cursor doesn't change for the window controls for some reason, but that probably should be looked at separately.

@nanuwo
Copy link
Copy Markdown
Author

nanuwo commented Dec 23, 2025

@pyroraptor07 thanks for testing! I think that the window should still be moveable by the header bar because it means you don't have to aim for a small titlebar - this is how it functions on KDE and it's very useful. I would look at both of those Mac bugs, but I don't have access to one unfortunately.

@pyroraptor07
Copy link
Copy Markdown

@pyroraptor07 thanks for testing! I think that the window should still be moveable by the header bar because it means you don't have to aim for a small titlebar - this is how it functions on KDE and it's very useful. I would look at both of those Mac bugs, but I don't have access to one unfortunately.

That's fair enough, and those bugs should probably be looked at as separate issues anyways. I have access to a mac, but I have very little experience with the macos environment, so I'm not sure how much help I'd be troubleshooting them. But again, not related to this PR.

@snoweuph
Copy link
Copy Markdown

snoweuph commented Mar 7, 2026

shouldn't this be already managed by cosmic::app::settings::Settings.client_decorations() ?

image

I found this MR, after noticing that:

cosmic::app::settings::Settings.client_decorations(false)

on latest main branch (rev 03d0171bbe36664b4749c2b70297a288f35df59f) results in Client+Server Side Decorations at the same time:
image

@nanuwo
Copy link
Copy Markdown
Author

nanuwo commented Mar 8, 2026

I do use that, but this PR is supposed to add a config option (for users) as well as a settings option (for developers) and figure it out depending on OS as described in the PR description. It also should fix that issue that you found.

@snoweuph
Copy link
Copy Markdown

snoweuph commented Mar 8, 2026

thanks for the info and PR :3

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.

3 participants