This commit is contained in:
Nico
2024-10-31 10:33:46 +01:00
commit ad6d893cb0
237 changed files with 19793 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
App.addIcons(`${App.configDir}/assets`)
import Gdk from 'gi://Gdk';
import GLib from 'gi://GLib';
import App from 'resource:///com/github/Aylur/ags/app.js'
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'
import options from './options.js';
import { init } from './lib/init.js';
import Lockscreen from './modules/lock/Lockscreen.js';
import Powermenu from './modules/powermenu/Powermenu.js';
import OSD from './modules/osd/OSD.js';
import Verification from './modules/powermenu/Verification.js';
import Overview from './modules/overview/Overview.js';
import NotificationPopups from './modules/notifications/NotificationPopups.js';
import Bar from './modules/bar/Bar.js'
import { setupDateMenu } from './modules/datemenu/DateMenu.js';
import { setupQuickSettings } from './modules/quicksettings/QuickSettings.js';
const range = (length, start = 1) => Array.from({ length }, (_, i) => i + start);
function forMonitors(widget) {
const n = Gdk.Display.get_default()?.get_n_monitors() || 1;
return range(n, 0).map(widget).flat(1);
}
print(App.configDir)
// SCSS compilation
// Utils.exec(`bash -c 'echo "" > ${App.configDir}/scss/_musicwal.scss'`); // reset music styles
// Utils.exec(`bash -c 'echo "" > ${App.configDir}/scss/_musicmaterial.scss'`); // reset music styles
async function applyStyle() {
const COMPILED_STYLE_DIR = `${GLib.get_user_cache_dir()}/ags/user/generated`
if (options.recompileSass) {
Utils.exec(`mkdir -p ${COMPILED_STYLE_DIR}`);
Utils.exec(`sassc ${App.configDir}/scss/main.scss ${COMPILED_STYLE_DIR}/style.css`);
}
App.resetCss();
App.applyCss(`${COMPILED_STYLE_DIR}/style.css`);
print('[LOG] Styles loaded')
print(`CRITICAL: Reload Sass option is set to: ${options.recompileSass}`)
}
applyStyle().catch(print);
const Windows = () => [
Lockscreen(),
Powermenu(),
// Dock(),
Verification(),
Overview(),
forMonitors(NotificationPopups),
forMonitors(Bar),
forMonitors(OSD),
];
// const CLOSE_ANIM_TIME = 210; // Longer than actual anim time to make sure widgets animate fully
export default {
onConfigParsed: () => {
setupQuickSettings()
setupDateMenu()
init()
if (options.monitorCSS) {
Utils.monitorFile(
// directory that contains the scss files
`${App.configDir}/scss`,
function() {
applyStyle()
},
)
}
},
css: `${App.configDir}/style.css`,
stackTraceOnError: true,
closeWindowDelay: { // For animations
"powermenu": options.theme.PopupCloseDuration,
"verification": options.theme.PopupCloseDuration,
"overview": options.theme.PopupCloseDuration,
"quicksettings": options.theme.PopupCloseDuration,
// 'sideright': CLOSE_ANIM_TIME,
// 'sideleft': CLOSE_ANIM_TIME,
// 'osk': CLOSE_ANIM_TIME,
},
windows: Windows().flat(1),
};