28 lines
966 B
JavaScript
28 lines
966 B
JavaScript
const { Gdk } = imports.gi;
|
|
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
|
const { execAsync, exec } = Utils;
|
|
|
|
export let monitors;
|
|
|
|
// Mixes with Gdk monitor size cuz it reports monitor size scaled
|
|
async function updateStuff() {
|
|
monitors = JSON.parse(exec('hyprctl monitors -j'))
|
|
const display = Gdk.Display.get_default();
|
|
monitors.forEach((monitor, i) => {
|
|
const gdkMonitor = display.get_monitor(i);
|
|
monitor.realWidth = monitor.width;
|
|
monitor.realHeight = monitor.height;
|
|
if (userOptions.monitors.scaleMethod.toLowerCase == "gdk") {
|
|
monitor.width = gdkMonitor.get_geometry().width;
|
|
monitor.height = gdkMonitor.get_geometry().height;
|
|
}
|
|
else { // == "division"
|
|
monitor.width = Math.ceil(monitor.realWidth / monitor.scale);
|
|
monitor.height = Math.ceil(monitor.realHeight / monitor.scale);
|
|
}
|
|
});
|
|
}
|
|
|
|
updateStuff().catch(print);
|
|
|