diff --git a/CHANGELOG.md b/CHANGELOG.md index f3ac3d5..516a214 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ All notable changes to eww will be listed here, starting at changes since versio - Add support for `:hover` css selectors for eventbox (By: druskus20) - Add `eww get` subcommand (By: druskus20) - Add circular progress widget (By: druskus20) +- Add `desktop` window type (By: Alvaro Lopez) ### Notable Internal changes - Rework state management completely, now making local state and dynamic widget hierarchy changes possible. diff --git a/crates/eww/src/display_backend.rs b/crates/eww/src/display_backend.rs index bbd2c0f..16d9cd5 100644 --- a/crates/eww/src/display_backend.rs +++ b/crates/eww/src/display_backend.rs @@ -213,6 +213,7 @@ mod platform { WindowType::Dialog => self.atoms._NET_WM_WINDOW_TYPE_DIALOG, WindowType::Toolbar => self.atoms._NET_WM_WINDOW_TYPE_TOOLBAR, WindowType::Utility => self.atoms._NET_WM_WINDOW_TYPE_UTILITY, + WindowType::Desktop => self.atoms._NET_WM_WINDOW_TYPE_DESKTOP, }], )? .check()?; @@ -229,6 +230,7 @@ mod platform { _NET_WM_WINDOW_TYPE_DIALOG, _NET_WM_WINDOW_TYPE_TOOLBAR, _NET_WM_WINDOW_TYPE_UTILITY, + _NET_WM_WINDOW_TYPE_DESKTOP, _NET_WM_STATE, _NET_WM_STATE_STICKY, _NET_WM_STATE_ABOVE, diff --git a/crates/yuck/src/config/backend_window_options.rs b/crates/yuck/src/config/backend_window_options.rs index 85d233c..8b86be2 100644 --- a/crates/yuck/src/config/backend_window_options.rs +++ b/crates/yuck/src/config/backend_window_options.rs @@ -47,6 +47,7 @@ mod backend { Toolbar, Normal, Utility, + Desktop, } impl FromStr for WindowType { type Err = EnumParseError; @@ -58,6 +59,7 @@ mod backend { "dialog" => Self::Dialog, "normal" => Self::Normal, "utility" => Self::Utility, + "desktop" => Self::Desktop, } } } diff --git a/docs/src/configuration.md b/docs/src/configuration.md index 35340c2..33b2473 100644 --- a/docs/src/configuration.md +++ b/docs/src/configuration.md @@ -72,7 +72,7 @@ Depending on if you are using X11 or Wayland, some additional properties exist: | `stacking` | Where the window should appear in the stack. Possible values: `fg`, `bg`. | | `wm-ignore` | Whether the window manager should ignore this window. This is useful for dashboard-style widgets that don't need to interact with other windows at all. Note that this makes some of the other properties not have any effect. Either `true` or `false`. | | `reserve` | Specify how the window manager should make space for your window. This is useful for bars, which should not overlap any other windows. | -| `windowtype` | Specify what type of window this is. This will be used by your window manager to determine how it should handle your window. Possible values: `normal`, `dock`, `toolbar`, `dialog`. Default: `dock` if `reserve` is specified, `normal` otherwise. | +| `windowtype` | Specify what type of window this is. This will be used by your window manager to determine how it should handle your window. Possible values: `normal`, `dock`, `toolbar`, `dialog`, `desktop`. Default: `dock` if `reserve` is specified, `normal` otherwise. | #### Wayland