diff --git a/.gitignore b/.gitignore index 0ecea57..6f0fbb9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ .weather.json node_modules +prepare @girs + +**/.claude/settings.local.json diff --git a/app.ts b/app.ts index 4b7f175..aa9ea1d 100644 --- a/app.ts +++ b/app.ts @@ -1,31 +1,27 @@ import './src/lib/session'; -import './src/scss/style'; -import './src/shared/useTheme'; -import './src/shared/wallpaper'; -import './src/shared/systray'; -import './src/shared/dropdown'; -import './src/shared/utilities'; -import './src/components/bar/utils/sideEffects'; - +import './src/style'; +import 'src/core/behaviors/bar'; import AstalHyprland from 'gi://AstalHyprland?version=0.1'; -const hyprland = AstalHyprland.get_default(); - import { Bar } from './src/components/bar'; -import { DropdownMenus, StandardWindows } from './src/components/menus/exports'; import Notifications from './src/components/notifications'; import SettingsDialog from './src/components/settings/index'; -import { bash, forMonitors } from 'src/lib/utils'; -import options from 'src/options'; import OSD from 'src/components/osd/index'; import { App } from 'astal/gtk3'; import { execAsync } from 'astal'; -import { handleRealization } from 'src/components/menus/shared/dropdown/helpers'; -import { isDropdownMenu } from 'src/lib/constants/options.js'; -import { initializeSystemBehaviors } from 'src/lib/behaviors'; -import { runCLI } from 'src/cli/commander'; +import { handleRealization } from 'src/components/menus/shared/dropdown/helpers/helpers'; +import { isDropdownMenu } from 'src/components/settings/constants.js'; +import { initializeSystemBehaviors } from 'src/core/behaviors'; +import { runCLI } from 'src/services/cli/commander'; +import { DropdownMenus, StandardWindows } from 'src/components/menus'; +import { forMonitors } from 'src/components/bar/utils/monitors'; +import options from 'src/configuration'; +import { SystemUtilities } from 'src/core/system/SystemUtilities'; +const hyprland = AstalHyprland.get_default(); const initializeStartupScripts = (): void => { - execAsync(`python3 ${SRC_DIR}/scripts/bluetooth.py`).catch((err) => console.error(err)); + execAsync(`python3 ${SRC_DIR}/scripts/bluetooth.py`).catch((err) => + console.error('Failed to initialize bluetooth script:', err), + ); }; const initializeMenus = (): void => { @@ -38,7 +34,10 @@ const initializeMenus = (): void => { }); DropdownMenus.forEach((window) => { - const windowName = window.name.replace('_default', '').concat('menu').toLowerCase(); + const windowName = window.name + .replace(/_default.*/, '') + .concat('menu') + .toLowerCase(); if (!isDropdownMenu(windowName)) { return; @@ -54,18 +53,22 @@ App.start({ runCLI(request, res); }, async main() { - initializeStartupScripts(); + try { + initializeStartupScripts(); - Notifications(); - OSD(); + Notifications(); + OSD(); - const barsForMonitors = await forMonitors(Bar); - barsForMonitors.forEach((bar: JSX.Element) => bar); + const barsForMonitors = await forMonitors(Bar); + barsForMonitors.forEach((bar: JSX.Element) => bar); - SettingsDialog(); - initializeMenus(); + SettingsDialog(); + initializeMenus(); - initializeSystemBehaviors(); + initializeSystemBehaviors(); + } catch (error) { + console.error('Error during application initialization:', error); + } }, }); @@ -73,6 +76,6 @@ hyprland.connect('monitor-added', () => { const { restartCommand } = options.hyprpanel; if (options.hyprpanel.restartAgs.get()) { - bash(restartCommand.get()); + SystemUtilities.bash(restartCommand.get()); } }); diff --git a/assets/tokyo-night.xml b/assets/tokyo-night.xml new file mode 100644 index 0000000..0b597a7 --- /dev/null +++ b/assets/tokyo-night.xml @@ -0,0 +1,139 @@ + + + + + HyprPanel - Jas Singh + Tokyo Night color scheme for GtkSourceView + + +