diff --git a/.config/ags/assets/arch-symbolic.svg b/.config/ags/assets/icons/arch-symbolic.svg similarity index 100% rename from .config/ags/assets/arch-symbolic.svg rename to .config/ags/assets/icons/arch-symbolic.svg diff --git a/.config/ags/assets/icons/cachyos-symbolic.svg b/.config/ags/assets/icons/cachyos-symbolic.svg new file mode 100644 index 000000000..f2649b1e6 --- /dev/null +++ b/.config/ags/assets/icons/cachyos-symbolic.svg @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.config/ags/assets/debian-symbolic.svg b/.config/ags/assets/icons/debian-symbolic.svg similarity index 100% rename from .config/ags/assets/debian-symbolic.svg rename to .config/ags/assets/icons/debian-symbolic.svg diff --git a/.config/ags/assets/icons/endeavouros-symbolic.svg b/.config/ags/assets/icons/endeavouros-symbolic.svg new file mode 100644 index 000000000..3be4cc406 --- /dev/null +++ b/.config/ags/assets/icons/endeavouros-symbolic.svg @@ -0,0 +1,96 @@ + + + + + EndeavourOS Logo + + + + image/svg+xml + + EndeavourOS Logo + + + + + + + + + + + + + + + + + + + diff --git a/.config/ags/assets/fedora-symbolic.svg b/.config/ags/assets/icons/fedora-symbolic.svg similarity index 100% rename from .config/ags/assets/fedora-symbolic.svg rename to .config/ags/assets/icons/fedora-symbolic.svg diff --git a/.config/ags/assets/flatpak-symbolic.svg b/.config/ags/assets/icons/flatpak-symbolic.svg similarity index 100% rename from .config/ags/assets/flatpak-symbolic.svg rename to .config/ags/assets/icons/flatpak-symbolic.svg diff --git a/.config/ags/assets/google-gemini-symbolic.svg b/.config/ags/assets/icons/google-gemini-symbolic.svg similarity index 100% rename from .config/ags/assets/google-gemini-symbolic.svg rename to .config/ags/assets/icons/google-gemini-symbolic.svg diff --git a/.config/ags/assets/nixos-symbolic.svg b/.config/ags/assets/icons/nixos-symbolic.svg similarity index 100% rename from .config/ags/assets/nixos-symbolic.svg rename to .config/ags/assets/icons/nixos-symbolic.svg diff --git a/.config/ags/assets/openai-symbolic.svg b/.config/ags/assets/icons/openai-symbolic.svg similarity index 100% rename from .config/ags/assets/openai-symbolic.svg rename to .config/ags/assets/icons/openai-symbolic.svg diff --git a/.config/ags/assets/ubuntu-symbolic.svg b/.config/ags/assets/icons/ubuntu-symbolic.svg similarity index 100% rename from .config/ags/assets/ubuntu-symbolic.svg rename to .config/ags/assets/icons/ubuntu-symbolic.svg diff --git a/.config/ags/data/sourceviewtheme.xml b/.config/ags/assets/themes/sourceviewtheme.xml similarity index 100% rename from .config/ags/data/sourceviewtheme.xml rename to .config/ags/assets/themes/sourceviewtheme.xml diff --git a/.config/ags/config.js b/.config/ags/config.js index e52568f87..2e13709ef 100644 --- a/.config/ags/config.js +++ b/.config/ags/config.js @@ -1,20 +1,21 @@ "use strict"; // Import 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' // Widgets -import { Bar, BarCornerTopleft, BarCornerTopright } from './widgets/bar/main.js'; -import Cheatsheet from './widgets/cheatsheet/main.js'; -// import DesktopBackground from './widgets/desktopbackground/main.js'; -// import Dock from './widgets/dock/main.js'; -import Corner from './widgets/screencorners/main.js'; -import Indicator from './widgets/indicators/main.js'; -import Osk from './widgets/onscreenkeyboard/main.js'; -import Overview from './widgets/overview/main.js'; -import Session from './widgets/session/main.js'; -import SideLeft from './widgets/sideleft/main.js'; -import SideRight from './widgets/sideright/main.js'; +import { Bar, BarCornerTopleft, BarCornerTopright } from './modules/bar/main.js'; +import Cheatsheet from './modules/cheatsheet/main.js'; +// import DesktopBackground from './modules/desktopbackground/main.js'; +// import Dock from './modules/dock/main.js'; +import Corner from './modules/screencorners/main.js'; +import Indicator from './modules/indicators/main.js'; +import Osk from './modules/onscreenkeyboard/main.js'; +import Overview from './modules/overview/main.js'; +import Session from './modules/session/main.js'; +import SideLeft from './modules/sideleft/main.js'; +import SideRight from './modules/sideright/main.js'; const range = (length, start = 1) => Array.from({ length }, (_, i) => i + start); function forMonitors(widget) { @@ -25,13 +26,15 @@ function forMonitors(widget) { // 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 -function applyStyle() { - Utils.exec(`sassc ${App.configDir}/scss/main.scss ${App.configDir}/style.css`); +async function applyStyle() { + const COMPILED_STYLE_DIR = `${GLib.get_user_cache_dir()}/ags/user/generated` + Utils.exec(`mkdir -p ${COMPILED_STYLE_DIR}`); + Utils.exec(`sassc ${App.configDir}/scss/main.scss ${COMPILED_STYLE_DIR}/style.css`); App.resetCss(); - App.applyCss(`${App.configDir}/style.css`); + App.applyCss(`${COMPILED_STYLE_DIR}/style.css`); console.log('[LOG] Styles loaded') } -applyStyle(); +applyStyle().catch(print); const Windows = () => [ // forMonitors(DesktopBackground), @@ -65,6 +68,8 @@ export default { // Stuff that don't need to be toggled. And they're async so ugh... // Bar().catch(print); // Use this to debug the bar. Single monitor only. +// BarCornerTopleft().catch(print); // Use this to debug the bar. Single monitor only. +// BarCornerTopright().catch(print); // Use this to debug the bar. Single monitor only. forMonitors(Bar); forMonitors(BarCornerTopleft); forMonitors(BarCornerTopright); diff --git a/.config/ags/imports.js b/.config/ags/imports.js deleted file mode 100644 index e5e1ab889..000000000 --- a/.config/ags/imports.js +++ /dev/null @@ -1,38 +0,0 @@ -const resource = file => `resource:///com/github/Aylur/ags/${file}.js`; -const require = async file => (await import(resource(file))).default; -const service = async file => (await require(`service/${file}`)); - -export const App = await require('app'); -// export const Widget = await require('widget'); -// export const Service = await require('service'); -// export const Variable = await require('variable'); -export const Utils = await import(resource('utils')); -// export const Applications = await service('applications'); -// export const Audio = await service('audio'); -// export const Battery = await service('battery'); -// export const Bluetooth = await service('bluetooth'); -// export const Hyprland = await service('hyprland'); -export const Mpris = await service('mpris'); -export const Network = await service('network'); -export const Notifications = await service('notifications'); -// export const SystemTray = await service('systemtray'); - -globalThis['App'] = App; ////////////////////////////// -// globalThis['Widget'] = Widget; -// globalThis['Service'] = Service; -// globalThis['Variable'] = Variable; -globalThis['Utils'] = Utils; /////////////////////////// -// globalThis['Applications'] = Applications; -// globalThis['Audio'] = Audio; -// globalThis['Battery'] = Battery; -// globalThis['Bluetooth'] = Bluetooth; -// globalThis['Hyprland'] = Hyprland; -globalThis['Mpris'] = Mpris; -globalThis['Network'] = Network; -globalThis['Notifications'] = Notifications; -// globalThis['SystemTray'] = SystemTray; - - -const { exec } = Utils; -export const SCREEN_WIDTH = Number(exec(`bash -c "xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1 | head -1" | awk '{print $1}'`)); -export const SCREEN_HEIGHT = Number(exec(`bash -c "xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2 | head -1" | awk '{print $1}'`)); diff --git a/.config/ags/lib/separator.js b/.config/ags/lib/separator.js deleted file mode 100644 index 3098c7e60..000000000 --- a/.config/ags/lib/separator.js +++ /dev/null @@ -1,5 +0,0 @@ -import Widget from 'resource:///com/github/Aylur/ags/widget.js'; - -export const separatorLine = Widget.Box({ - className: 'separator-line', -}) \ No newline at end of file diff --git a/.config/ags/data/quotes.js b/.config/ags/modules/.commondata/quotes.js similarity index 100% rename from .config/ags/data/quotes.js rename to .config/ags/modules/.commondata/quotes.js diff --git a/.config/ags/data/weather.js b/.config/ags/modules/.commondata/weather.js similarity index 100% rename from .config/ags/data/weather.js rename to .config/ags/modules/.commondata/weather.js diff --git a/.config/ags/lib/animatedcircularprogress.js b/.config/ags/modules/.commonwidgets/cairo_circularprogress.js similarity index 100% rename from .config/ags/lib/animatedcircularprogress.js rename to .config/ags/modules/.commonwidgets/cairo_circularprogress.js diff --git a/.config/ags/lib/navigationindicator.js b/.config/ags/modules/.commonwidgets/cairo_navigationindicator.js similarity index 100% rename from .config/ags/lib/navigationindicator.js rename to .config/ags/modules/.commonwidgets/cairo_navigationindicator.js diff --git a/.config/ags/lib/roundedcorner.js b/.config/ags/modules/.commonwidgets/cairo_roundedcorner.js similarity index 92% rename from .config/ags/lib/roundedcorner.js rename to .config/ags/modules/.commonwidgets/cairo_roundedcorner.js index fd48d93e7..90c1cf07b 100644 --- a/.config/ags/lib/roundedcorner.js +++ b/.config/ags/modules/.commonwidgets/cairo_roundedcorner.js @@ -1,10 +1,6 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; const { Gtk } = imports.gi; const Lang = imports.lang; -import Cairo from 'gi://cairo?version=1.0'; - -export const dummyRegion = new Cairo.Region(); -export const enableClickthrough = (self) => self.input_shape_combine_region(dummyRegion); export const RoundedCorner = (place, props) => Widget.DrawingArea({ ...props, diff --git a/.config/ags/lib/configwidgets.js b/.config/ags/modules/.commonwidgets/configwidgets.js similarity index 98% rename from .config/ags/lib/configwidgets.js rename to .config/ags/modules/.commonwidgets/configwidgets.js index fa129345a..ba181c604 100644 --- a/.config/ags/lib/configwidgets.js +++ b/.config/ags/modules/.commonwidgets/configwidgets.js @@ -1,7 +1,7 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; import { MaterialIcon } from './materialicon.js'; -import { setupCursorHover } from './cursorhover.js'; +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; const { Box, Button, Label, Revealer } = Widget; export const ConfigToggle = ({ icon, name, desc = '', initValue, onChange, ...rest }) => { diff --git a/.config/ags/lib/materialicon.js b/.config/ags/modules/.commonwidgets/materialicon.js similarity index 100% rename from .config/ags/lib/materialicon.js rename to .config/ags/modules/.commonwidgets/materialicon.js diff --git a/.config/ags/lib/notification.js b/.config/ags/modules/.commonwidgets/notification.js similarity index 98% rename from .config/ags/lib/notification.js rename to .config/ags/modules/.commonwidgets/notification.js index f19e9cd28..319495b8b 100644 --- a/.config/ags/lib/notification.js +++ b/.config/ags/modules/.commonwidgets/notification.js @@ -4,9 +4,9 @@ const { GLib, Gdk, Gtk } = imports.gi; import Widget from 'resource:///com/github/Aylur/ags/widget.js' import * as Utils from 'resource:///com/github/Aylur/ags/utils.js' const { Box, EventBox, Icon, Overlay, Label, Button, Revealer } = Widget; -import { MaterialIcon } from "./materialicon.js"; -import { setupCursorHover } from "./cursorhover.js"; -import { AnimatedCircProg } from "./animatedcircularprogress.js"; +import { MaterialIcon } from './materialicon.js'; +import { setupCursorHover } from "../.widgetutils/cursorhover.js"; +import { AnimatedCircProg } from "./cairo_circularprogress.js"; function guessMessageType(summary) { if (summary.includes('recording')) return 'screen_record'; diff --git a/.config/ags/lib/statusicons.js b/.config/ags/modules/.commonwidgets/statusicons.js similarity index 99% rename from .config/ags/lib/statusicons.js rename to .config/ags/modules/.commonwidgets/statusicons.js index 1e9425787..dc3ba3e85 100644 --- a/.config/ags/lib/statusicons.js +++ b/.config/ags/modules/.commonwidgets/statusicons.js @@ -6,7 +6,7 @@ import { MaterialIcon } from './materialicon.js'; import Bluetooth from 'resource:///com/github/Aylur/ags/service/bluetooth.js'; import Network from 'resource:///com/github/Aylur/ags/service/network.js'; import Notifications from 'resource:///com/github/Aylur/ags/service/notifications.js'; -import { languages } from '../data/languages.js'; +import { languages } from './statusicons_languages.js'; // A guessing func to try to support langs not listed in data/languages.js function isLanguageMatch(abbreviation, word) { diff --git a/.config/ags/data/languages.js b/.config/ags/modules/.commonwidgets/statusicons_languages.js similarity index 96% rename from .config/ags/data/languages.js rename to .config/ags/modules/.commonwidgets/statusicons_languages.js index c61eedd6b..560d9424e 100644 --- a/.config/ags/data/languages.js +++ b/.config/ags/modules/.commonwidgets/statusicons_languages.js @@ -1,4 +1,4 @@ -// For keyboard layout in lib/statusicons.js +// For keyboard layout in statusicons.js // This list is not exhaustive. It just includes known/possible languages of users of my dotfiles // Add your language here if you use multi-lang xkb input. Else, ignore // Note that something like "French (Canada)" should go before "French" diff --git a/.config/ags/lib/md2pango.js b/.config/ags/modules/.miscutils/md2pango.js similarity index 100% rename from .config/ags/lib/md2pango.js rename to .config/ags/modules/.miscutils/md2pango.js diff --git a/.config/ags/lib/advancedwidgets.js b/.config/ags/modules/.widgethacks/advancedrevealers.js similarity index 100% rename from .config/ags/lib/advancedwidgets.js rename to .config/ags/modules/.widgethacks/advancedrevealers.js diff --git a/.config/ags/lib/popupwindow.js b/.config/ags/modules/.widgethacks/popupwindow.js similarity index 100% rename from .config/ags/lib/popupwindow.js rename to .config/ags/modules/.widgethacks/popupwindow.js diff --git a/.config/ags/modules/.widgetutils/clickthrough.js b/.config/ags/modules/.widgetutils/clickthrough.js new file mode 100644 index 000000000..505f1412d --- /dev/null +++ b/.config/ags/modules/.widgetutils/clickthrough.js @@ -0,0 +1,4 @@ +import Cairo from 'gi://cairo?version=1.0'; + +export const dummyRegion = new Cairo.Region(); +export const enableClickthrough = (self) => self.input_shape_combine_region(dummyRegion); \ No newline at end of file diff --git a/.config/ags/lib/cursorhover.js b/.config/ags/modules/.widgetutils/cursorhover.js similarity index 100% rename from .config/ags/lib/cursorhover.js rename to .config/ags/modules/.widgetutils/cursorhover.js diff --git a/.config/ags/widgets/bar/main.js b/.config/ags/modules/bar/main.js similarity index 94% rename from .config/ags/widgets/bar/main.js rename to .config/ags/modules/bar/main.js index 0ee948ef3..d3d51ff1a 100644 --- a/.config/ags/widgets/bar/main.js +++ b/.config/ags/modules/bar/main.js @@ -5,7 +5,8 @@ import WindowTitle from "./spaceleft.js"; import Indicators from "./spaceright.js"; import Music from "./music.js"; import System from "./system.js"; -import { RoundedCorner, enableClickthrough } from "../../lib/roundedcorner.js"; +import { enableClickthrough } from "../.widgetutils/clickthrough.js"; +import { RoundedCorner } from "../.commonwidgets/cairo_roundedcorner.js"; const OptionalWorkspaces = async () => { try { diff --git a/.config/ags/widgets/bar/music.js b/.config/ags/modules/bar/music.js similarity index 97% rename from .config/ags/widgets/bar/music.js rename to .config/ags/modules/bar/music.js index 344dccb1b..f0865b879 100644 --- a/.config/ags/widgets/bar/music.js +++ b/.config/ags/modules/bar/music.js @@ -3,8 +3,8 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; import Mpris from 'resource:///com/github/Aylur/ags/service/mpris.js'; const { Box, Label, Overlay, Revealer } = Widget; const { execAsync, exec } = Utils; -import { AnimatedCircProg } from "../../lib/animatedcircularprogress.js"; -import { MaterialIcon } from '../../lib/materialicon.js'; +import { AnimatedCircProg } from "../.commonwidgets/cairo_circularprogress.js"; +import { MaterialIcon } from '../.commonwidgets/materialicon.js'; import { showMusicControls } from '../../variables.js'; function trimTrackTitle(title) { diff --git a/.config/ags/widgets/bar/spaceleft.js b/.config/ags/modules/bar/spaceleft.js similarity index 100% rename from .config/ags/widgets/bar/spaceleft.js rename to .config/ags/modules/bar/spaceleft.js diff --git a/.config/ags/widgets/bar/spaceright.js b/.config/ags/modules/bar/spaceright.js similarity index 97% rename from .config/ags/widgets/bar/spaceright.js rename to .config/ags/modules/bar/spaceright.js index 2c5c9bdee..ca0d6d4a3 100644 --- a/.config/ags/widgets/bar/spaceright.js +++ b/.config/ags/modules/bar/spaceright.js @@ -6,7 +6,7 @@ import Audio from 'resource:///com/github/Aylur/ags/service/audio.js'; import SystemTray from 'resource:///com/github/Aylur/ags/service/systemtray.js'; const { execAsync } = Utils; import Indicator from '../../services/indicator.js'; -import { StatusIcons } from "../../lib/statusicons.js"; +import { StatusIcons } from '../.commonwidgets/statusicons.js'; import { Tray } from "./tray.js"; export default () => { diff --git a/.config/ags/widgets/bar/system.js b/.config/ags/modules/bar/system.js similarity index 98% rename from .config/ags/widgets/bar/system.js rename to .config/ags/modules/bar/system.js index 079fccc0f..9a8fc86a8 100644 --- a/.config/ags/widgets/bar/system.js +++ b/.config/ags/modules/bar/system.js @@ -5,9 +5,9 @@ const { Box, Label, Button, Overlay, Revealer, Scrollable, Stack, EventBox } = W const { exec, execAsync } = Utils; const { GLib } = imports.gi; import Battery from 'resource:///com/github/Aylur/ags/service/battery.js'; -import { MaterialIcon } from '../../lib/materialicon.js'; -import { AnimatedCircProg } from "../../lib/animatedcircularprogress.js"; -import { WWO_CODE, WEATHER_SYMBOL, NIGHT_WEATHER_SYMBOL } from '../../data/weather.js'; +import { MaterialIcon } from '../.commonwidgets/materialicon.js'; +import { AnimatedCircProg } from "../.commonwidgets/cairo_circularprogress.js"; +import { WWO_CODE, WEATHER_SYMBOL, NIGHT_WEATHER_SYMBOL } from '../.commondata/weather.js'; const BATTERY_LOW = 20; const WEATHER_CACHE_FOLDER = `${GLib.get_user_cache_dir()}/ags/weather`; diff --git a/.config/ags/widgets/bar/tray.js b/.config/ags/modules/bar/tray.js similarity index 100% rename from .config/ags/widgets/bar/tray.js rename to .config/ags/modules/bar/tray.js diff --git a/.config/ags/widgets/bar/workspaces_hyprland.js b/.config/ags/modules/bar/workspaces_hyprland.js similarity index 100% rename from .config/ags/widgets/bar/workspaces_hyprland.js rename to .config/ags/modules/bar/workspaces_hyprland.js diff --git a/.config/ags/widgets/bar/workspaces_sway.js b/.config/ags/modules/bar/workspaces_sway.js similarity index 100% rename from .config/ags/widgets/bar/workspaces_sway.js rename to .config/ags/modules/bar/workspaces_sway.js diff --git a/.config/ags/data/keybinds.js b/.config/ags/modules/cheatsheet/data_keybinds.js similarity index 100% rename from .config/ags/data/keybinds.js rename to .config/ags/modules/cheatsheet/data_keybinds.js diff --git a/.config/ags/widgets/cheatsheet/keybinds.js b/.config/ags/modules/cheatsheet/keybinds.js similarity index 97% rename from .config/ags/widgets/cheatsheet/keybinds.js rename to .config/ags/modules/cheatsheet/keybinds.js index 765c511b7..3aea58f28 100644 --- a/.config/ags/widgets/cheatsheet/keybinds.js +++ b/.config/ags/modules/cheatsheet/keybinds.js @@ -1,5 +1,5 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; -import { keybindList } from "../../data/keybinds.js"; +import { keybindList } from "./data_keybinds.js"; export const Keybinds = () => Widget.Box({ vertical: false, diff --git a/.config/ags/widgets/cheatsheet/main.js b/.config/ags/modules/cheatsheet/main.js similarity index 97% rename from .config/ags/widgets/cheatsheet/main.js rename to .config/ags/modules/cheatsheet/main.js index d2e41f5c0..e798453dd 100644 --- a/.config/ags/widgets/cheatsheet/main.js +++ b/.config/ags/modules/cheatsheet/main.js @@ -2,7 +2,7 @@ const { Gdk, Gtk } = imports.gi; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import Service from 'resource:///com/github/Aylur/ags/service.js'; import { Keybinds } from "./keybinds.js"; -import { setupCursorHover } from "../../lib/cursorhover.js"; +import { setupCursorHover } from "../.widgetutils/cursorhover.js"; const cheatsheetHeader = () => Widget.CenterBox({ vertical: false, diff --git a/.config/ags/data/quicklaunches.js b/.config/ags/modules/desktopbackground/data_quicklaunches.js similarity index 100% rename from .config/ags/data/quicklaunches.js rename to .config/ags/modules/desktopbackground/data_quicklaunches.js diff --git a/.config/ags/widgets/desktopbackground/main.js b/.config/ags/modules/desktopbackground/main.js similarity index 100% rename from .config/ags/widgets/desktopbackground/main.js rename to .config/ags/modules/desktopbackground/main.js diff --git a/.config/ags/widgets/desktopbackground/system.js b/.config/ags/modules/desktopbackground/system.js similarity index 97% rename from .config/ags/widgets/desktopbackground/system.js rename to .config/ags/modules/desktopbackground/system.js index a22888fab..6bc915df4 100644 --- a/.config/ags/widgets/desktopbackground/system.js +++ b/.config/ags/modules/desktopbackground/system.js @@ -2,8 +2,8 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { execAsync, exec } = Utils; const { Box, EventBox, Label, Revealer, Overlay } = Widget; -import { AnimatedCircProg } from '../../lib/animatedcircularprogress.js' -import { MaterialIcon } from '../../lib/materialicon.js'; +import { AnimatedCircProg } from "../.commonwidgets/cairo_circularprogress.js"; +import { MaterialIcon } from '../.commonwidgets/materialicon.js'; const ResourceValue = (name, icon, interval, valueUpdateCmd, displayFunc, props = {}) => Box({ ...props, diff --git a/.config/ags/widgets/desktopbackground/timeandlaunches.js b/.config/ags/modules/desktopbackground/timeandlaunches.js similarity index 94% rename from .config/ags/widgets/desktopbackground/timeandlaunches.js rename to .config/ags/modules/desktopbackground/timeandlaunches.js index 8897992d8..05ca1ab13 100644 --- a/.config/ags/widgets/desktopbackground/timeandlaunches.js +++ b/.config/ags/modules/desktopbackground/timeandlaunches.js @@ -7,9 +7,8 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; import Variable from 'resource:///com/github/Aylur/ags/variable.js'; const { execAsync, exec } = Utils; const { Box, Label, Button, Revealer, EventBox } = Widget; -import { setupCursorHover } from '../../lib/cursorhover.js'; - -import { quickLaunchItems } from '../../data/quicklaunches.js' +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; +import { quickLaunchItems } from './data_quicklaunches.js' const TimeAndDate = () => Box({ vertical: true, diff --git a/.config/ags/widgets/desktopbackground/wallpaper.js b/.config/ags/modules/desktopbackground/wallpaper.js similarity index 97% rename from .config/ags/widgets/desktopbackground/wallpaper.js rename to .config/ags/modules/desktopbackground/wallpaper.js index c68261296..5ab0e6c8a 100644 --- a/.config/ags/widgets/desktopbackground/wallpaper.js +++ b/.config/ags/modules/desktopbackground/wallpaper.js @@ -1,13 +1,13 @@ const { Gdk, GdkPixbuf, Gio, GLib, Gtk } = imports.gi; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; -import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../imports.js'; +import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../variables.js'; const { exec, execAsync } = Utils; const { Box, Button, Label, Stack } = Widget; import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; import Wallpaper from '../../services/wallpaper.js'; -import { setupCursorHover } from '../../lib/cursorhover.js'; +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; const DISABLE_AGS_WALLPAPER = true; diff --git a/.config/ags/widgets/dock/dock.js b/.config/ags/modules/dock/dock.js similarity index 98% rename from .config/ags/widgets/dock/dock.js rename to .config/ags/modules/dock/dock.js index 296dc32cf..11d3fe9dc 100644 --- a/.config/ags/widgets/dock/dock.js +++ b/.config/ags/modules/dock/dock.js @@ -1,5 +1,5 @@ const { Gtk } = imports.gi; -import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../imports.js'; +import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../variables.js'; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { EventBox } = Widget; @@ -8,7 +8,7 @@ import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; import Applications from 'resource:///com/github/Aylur/ags/service/applications.js'; const { execAsync, exec } = Utils; const { Box, Revealer } = Widget; -import { setupCursorHover } from "../../lib/cursorhover.js"; +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; const ANIMATION_TIME = 150; const pinnedApps = [ diff --git a/.config/ags/widgets/dock/main.js b/.config/ags/modules/dock/main.js similarity index 100% rename from .config/ags/widgets/dock/main.js rename to .config/ags/modules/dock/main.js diff --git a/.config/ags/widgets/indicators/colorscheme.js b/.config/ags/modules/indicators/colorscheme.js similarity index 100% rename from .config/ags/widgets/indicators/colorscheme.js rename to .config/ags/modules/indicators/colorscheme.js diff --git a/.config/ags/widgets/indicators/indicatorvalues.js b/.config/ags/modules/indicators/indicatorvalues.js similarity index 97% rename from .config/ags/widgets/indicators/indicatorvalues.js rename to .config/ags/modules/indicators/indicatorvalues.js index 2b2980f63..9ea2deafa 100644 --- a/.config/ags/widgets/indicators/indicatorvalues.js +++ b/.config/ags/modules/indicators/indicatorvalues.js @@ -2,7 +2,7 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import Audio from 'resource:///com/github/Aylur/ags/service/audio.js'; const { Box, Label, ProgressBar } = Widget; -import { MarginRevealer } from '../../lib/advancedwidgets.js'; +import { MarginRevealer } from '../.widgethacks/advancedrevealers.js'; import Brightness from '../../services/brightness.js'; import Indicator from '../../services/indicator.js'; diff --git a/.config/ags/widgets/indicators/main.js b/.config/ags/modules/indicators/main.js similarity index 100% rename from .config/ags/widgets/indicators/main.js rename to .config/ags/modules/indicators/main.js diff --git a/.config/ags/widgets/indicators/musiccontrols.js b/.config/ags/modules/indicators/musiccontrols.js similarity index 98% rename from .config/ags/widgets/indicators/musiccontrols.js rename to .config/ags/modules/indicators/musiccontrols.js index e637d7fac..4cf052135 100644 --- a/.config/ags/widgets/indicators/musiccontrols.js +++ b/.config/ags/modules/indicators/musiccontrols.js @@ -6,9 +6,7 @@ const { exec, execAsync } = Utils; import Mpris from 'resource:///com/github/Aylur/ags/service/mpris.js'; const { Box, EventBox, Icon, Scrollable, Label, Button, Revealer } = Widget; -import { MarginRevealer } from '../../lib/advancedwidgets.js'; -import { AnimatedCircProg } from "../../lib/animatedcircularprogress.js"; -import { MaterialIcon } from '../../lib/materialicon.js'; +import { AnimatedCircProg } from "../.commonwidgets/cairo_circularprogress.js"; import { showMusicControls } from '../../variables.js'; function expandTilde(path) { diff --git a/.config/ags/widgets/indicators/notificationpopups.js b/.config/ags/modules/indicators/notificationpopups.js similarity index 96% rename from .config/ags/widgets/indicators/notificationpopups.js rename to .config/ags/modules/indicators/notificationpopups.js index f3cd59e8d..0c38a670e 100644 --- a/.config/ags/widgets/indicators/notificationpopups.js +++ b/.config/ags/modules/indicators/notificationpopups.js @@ -2,7 +2,7 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import Notifications from 'resource:///com/github/Aylur/ags/service/notifications.js'; const { Box } = Widget; -import Notification from '../../lib/notification.js'; +import Notification from '../.commonwidgets/notification.js'; export default () => Box({ vertical: true, diff --git a/.config/ags/data/keyboardlayouts.js b/.config/ags/modules/onscreenkeyboard/data_keyboardlayouts.js similarity index 100% rename from .config/ags/data/keyboardlayouts.js rename to .config/ags/modules/onscreenkeyboard/data_keyboardlayouts.js diff --git a/.config/ags/widgets/onscreenkeyboard/main.js b/.config/ags/modules/onscreenkeyboard/main.js similarity index 79% rename from .config/ags/widgets/onscreenkeyboard/main.js rename to .config/ags/modules/onscreenkeyboard/main.js index 18554c43c..33b19de5e 100644 --- a/.config/ags/widgets/onscreenkeyboard/main.js +++ b/.config/ags/modules/onscreenkeyboard/main.js @@ -1,4 +1,4 @@ -import PopupWindow from '../../lib/popupwindow.js'; +import PopupWindow from '../.widgethacks/popupwindow.js'; import OnScreenKeyboard from "./onscreenkeyboard.js"; export default () => PopupWindow({ diff --git a/.config/ags/widgets/onscreenkeyboard/onscreenkeyboard.js b/.config/ags/modules/onscreenkeyboard/onscreenkeyboard.js similarity index 97% rename from .config/ags/widgets/onscreenkeyboard/onscreenkeyboard.js rename to .config/ags/modules/onscreenkeyboard/onscreenkeyboard.js index 6e9c644a1..2bb9c7bcc 100644 --- a/.config/ags/widgets/onscreenkeyboard/onscreenkeyboard.js +++ b/.config/ags/modules/onscreenkeyboard/onscreenkeyboard.js @@ -5,10 +5,9 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { Box, EventBox, Button, Revealer } = Widget; const { execAsync } = Utils; -import { MaterialIcon } from '../../lib/materialicon.js'; -import { separatorLine } from '../../lib/separator.js'; -import { defaultOskLayout, oskLayouts } from '../../data/keyboardlayouts.js'; -import { setupCursorHoverGrab } from '../../lib/cursorhover.js'; +import { MaterialIcon } from '../.commonwidgets/materialicon.js'; +import { defaultOskLayout, oskLayouts } from './data_keyboardlayouts.js'; +import { setupCursorHoverGrab } from '../.widgetutils/cursorhover.js'; const keyboardLayout = defaultOskLayout; const keyboardJson = oskLayouts[keyboardLayout]; @@ -204,7 +203,7 @@ const keyboardWindow = Box({ className: 'osk-body spacing-h-10', children: [ keyboardControls, - separatorLine, + Widget.Box({ className: 'separator-line' }), keyboardItself(keyboardJson), ], }) diff --git a/.config/ags/widgets/overview/actions.js b/.config/ags/modules/overview/actions.js similarity index 100% rename from .config/ags/widgets/overview/actions.js rename to .config/ags/modules/overview/actions.js diff --git a/.config/ags/widgets/overview/main.js b/.config/ags/modules/overview/main.js similarity index 100% rename from .config/ags/widgets/overview/main.js rename to .config/ags/modules/overview/main.js diff --git a/.config/ags/widgets/overview/miscfunctions.js b/.config/ags/modules/overview/miscfunctions.js similarity index 100% rename from .config/ags/widgets/overview/miscfunctions.js rename to .config/ags/modules/overview/miscfunctions.js diff --git a/.config/ags/widgets/overview/overview_hyprland.js b/.config/ags/modules/overview/overview_hyprland.js similarity index 99% rename from .config/ags/widgets/overview/overview_hyprland.js rename to .config/ags/modules/overview/overview_hyprland.js index bcaafbd9c..26b82f061 100644 --- a/.config/ags/widgets/overview/overview_hyprland.js +++ b/.config/ags/modules/overview/overview_hyprland.js @@ -4,7 +4,7 @@ // const { Gdk, Gtk } = imports.gi; const { Gravity } = imports.gi.Gdk; -import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../imports.js'; +import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../variables.js'; import App from 'resource:///com/github/Aylur/ags/app.js'; import Variable from 'resource:///com/github/Aylur/ags/variable.js'; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; @@ -12,7 +12,7 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; const { execAsync, exec } = Utils; -import { setupCursorHoverGrab } from "../../lib/cursorhover.js"; +import { setupCursorHoverGrab } from '../.widgetutils/cursorhover.js'; import { dumpToWorkspace, swapWorkspace } from "./actions.js"; const OVERVIEW_SCALE = 0.18; diff --git a/.config/ags/widgets/overview/searchbuttons.js b/.config/ags/modules/overview/searchbuttons.js similarity index 100% rename from .config/ags/widgets/overview/searchbuttons.js rename to .config/ags/modules/overview/searchbuttons.js diff --git a/.config/ags/widgets/overview/searchitem.js b/.config/ags/modules/overview/searchitem.js similarity index 100% rename from .config/ags/widgets/overview/searchitem.js rename to .config/ags/modules/overview/searchitem.js diff --git a/.config/ags/widgets/overview/windowcontent.js b/.config/ags/modules/overview/windowcontent.js similarity index 99% rename from .config/ags/widgets/overview/windowcontent.js rename to .config/ags/modules/overview/windowcontent.js index 5a9dd8882..4aeced3c8 100644 --- a/.config/ags/widgets/overview/windowcontent.js +++ b/.config/ags/modules/overview/windowcontent.js @@ -219,7 +219,6 @@ export const SearchAndWindows = () => { className: 'overview-search-icon-box', setup: (box) => { box.pack_start(entryPromptRevealer, true, true, 0) - // enableClickthrough(box); }, }), entryIcon, diff --git a/.config/ags/widgets/screencorners/main.js b/.config/ags/modules/screencorners/main.js similarity index 78% rename from .config/ags/widgets/screencorners/main.js rename to .config/ags/modules/screencorners/main.js index 42a8a5283..46464c491 100644 --- a/.config/ags/widgets/screencorners/main.js +++ b/.config/ags/modules/screencorners/main.js @@ -1,5 +1,6 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; -import { RoundedCorner, dummyRegion, enableClickthrough } from "../../lib/roundedcorner.js"; +import { enableClickthrough } from "../.widgetutils/clickthrough.js"; +import { RoundedCorner } from "../.commonwidgets/cairo_roundedcorner.js"; export default (monitor = 0, where = 'bottom left') => { const positionString = where.replace(/\s/, ""); // remove space diff --git a/.config/ags/widgets/session/main.js b/.config/ags/modules/session/main.js similarity index 100% rename from .config/ags/widgets/session/main.js rename to .config/ags/modules/session/main.js diff --git a/.config/ags/widgets/session/sessionscreen.js b/.config/ags/modules/session/sessionscreen.js similarity index 98% rename from .config/ags/widgets/session/sessionscreen.js rename to .config/ags/modules/session/sessionscreen.js index 8ecb14452..30e27c45f 100644 --- a/.config/ags/widgets/session/sessionscreen.js +++ b/.config/ags/modules/session/sessionscreen.js @@ -1,7 +1,7 @@ // This is for the cool memory indicator on the sidebar // For the right pill of the bar, see system.js const { Gdk, Gtk } = imports.gi; -import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../imports.js'; +import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../variables.js'; import App from 'resource:///com/github/Aylur/ags/app.js'; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; diff --git a/.config/ags/widgets/sideleft/apis/ai_chatmessage.js b/.config/ags/modules/sideleft/apis/ai_chatmessage.js similarity index 98% rename from .config/ags/widgets/sideleft/apis/ai_chatmessage.js rename to .config/ags/modules/sideleft/apis/ai_chatmessage.js index d2cf8d20a..5bc44f847 100644 --- a/.config/ags/widgets/sideleft/apis/ai_chatmessage.js +++ b/.config/ags/modules/sideleft/apis/ai_chatmessage.js @@ -5,11 +5,11 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { Box, Button, Label, Scrollable } = Widget; const { execAsync, exec } = Utils; -import { MaterialIcon } from "../../../lib/materialicon.js"; -import md2pango from "../../../lib/md2pango.js"; +import { MaterialIcon } from '../../.commonwidgets/materialicon.js'; +import md2pango from '../../.miscutils/md2pango.js'; -const CUSTOM_SOURCEVIEW_SCHEME_PATH = `${App.configDir}/data/sourceviewtheme.xml`; +const CUSTOM_SOURCEVIEW_SCHEME_PATH = `${App.configDir}/assets/themes/sourceviewtheme.xml`; const CUSTOM_SCHEME_ID = 'custom'; const USERNAME = GLib.get_user_name(); const CHATGPT_CURSOR = ' ...'; diff --git a/.config/ags/widgets/sideleft/apis/chatgpt.js b/.config/ags/modules/sideleft/apis/chatgpt.js similarity index 95% rename from .config/ags/widgets/sideleft/apis/chatgpt.js rename to .config/ags/modules/sideleft/apis/chatgpt.js index 16e54b161..b4ffaf869 100644 --- a/.config/ags/widgets/sideleft/apis/chatgpt.js +++ b/.config/ags/modules/sideleft/apis/chatgpt.js @@ -3,17 +3,15 @@ import App from 'resource:///com/github/Aylur/ags/app.js'; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; -const { Box, Button, Entry, EventBox, Icon, Label, Revealer, Scrollable, Stack } = Widget; -const { execAsync, exec } = Utils; +const { Box, Button, Icon, Label, Revealer, Scrollable } = Widget; import ChatGPT from '../../../services/chatgpt.js'; -import { MaterialIcon } from "../../../lib/materialicon.js"; -import { setupCursorHover, setupCursorHoverInfo } from "../../../lib/cursorhover.js"; +import { setupCursorHover, setupCursorHoverInfo } from '../../.widgetutils/cursorhover.js'; import { SystemMessage, ChatMessage } from "./ai_chatmessage.js"; -import { ConfigToggle, ConfigSegmentedSelection, ConfigGap } from '../../../lib/configwidgets.js'; -import { markdownTest } from '../../../lib/md2pango.js'; -import { MarginRevealer } from '../../../lib/advancedwidgets.js'; +import { ConfigToggle, ConfigSegmentedSelection, ConfigGap } from '../../.commonwidgets/configwidgets.js'; +import { markdownTest } from '../../.miscutils/md2pango.js'; +import { MarginRevealer } from '../../.widgethacks/advancedrevealers.js'; -Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets`); +Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets/icons`); export const chatGPTTabIcon = Icon({ hpack: 'center', diff --git a/.config/ags/widgets/sideleft/apis/gemini.js b/.config/ags/modules/sideleft/apis/gemini.js similarity index 95% rename from .config/ags/widgets/sideleft/apis/gemini.js rename to .config/ags/modules/sideleft/apis/gemini.js index 6d9da681d..7f2e4e107 100644 --- a/.config/ags/widgets/sideleft/apis/gemini.js +++ b/.config/ags/modules/sideleft/apis/gemini.js @@ -3,17 +3,15 @@ import App from 'resource:///com/github/Aylur/ags/app.js'; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; -const { Box, Button, Entry, EventBox, Icon, Label, Revealer, Scrollable, Stack } = Widget; -const { execAsync, exec } = Utils; +const { Box, Button, Icon, Label, Revealer, Scrollable } = Widget; import Gemini from '../../../services/gemini.js'; -import { MaterialIcon } from "../../../lib/materialicon.js"; -import { setupCursorHover, setupCursorHoverInfo } from "../../../lib/cursorhover.js"; +import { setupCursorHover, setupCursorHoverInfo } from '../../.widgetutils/cursorhover.js'; import { SystemMessage, ChatMessage } from "./ai_chatmessage.js"; -import { ConfigToggle, ConfigSegmentedSelection, ConfigGap } from '../../../lib/configwidgets.js'; -import { markdownTest } from '../../../lib/md2pango.js'; -import { MarginRevealer } from '../../../lib/advancedwidgets.js'; +import { ConfigToggle, ConfigSegmentedSelection, ConfigGap } from '../../.commonwidgets/configwidgets.js'; +import { markdownTest } from '../../.miscutils/md2pango.js'; +import { MarginRevealer } from '../../.widgethacks/advancedrevealers.js'; -Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets`); +Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets/icons`); const MODEL_NAME = `Gemini`; export const geminiTabIcon = Icon({ diff --git a/.config/ags/widgets/sideleft/apis/waifu.js b/.config/ags/modules/sideleft/apis/waifu.js similarity index 98% rename from .config/ags/widgets/sideleft/apis/waifu.js rename to .config/ags/modules/sideleft/apis/waifu.js index 8f871b77f..e2efe341c 100644 --- a/.config/ags/widgets/sideleft/apis/waifu.js +++ b/.config/ags/modules/sideleft/apis/waifu.js @@ -6,9 +6,9 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { Box, Button, Label, Overlay, Revealer, Scrollable, Stack } = Widget; const { execAsync, exec } = Utils; -import { MaterialIcon } from "../../../lib/materialicon.js"; -import { MarginRevealer } from '../../../lib/advancedwidgets.js'; -import { setupCursorHover, setupCursorHoverInfo } from "../../../lib/cursorhover.js"; +import { MaterialIcon } from '../../.commonwidgets/materialicon.js'; +import { MarginRevealer } from '../../.widgethacks/advancedrevealers.js'; +import { setupCursorHover, setupCursorHoverInfo } from '../../.widgetutils/cursorhover.js'; import WaifuService from '../../../services/waifus.js'; async function getImageViewerApp(preferredApp) { diff --git a/.config/ags/widgets/sideleft/apiwidgets.js b/.config/ags/modules/sideleft/apiwidgets.js similarity index 96% rename from .config/ags/widgets/sideleft/apiwidgets.js rename to .config/ags/modules/sideleft/apiwidgets.js index f754fae37..c141e32ca 100644 --- a/.config/ags/widgets/sideleft/apiwidgets.js +++ b/.config/ags/modules/sideleft/apiwidgets.js @@ -1,11 +1,9 @@ const { Gtk, Gdk } = imports.gi; -import App from 'resource:///com/github/Aylur/ags/app.js'; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; -import AgsWidget from "resource:///com/github/Aylur/ags/widgets/widget.js"; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { Box, Button, CenterBox, Entry, EventBox, Icon, Label, Overlay, Revealer, Scrollable, Stack } = Widget; const { execAsync, exec } = Utils; -import { setupCursorHover, setupCursorHoverInfo } from "../../lib/cursorhover.js"; +import { setupCursorHover, setupCursorHoverInfo } from '../.widgetutils/cursorhover.js'; import { contentStack } from './sideleft.js'; // APIs import ChatGPT from '../../services/chatgpt.js'; @@ -13,7 +11,7 @@ import Gemini from '../../services/gemini.js'; import { geminiView, geminiCommands, sendMessage as geminiSendMessage, geminiTabIcon } from './apis/gemini.js'; import { chatGPTView, chatGPTCommands, sendMessage as chatGPTSendMessage, chatGPTTabIcon } from './apis/chatgpt.js'; import { waifuView, waifuCommands, sendMessage as waifuSendMessage, waifuTabIcon } from './apis/waifu.js'; -import { enableClickthrough } from '../../lib/roundedcorner.js'; +import { enableClickthrough } from "../.widgetutils/clickthrough.js"; const TextView = Widget.subclass(Gtk.TextView, "AgsTextView"); diff --git a/.config/ags/widgets/sideleft/main.js b/.config/ags/modules/sideleft/main.js similarity index 83% rename from .config/ags/widgets/sideleft/main.js rename to .config/ags/modules/sideleft/main.js index 8a76a96ac..4aa74dfde 100644 --- a/.config/ags/widgets/sideleft/main.js +++ b/.config/ags/modules/sideleft/main.js @@ -1,4 +1,4 @@ -import PopupWindow from '../../lib/popupwindow.js'; +import PopupWindow from '../.widgethacks/popupwindow.js'; import SidebarLeft from "./sideleft.js"; export default () => PopupWindow({ diff --git a/.config/ags/widgets/sideleft/sideleft.js b/.config/ags/modules/sideleft/sideleft.js similarity index 97% rename from .config/ags/widgets/sideleft/sideleft.js rename to .config/ags/modules/sideleft/sideleft.js index d67d87ade..82dbe204b 100644 --- a/.config/ags/widgets/sideleft/sideleft.js +++ b/.config/ags/modules/sideleft/sideleft.js @@ -4,9 +4,9 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { Box, Button, EventBox, Label, Revealer, Scrollable, Stack } = Widget; const { execAsync, exec } = Utils; -import { MaterialIcon } from "../../lib/materialicon.js"; -import { setupCursorHover } from "../../lib/cursorhover.js"; -import { NavigationIndicator } from "../../lib/navigationindicator.js"; +import { MaterialIcon } from '../.commonwidgets/materialicon.js'; +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; +import { NavigationIndicator } from '../.commonwidgets/cairo_navigationindicator.js'; import toolBox from './toolbox.js'; import apiWidgets from './apiwidgets.js'; import apiwidgets, { chatEntry } from './apiwidgets.js'; diff --git a/.config/ags/widgets/sideleft/toolbox.js b/.config/ags/modules/sideleft/toolbox.js similarity index 100% rename from .config/ags/widgets/sideleft/toolbox.js rename to .config/ags/modules/sideleft/toolbox.js diff --git a/.config/ags/widgets/sideleft/tools/color.js b/.config/ags/modules/sideleft/tools/color.js similarity index 100% rename from .config/ags/widgets/sideleft/tools/color.js rename to .config/ags/modules/sideleft/tools/color.js diff --git a/.config/ags/widgets/sideleft/tools/colorpicker.js b/.config/ags/modules/sideleft/tools/colorpicker.js similarity index 98% rename from .config/ags/widgets/sideleft/tools/colorpicker.js rename to .config/ags/modules/sideleft/tools/colorpicker.js index 016eeba6d..9c490545c 100644 --- a/.config/ags/widgets/sideleft/tools/colorpicker.js +++ b/.config/ags/modules/sideleft/tools/colorpicker.js @@ -7,8 +7,8 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { execAsync, exec } = Utils; const { Box, Button, Entry, EventBox, Icon, Label, Overlay, Scrollable } = Widget; import SidebarModule from './module.js'; -import { MaterialIcon } from '../../../lib/materialicon.js'; -import { setupCursorHover } from '../../../lib/cursorhover.js'; +import { MaterialIcon } from '../../.commonwidgets/materialicon.js'; +import { setupCursorHover } from '../../.widgetutils/cursorhover.js'; import { ColorPickerSelection, hslToHex, hslToRgbValues, hexToHSL } from './color.js'; diff --git a/.config/ags/widgets/sideleft/tools/module.js b/.config/ags/modules/sideleft/tools/module.js similarity index 91% rename from .config/ags/widgets/sideleft/tools/module.js rename to .config/ags/modules/sideleft/tools/module.js index eae27147e..cf6037e42 100644 --- a/.config/ags/widgets/sideleft/tools/module.js +++ b/.config/ags/modules/sideleft/tools/module.js @@ -1,6 +1,6 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; -import { setupCursorHover } from '../../../lib/cursorhover.js'; -import { MaterialIcon } from '../../../lib/materialicon.js'; +import { setupCursorHover } from '../../.widgetutils/cursorhover.js'; +import { MaterialIcon } from '../../.commonwidgets/materialicon.js'; const { Box, Button, Icon, Label, Revealer } = Widget; export default ({ diff --git a/.config/ags/widgets/sideleft/tools/quickscripts.js b/.config/ags/modules/sideleft/tools/quickscripts.js similarity index 95% rename from .config/ags/widgets/sideleft/tools/quickscripts.js rename to .config/ags/modules/sideleft/tools/quickscripts.js index af58262fa..a0bb205d1 100644 --- a/.config/ags/widgets/sideleft/tools/quickscripts.js +++ b/.config/ags/modules/sideleft/tools/quickscripts.js @@ -5,10 +5,10 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { execAsync, exec } = Utils; const { Box, Button, EventBox, Icon, Label, Scrollable } = Widget; import SidebarModule from './module.js'; -import { MaterialIcon } from '../../../lib/materialicon.js'; -import { setupCursorHover } from '../../../lib/cursorhover.js'; +import { MaterialIcon } from '../../.commonwidgets/materialicon.js'; +import { setupCursorHover } from '../../.widgetutils/cursorhover.js'; -Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets`); +Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets/icons`); const distroID = exec(`bash -c 'cat /etc/os-release | grep "^ID=" | cut -d "=" -f 2'`).trim(); const isDebianDistro = (distroID == 'linuxmint' || distroID == 'ubuntu' || distroID == 'debian' || distroID == 'zorin' || distroID == 'pop' || distroID == 'raspbian' || distroID == 'kali' || distroID == 'elementary'); const isArchDistro = (distroID == 'arch' || distroID == 'endeavouros' || distroID == 'cachyos'); diff --git a/.config/ags/widgets/sideright/calendar.js b/.config/ags/modules/sideright/calendar.js similarity index 97% rename from .config/ags/widgets/sideright/calendar.js rename to .config/ags/modules/sideright/calendar.js index 579a21f50..9d0a843ec 100644 --- a/.config/ags/widgets/sideright/calendar.js +++ b/.config/ags/modules/sideright/calendar.js @@ -2,11 +2,11 @@ const { Gio } = imports.gi; import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { Box, Button, Label } = Widget; -import { MaterialIcon } from "../../lib/materialicon.js"; -import { getCalendarLayout } from "../../lib/calendarlayout.js"; -import { setupCursorHover } from "../../lib/cursorhover.js"; +import { MaterialIcon } from '../.commonwidgets/materialicon.js'; +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; import { TodoWidget } from "./todolist.js"; +import { getCalendarLayout } from "./calendar_layout.js"; let calendarJson = getCalendarLayout(undefined, true); let monthshift = 0; diff --git a/.config/ags/lib/calendarlayout.js b/.config/ags/modules/sideright/calendar_layout.js similarity index 100% rename from .config/ags/lib/calendarlayout.js rename to .config/ags/modules/sideright/calendar_layout.js diff --git a/.config/ags/widgets/sideright/main.js b/.config/ags/modules/sideright/main.js similarity index 82% rename from .config/ags/widgets/sideright/main.js rename to .config/ags/modules/sideright/main.js index 561d771c5..23298db82 100644 --- a/.config/ags/widgets/sideright/main.js +++ b/.config/ags/modules/sideright/main.js @@ -1,4 +1,4 @@ -import PopupWindow from '../../lib/popupwindow.js'; +import PopupWindow from '../.widgethacks/popupwindow.js'; import SidebarRight from "./sideright.js"; export default () => PopupWindow({ diff --git a/.config/ags/widgets/sideright/notificationlist.js b/.config/ags/modules/sideright/notificationlist.js similarity index 94% rename from .config/ags/widgets/sideright/notificationlist.js rename to .config/ags/modules/sideright/notificationlist.js index f30802de4..91a4dc33f 100644 --- a/.config/ags/widgets/sideright/notificationlist.js +++ b/.config/ags/modules/sideright/notificationlist.js @@ -1,12 +1,12 @@ // This file is for the notification list on the sidebar // For the popup notifications, see onscreendisplay.js -// The actual widget for each single notification is in lib/notification.js +// The actual widget for each single notification is in ags/modules/.commonwidgets/notification.js import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import Notifications from 'resource:///com/github/Aylur/ags/service/notifications.js'; const { Box, Button, Label, Scrollable, Stack } = Widget; -import { MaterialIcon } from "../../lib/materialicon.js"; -import { setupCursorHover } from "../../lib/cursorhover.js"; -import Notification from "../../lib/notification.js"; +import { MaterialIcon } from '../.commonwidgets/materialicon.js'; +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; +import Notification from '../.commonwidgets/notification.js'; export default (props) => { const notifEmptyContent = Box({ diff --git a/.config/ags/widgets/sideright/quicktoggles.js b/.config/ags/modules/sideright/quicktoggles.js similarity index 97% rename from .config/ags/widgets/sideright/quicktoggles.js rename to .config/ags/modules/sideright/quicktoggles.js index 6217d3341..ca010122e 100644 --- a/.config/ags/widgets/sideright/quicktoggles.js +++ b/.config/ags/modules/sideright/quicktoggles.js @@ -6,9 +6,9 @@ import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; import Bluetooth from 'resource:///com/github/Aylur/ags/service/bluetooth.js'; import Network from 'resource:///com/github/Aylur/ags/service/network.js'; const { execAsync, exec } = Utils; -import { BluetoothIndicator, NetworkIndicator } from "../../lib/statusicons.js"; -import { setupCursorHover } from "../../lib/cursorhover.js"; -import { MaterialIcon } from '../../lib/materialicon.js'; +import { BluetoothIndicator, NetworkIndicator } from '../.commonwidgets/statusicons.js'; +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; +import { MaterialIcon } from '../.commonwidgets/materialicon.js'; function expandTilde(path) { if (path.startsWith('~')) { diff --git a/.config/ags/widgets/sideright/sideright.js b/.config/ags/modules/sideright/sideright.js similarity index 100% rename from .config/ags/widgets/sideright/sideright.js rename to .config/ags/modules/sideright/sideright.js diff --git a/.config/ags/widgets/sideright/todolist.js b/.config/ags/modules/sideright/todolist.js similarity index 97% rename from .config/ags/widgets/sideright/todolist.js rename to .config/ags/modules/sideright/todolist.js index 30a7941bf..b84bed2a6 100644 --- a/.config/ags/widgets/sideright/todolist.js +++ b/.config/ags/modules/sideright/todolist.js @@ -1,10 +1,10 @@ import Widget from 'resource:///com/github/Aylur/ags/widget.js'; import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'; const { Box, Button, Label, Revealer } = Widget; -import { MaterialIcon } from "../../lib/materialicon.js"; +import { MaterialIcon } from '../.commonwidgets/materialicon.js'; import Todo from "../../services/todo.js"; -import { setupCursorHover } from "../../lib/cursorhover.js"; -import { NavigationIndicator } from "../../lib/navigationindicator.js"; +import { setupCursorHover } from '../.widgetutils/cursorhover.js'; +import { NavigationIndicator } from '../.commonwidgets/cairo_navigationindicator.js'; const defaultTodoSelected = 'undone'; diff --git a/.config/ags/scss/_material.scss b/.config/ags/scss/_material.scss index 2bce3c53d..cfab8e9f3 100644 --- a/.config/ags/scss/_material.scss +++ b/.config/ags/scss/_material.scss @@ -1,29 +1,30 @@ $darkmode: true; -$primary: #ffb1c3; -$onPrimary: #66002a; -$primaryContainer: #861c40; -$onPrimaryContainer: #ffd9e0; -$secondary: #e4bcc3; -$onSecondary: #42292e; -$secondaryContainer: #5c3f45; -$onSecondaryContainer: #ffd9df; -$tertiary: #ecbe91; -$onTertiary: #462a08; -$tertiaryContainer: #60401d; -$onTertiaryContainer: #ffdcb9; -$error: #ffb4a9; -$onError: #680003; -$errorContainer: #930006; -$onErrorContainer: #ffb4a9; -$colorbarbg: #130F10; -$background: #130F10; -$onBackground: #ecdfe0; -$surface: #201a1b; -$onSurface: #ecdfe0; -$surfaceVariant: #514345; -$onSurfaceVariant: #d6c1c4; -$outline: #9f8c8f; +$primary: #e2e2e2; +$onPrimary: #000000; +$primaryContainer: #6b6b6b; +$onPrimaryContainer: #e2e2e2; +$secondary: #e2e2e2; +$onSecondary: #000000; +$secondaryContainer: #313131; +$onSecondaryContainer: #e2e2e2; +$tertiary: #e2e2e2; +$onTertiary: #000000; +$tertiaryContainer: #000000; +$onTertiaryContainer: #e2e2e2; +$error: #e2e2e2; +$onError: #000000; +$errorContainer: #000000; +$onErrorContainer: #e2e2e2; +$colorbarbg: #000000; +$background: #000000; +$onBackground: #e2e2e2; +$surface: #161616; +$onSurface: #e2e2e2; +$surfaceVariant: #242424; +$onSurfaceVariant: #e2e2e2; +$outline: #a1a1a1; $shadow: #000000; -$inverseSurface: #ecdfe0; -$inverseOnSurface: #362f30; -$inversePrimary: #a53557; +$inverseSurface: #e2e2e2; +$inverseOnSurface: #000000; +$inversePrimary: #e2e2e2; + diff --git a/.config/ags/variables.js b/.config/ags/variables.js index 5a07dcbc7..4623c695d 100644 --- a/.config/ags/variables.js +++ b/.config/ags/variables.js @@ -1,7 +1,13 @@ import Variable from 'resource:///com/github/Aylur/ags/variable.js'; +const { exec } = Utils; -// AGS Variables + +// Global vars for external control (through keybinds) export const showMusicControls = Variable(false, {}) export const showColorScheme = Variable(false, {}) globalThis['openMusicControls'] = showMusicControls; globalThis['openColorScheme'] = showColorScheme; + +// Screen size +export const SCREEN_WIDTH = Number(exec(`bash -c "xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1 | head -1" | awk '{print $1}'`)); +export const SCREEN_HEIGHT = Number(exec(`bash -c "xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f2 | head -1" | awk '{print $1}'`));