v0.1.1: reservera plats fungerar ihop med autohide
All checks were successful
check / check (push) Successful in 1m32s
release / build-release (push) Successful in 1m58s

Tidigare stängdes exclusive zone av så fort autohide var aktiv —
maximerade fönster täckte då hela skärmen och dodge gömde docken,
vilket motsäger vad 'reservera plats' lovar. Nu reserveras platsen
alltid när avoid_windows är på: maximerade fönster stannar vid dockan
(och triggar aldrig dodge), medan fönster man själv drar in i zonen
fortfarande gömmer den. Tydligare etikett i settings + docs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-30 14:22:47 +02:00
parent ae292eea52
commit bf279c5f2f
5 changed files with 11 additions and 5 deletions

2
Cargo.lock generated
View File

@@ -1042,7 +1042,7 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "waydock"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"async-channel",
"gtk4",

View File

@@ -1,6 +1,6 @@
[package]
name = "waydock"
version = "0.1.0"
version = "0.1.1"
edition = "2021"
description = "Modern, resurssnål dock för Wayfire — transparent, JSON-konfigurerad, per-skärm"
license = "MIT"

View File

@@ -64,7 +64,10 @@ gruppering, fönsterlistans öppning och hover-effekt), **menyinnehåll**,
// skuggutrymme läggs aldrig på förankrade sidor,
// så 0 = verkligen kant i kant
"layer": "top", // top | overlay | bottom (always-on-top = overlay)
"avoid_windows": false, // true = reservera plats (exclusive zone)
"avoid_windows": false, // true = reservera plats: maximerade fönster
// stannar vid dockan. Funkar IHOP med autohide —
// då gömmer dodge bara för fönster du själv
// drar in över dockan
"appearance": {
"background": "#222222", // panelfärg

View File

@@ -133,7 +133,10 @@ fn configure_layer(win: &gtk::ApplicationWindow, cfg: &Config, monitor: &gdk::Mo
}
}
}
if cfg.avoid_windows && !cfg.autohide.enabled {
// reservera plats fungerar ihop med autohide: maximerade fönster
// stannar vid dockan (och triggar då aldrig dodge) — bara fönster
// man själv drar in i zonen gömmer den
if cfg.avoid_windows {
win.auto_exclusive_zone_enable();
} else {
win.set_exclusive_zone(0);

View File

@@ -467,7 +467,7 @@ fn build_layout_page(ctx: &Rc<Ctx>) -> gtk::ScrolledWindow {
_ => Layer::Top,
};
}));
row(&list, "Reservera plats (undvik fönster)", &switch(ctx, cfg.avoid_windows, |c, v| c.avoid_windows = v));
row(&list, "Reservera plats (maximerade fönster stannar vid dockan)", &switch(ctx, cfg.avoid_windows, |c, v| c.avoid_windows = v));
heading(&list, "Marginaler");
list.append(&margin_illustration(ctx));