Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • W wayland-protocols
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 78
    • Issues 78
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 55
    • Merge requests 55
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • wayland
  • wayland-protocols
  • Issues
  • #23

Closed
Open
Created Jun 25, 2020 by Christian Rauch@christian-rauch

xdg-decoration: differentiate between shadows and actual visible decoration

The definition of xdg-decoration only knows two modes where all decoration surfaces are either drawn by the client or the server. Decorations usually consist of the visible surfaces inside the window geometry, such as the title bar and buttons, and the "invisible" shadows outside of the window geometry, where "window geometry" refers to the region defined by xdg_surface.set_window_geometry.

Since xdg-decoration does not distinguish between these two sets, it is not possible to toggle either of those independently. This has the downside that a client with server-side decorations cannot disable decorations without also disabling shadows. A use case for this is an undecorated client that would like to use shadows to visually separate it from other visible clients. A concrete usage of this is glfwWindowHint(GLFW_DECORATED, GLFW_FALSE) in GLFW, which on X11 will only hide the title bar but keep shadows.

On top of this, it would be useful if clients with client-side decorations could request server-side shadows from the compositor. This would align the visual shadow style of different toolkits and clients that do not make use of third-party toolkits, such as GLFW and SDL.

Assignee
Assign to
Time tracking