hyprland: using toplevel for current screen detection

This commit is contained in:
Lemmy
2026-01-27 13:39:43 -05:00
parent 94cceebed9
commit ab4f5d6af1
5 changed files with 34 additions and 23 deletions
+7 -4
View File
@@ -135,10 +135,13 @@ Item {
}
function getFocusedScreen() {
const activeToplevel = ToplevelManager.activeToplevel;
if (activeToplevel && activeToplevel.screens && activeToplevel.screens.length > 0) {
return activeToplevel.screens[0];
}
// de-activated until proper testing
return null;
// const activeToplevel = ToplevelManager.activeToplevel;
// if (activeToplevel && activeToplevel.screens && activeToplevel.screens.length > 0) {
// return activeToplevel.screens[0];
// }
// return null;
}
}
+7 -4
View File
@@ -679,10 +679,13 @@ Item {
}
function getFocusedScreen() {
const activeToplevel = ToplevelManager.activeToplevel;
if (activeToplevel && activeToplevel.screens && activeToplevel.screens.length > 0) {
return activeToplevel.screens[0];
}
// de-activated until proper testing
return null;
// const activeToplevel = ToplevelManager.activeToplevel;
// if (activeToplevel && activeToplevel.screens && activeToplevel.screens.length > 0) {
// return activeToplevel.screens[0];
// }
// return null;
}
}
+7 -4
View File
@@ -489,10 +489,13 @@ Item {
}
function getFocusedScreen() {
const activeToplevel = ToplevelManager.activeToplevel;
if (activeToplevel && activeToplevel.screens && activeToplevel.screens.length > 0) {
return activeToplevel.screens[0];
}
// On niri the code below only works when you have an actual app selected on that screen.
return null;
// const activeToplevel = ToplevelManager.activeToplevel;
// if (activeToplevel && activeToplevel.screens && activeToplevel.screens.length > 0) {
// return activeToplevel.screens[0];
// }
// return null;
}
}
+12 -9
View File
@@ -558,15 +558,18 @@ Item {
}
function getFocusedScreen() {
const i3Mon = I3.focusedMonitor;
if (i3Mon) {
const monitorName = i3Mon.name;
for (let i = 0; i < Quickshell.screens.length; i++) {
if (Quickshell.screens[i].name === monitorName) {
return Quickshell.screens[i];
}
}
}
// de-activated until proper testing
return null;
// const i3Mon = I3.focusedMonitor;
// if (i3Mon) {
// const monitorName = i3Mon.name;
// for (let i = 0; i < Quickshell.screens.length; i++) {
// if (Quickshell.screens[i].name === monitorName) {
// return Quickshell.screens[i];
// }
// }
// }
// return null;
}
}
+1 -2
View File
@@ -54,8 +54,7 @@ Item {
}
// Try compositor-specific focused monitor detection first
//let screen = CompositorService.getFocusedScreen();
let screen = null;
let screen = CompositorService.getFocusedScreen();
if (screen) {
// Apply the bar check if configured