Override window management
- No space reserved - No window moving or tiling
This commit is contained in:
parent
b559463d09
commit
17bc14e08e
@ -79,10 +79,13 @@ fn set_ui_props(ui: &MainWindow, resp: &WeatherResponse, cfg: &Config) {
|
|||||||
|
|
||||||
/// Create and show the Window UI
|
/// Create and show the Window UI
|
||||||
pub fn show_popup(resp: &WeatherResponse, cfg: &Config) -> Result<(), Box<dyn std::error::Error>> {
|
pub fn show_popup(resp: &WeatherResponse, cfg: &Config) -> Result<(), Box<dyn std::error::Error>> {
|
||||||
// Closure that adjusts winit WindowAttributes before Slint creates the window.
|
// Closure to configure X11 window attributes before Slint creates the window.
|
||||||
let window_attrs = |attrs: WindowAttributes| {
|
let window_attrs = |attrs: WindowAttributes| {
|
||||||
// Mark the X11 window as a DOCK so the WM doesn't treat it as a normal window
|
attrs
|
||||||
attrs.with_x11_window_type(vec![WindowType::Dock])
|
// Present the window as a dock so most WMs avoid decorations and normal window rules.
|
||||||
|
.with_x11_window_type(vec![WindowType::Dock])
|
||||||
|
// Make the window unmanaged. This prevents tiling WMs from reserving space or moving it.
|
||||||
|
.with_override_redirect(true)
|
||||||
};
|
};
|
||||||
|
|
||||||
// Build a Slint backend that applies this attribute hook to all windows.
|
// Build a Slint backend that applies this attribute hook to all windows.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user