Introduces a dedicated layer-shell `WindowChromeSurface` that renders macOS-style traffic-light controls over the focused Sway window titlebar, replacing the old top-bar window controls. Adds theme tokens and a reusable `TrafficLightButton` component, updates shell QML/CMake wiring, and adjusts Sway titlebar padding/title format so window titles do not overlap the overlay. Window tracking was extended with focused-window geometry/deco/fullscreen properties plus backend refresh support so the chrome follows window movement and state changes in near real time.
18 lines
543 B
QML
18 lines
543 B
QML
import QtQuick
|
|
|
|
QtObject {
|
|
id: shell
|
|
|
|
readonly property DesktopSurface desktop: DesktopSurface {}
|
|
readonly property TopBarSurface topBar: TopBarSurface {}
|
|
readonly property WindowChromeSurface windowChrome: WindowChromeSurface {}
|
|
readonly property LauncherSurface launcher: LauncherSurface {}
|
|
|
|
readonly property Shortcut closeLauncherShortcut: Shortcut {
|
|
sequence: "Escape"
|
|
enabled: ShellState.launcherOpen
|
|
context: Qt.ApplicationShortcut
|
|
onActivated: ShellState.closeLauncher()
|
|
}
|
|
}
|