From 633729323091156007e2df7dc317c2a4bbba8354 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Fri, 26 Apr 2024 08:57:58 +0700 Subject: [PATCH] fix empty gap for weird monitor scales (#424) --- .config/ags/modules/.miscutils/hyprlanddata.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.config/ags/modules/.miscutils/hyprlanddata.js b/.config/ags/modules/.miscutils/hyprlanddata.js index 2a4de2cf6..b67a5458b 100644 --- a/.config/ags/modules/.miscutils/hyprlanddata.js +++ b/.config/ags/modules/.miscutils/hyprlanddata.js @@ -1,17 +1,19 @@ -const { GLib } = imports.gi; -import Variable from 'resource:///com/github/Aylur/ags/variable.js'; +const { Gdk } = imports.gi; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { execAsync, exec } = Utils; export let monitors; -// ughh condition race theoretically but overview won't be open at init so i guess it's okay +// Mixes with Gdk monitor size cuz it reports monitor size scaled async function updateStuff() { monitors = JSON.parse(exec('hyprctl monitors -j')) - monitors.forEach(monitor => { - monitor.width /= monitor.scale; - monitor.height /= monitor.scale; + const display = Gdk.Display.get_default(); + monitors.forEach((monitor, i) => { + const gdkMonitor = display.get_monitor(i); + monitor.width = gdkMonitor.get_geometry().width; + monitor.height = gdkMonitor.get_geometry().height; }); } -updateStuff(); +updateStuff().catch(print); +