testing ags again-.-
This commit is contained in:
58
home/core/gui/ags/variables.js
Normal file
58
home/core/gui/ags/variables.js
Normal file
@@ -0,0 +1,58 @@
|
||||
const { Gdk, Gtk } = imports.gi;
|
||||
import App from "resource:///com/github/Aylur/ags/app.js";
|
||||
import Variable from "resource:///com/github/Aylur/ags/variable.js";
|
||||
import Mpris from "resource:///com/github/Aylur/ags/service/mpris.js";
|
||||
import * as Utils from "resource:///com/github/Aylur/ags/utils.js";
|
||||
const { exec, execAsync } = Utils;
|
||||
|
||||
Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets/icons`);
|
||||
|
||||
// Global vars for external control (through keybinds)
|
||||
export const showMusicControls = Variable(false, {});
|
||||
export const showColorScheme = Variable(false, {});
|
||||
globalThis["openMusicControls"] = showMusicControls;
|
||||
globalThis["openColorScheme"] = showColorScheme;
|
||||
globalThis["mpris"] = Mpris;
|
||||
|
||||
// Mode switching
|
||||
export const currentShellMode = Variable("normal", {}); // normal, focus
|
||||
globalThis["currentMode"] = currentShellMode;
|
||||
globalThis["cycleMode"] = () => {
|
||||
if (currentShellMode.value === "normal") {
|
||||
currentShellMode.value = "focus";
|
||||
} else if (currentShellMode.value === "focus") {
|
||||
currentShellMode.value = "nothing";
|
||||
} else {
|
||||
currentShellMode.value = "normal";
|
||||
}
|
||||
};
|
||||
|
||||
// Window controls
|
||||
const range = (length, start = 1) =>
|
||||
Array.from({ length }, (_, i) => i + start);
|
||||
globalThis["toggleWindowOnAllMonitors"] = (name) => {
|
||||
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach((id) => {
|
||||
App.toggleWindow(`${name}${id}`);
|
||||
});
|
||||
};
|
||||
globalThis["closeWindowOnAllMonitors"] = (name) => {
|
||||
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach((id) => {
|
||||
App.closeWindow(`${name}${id}`);
|
||||
});
|
||||
};
|
||||
globalThis["openWindowOnAllMonitors"] = (name) => {
|
||||
range(Gdk.Display.get_default()?.get_n_monitors() || 1, 0).forEach((id) => {
|
||||
App.openWindow(`${name}${id}`);
|
||||
});
|
||||
};
|
||||
|
||||
globalThis["closeEverything"] = () => {
|
||||
const numMonitors = Gdk.Display.get_default()?.get_n_monitors() || 1;
|
||||
for (let i = 0; i < numMonitors; i++) {
|
||||
App.closeWindow(`cheatsheet${i}`);
|
||||
App.closeWindow(`session${i}`);
|
||||
}
|
||||
App.closeWindow("sideleft");
|
||||
App.closeWindow("sideright");
|
||||
App.closeWindow("overview");
|
||||
};
|
||||
Reference in New Issue
Block a user