Compare commits

..

2 commits

3 changed files with 13 additions and 1 deletions

View file

@ -1,6 +1,7 @@
{ {
lib, lib,
craneLib, craneLib,
mold,
pkg-config, pkg-config,
qt6, qt6,
writeShellScript, writeShellScript,
@ -67,6 +68,7 @@ let
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
mold
qt6.qtbase qt6.qtbase
qt6.qtdeclarative qt6.qtdeclarative
]; ];
@ -79,8 +81,12 @@ let
# qt6.qtbase's setup hook overrides QMAKE after derivation attrs are set, # qt6.qtbase's setup hook overrides QMAKE after derivation attrs are set,
# so re-assert it in preBuild which runs after all setup hooks. # so re-assert it in preBuild which runs after all setup hooks.
# Force mold as the linker (cxx-qt book deprecates ld.gold). Setting via
# CARGO_TARGET_*_LINKER + RUSTFLAGS is the only path that survives nixpkgs'
# cc-wrapper - `-fuse-ld=` from build.rs gets eaten by the wrapper.
preBuild = '' preBuild = ''
export QMAKE=${qmakeWrapper} export QMAKE=${qmakeWrapper}
export RUSTFLAGS="-C link-arg=-fuse-ld=mold ''${RUSTFLAGS:-}"
''; '';
}; };

View file

@ -11,8 +11,13 @@ PanelWindow {
visible: _winVisible visible: _winVisible
color: "transparent" color: "transparent"
// Mirror of `screen` captured at construction. Reading `root.screen`
// directly in `_shown` couples it to visibility transitions (PanelWindow
// re-evaluates `screen` when mapped/unmapped), which feeds back into
// `_shown` via `_winVisible` and trips a binding loop.
property var assignedScreen: null
property bool _winVisible: false property bool _winVisible: false
property bool _shown: M.TooltipState.visible && M.TooltipState.screen === root.screen property bool _shown: M.TooltipState.visible && M.TooltipState.screen === assignedScreen
on_ShownChanged: { on_ShownChanged: {
if (_shown) { if (_shown) {

View file

@ -33,6 +33,7 @@ ShellRoot {
Tooltip { Tooltip {
screen: scope.modelData screen: scope.modelData
assignedScreen: scope.modelData
} }
LazyLoader { LazyLoader {