Grab-fria menyer överallt, popover-stack, radmeny i fönsterlistan
All checks were successful
check / check (push) Successful in 1m34s

- ALLA popovers är nu grab-fria (autohide av) med gemensam
  auto-stängning: pekar-leave + delay, watchdog om pekaren aldrig når
  popovern, och skroll-stegning räknas som aktivitet. Grabbande menyer
  krockade med tooltips ('grabbing popup with non-top most parent') —
  det var därför högerklicksmenyn ibland inte öppnades.
- Popover-stack ersätter en-åt-gången: en popover vars ankare sitter i
  en öppen popover nästlas i stället för att stänga föräldern, och
  förälderns auto-stängning pausas medan ett barn är överst.
- Högerklick på en rad i fönsterlistan öppnar den rutans egen meny
  (nästlad); högerklick på gruppikonen gäller som förut alla fönster
  i gruppen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-30 00:58:32 +02:00
parent 266e25a9ff
commit 570ff085bb
3 changed files with 113 additions and 53 deletions

View File

@@ -45,8 +45,8 @@ pub struct Ctx {
/// (att riva en öppen popovers förälder låser GTK:s pekar-grab)
pub open_popovers: Cell<u32>,
pub refresh_pending: Cell<bool>,
/// den enda popover som får vara öppen åt gången
pub current_popover: RefCell<Option<gtk::Popover>>,
/// öppna popovers, nästlade i ordning (sist = överst)
pub popover_stack: RefCell<Vec<gtk::Popover>>,
/// öppen fönsterlista (för skroll-stegning från gruppikonen)
pub group_list: RefCell<Option<menu::GroupList>>,
}