Skip to content

Conversation

@ids1024
Copy link
Member

@ids1024 ids1024 commented Oct 10, 2025

Update to smithay from Smithay/smithay#1819.

Some changes are needed to adapt to Smithay/smithay#1817. Even after looking at the changes there, I'm not entirely sure how the replace configure_serial and current_serial...

@ids1024 ids1024 force-pushed the smithay-layer-shell_noble branch 3 times, most recently from 8834505 to 6b28e33 Compare October 30, 2025 02:27
@ids1024
Copy link
Member Author

ids1024 commented Oct 30, 2025

Reading though the relevant smithay code again, and the uses of this in cosmic-comp, I think I've fixed how last_acked is used now. Using the .current() cached state where applicable.

@ids1024 ids1024 force-pushed the smithay-layer-shell_noble branch from 6b28e33 to 60509a6 Compare October 31, 2025 01:22
@ids1024
Copy link
Member Author

ids1024 commented Oct 31, 2025

This should fix pop-os/cosmic-epoch#2199, though that appears to be an inconsistent race condition that may not be easily reproducible.

The layer arrange fix works as expected when starting the panel with sleep 5 && cosmic-panel then showing the workspaces overview before that timer runs out. After the change, the workspaces view is resized to make room for the panel exclusive zone, which did not happen before.

@ids1024 ids1024 marked this pull request as ready for review October 31, 2025 01:24
@ids1024 ids1024 requested review from a team October 31, 2025 01:24
@ids1024 ids1024 changed the title WIP Update smithay with layer shell updates Update smithay with layer shell updates Oct 31, 2025
Copy link
Member

@Drakulix Drakulix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks mostly good to me

.last_acked
.as_ref()
.is_some_and(|configure| configure.state.size == current_server.size)
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't we simplify this whole thing with the new with_committed_state helper or am I misunderstanding how that works internally? Seems to me, that we don't need to manually check the ack'd serial.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I guess with_committed_state() would work here; though we also use states.data_map, in addition to the states.cached_state, to get the current_server_state().

I guess it wouldn't really be a problem to take the with_states lock twice (but not at the same time) here? Though it might not simplify things much.

Updates for `last_acked`, etc. API changes in
Smithay/smithay#1817.

Includes layer shell fixes
from Smithay/smithay#1819.
@ids1024 ids1024 force-pushed the smithay-layer-shell_noble branch from 60509a6 to c30e3d5 Compare November 7, 2025 04:29
@ids1024
Copy link
Member Author

ids1024 commented Nov 7, 2025

Rebased and updated to smithay commit including fix in Smithay/smithay#1853.

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