Commit graph

8 commits

Author SHA1 Message Date
Victoria Brekenfeld
adedb705e7 shell: handle fullscreen windows on a dedicated layer
I hoped to split this up into multiple commits, but the api
changes to `shell/workspace.rs` were to invasive to feasibly do this.

Here is a rough list of changes:

- Fullscreen windows aren't mapped to other layers anymore
  - This they need their own logic for:
    - Sending frames
    - Dmabuf Feedback
    - Primary outputs
    - On commit handlers
    - cursor tests
  - They get their own unmap/remap logic
  - They get a new restore state similar to minimized windows
    - Refactored the minimized window state to reuse as much as possible
      here
  - They need to be part of focus stacks, which means adjusting them
    to a new type `FocusTarget` as they previously only handled
    `CosmicMapped`.
  - Various shell handlers (minimize, move, menu) now have dedicated
    logic for fullscreen surfaces
    - This was partially necessary due to relying on CosmicSurface now,
      partially because they should've had their own logic from the
      start. E.g. the context menu is now reflecting the fullscreen
      state
- Fullscreen windows may be rendered behind other windows now, when they
  loose focus.
  - This needed changes to input handling / rendering
2025-07-04 19:45:54 +02:00
Victoria Brekenfeld
d30671c984 zoom: Localize zoom ui 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
d2e394b957 menu: Allow toggling sticky state 2024-01-02 13:24:07 +01:00
Victoria Brekenfeld
75990ff056 menu: Add stack tab specific menu 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
8c4d77e43c shell: Add window menu 2023-12-12 18:39:41 +01:00
Victoria Brekenfeld
1251b7e9f7 shell/tiling: Implement window swap mode 2023-09-12 20:53:35 +02:00
Victoria Brekenfeld
37c530c691 moving: Add stacking indicator 2023-07-24 19:31:31 +02:00
Victoria Brekenfeld
7338ac8c57 i18n support 2023-07-06 00:04:34 +02:00