aboutsummaryrefslogtreecommitdiff
path: root/.config/ags/options.ts
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2024-06-13 13:11:05 +0200
committersrdusr <trevorgray@srdusr.com>2024-06-13 13:11:05 +0200
commitd0fbb19623e4fb6097e1ff3ee49c6a76a0928d0e (patch)
tree937531ddf423d3935c6e20c8a9227e39ce782241 /.config/ags/options.ts
parent4ccbe0270c25ecab492508b5b0209ae53b9c35bd (diff)
downloaddotfiles-d0fbb19623e4fb6097e1ff3ee49c6a76a0928d0e.tar.gz
dotfiles-d0fbb19623e4fb6097e1ff3ee49c6a76a0928d0e.zip
Add ags
Diffstat (limited to '.config/ags/options.ts')
-rw-r--r--.config/ags/options.ts267
1 files changed, 267 insertions, 0 deletions
diff --git a/.config/ags/options.ts b/.config/ags/options.ts
new file mode 100644
index 0000000..64c6580
--- /dev/null
+++ b/.config/ags/options.ts
@@ -0,0 +1,267 @@
+import { opt, mkOptions } from 'lib/option';
+import { distro } from 'lib/variables';
+import { icon } from 'lib/utils';
+import { icons } from "assets"
+import icons from 'lib/icons';
+//import Dock from "./widgets/dock/index.js";
+
+const options = mkOptions(OPTIONS, {
+ autotheme: opt(false),
+
+ wallpaper: {
+ resolution: opt<import('service/wallpaper').Resolution>(1920),
+ market: opt<import('service/wallpaper').Market>('random'),
+ },
+
+ theme: {
+ dark: {
+ primary: {
+ bg: opt('#51a4e7'),
+ fg: opt('#141414'),
+ },
+ error: {
+ bg: opt('#e55f86'),
+ fg: opt('#141414'),
+ },
+ bg: opt('#171717'),
+ fg: opt('#eeeeee'),
+ widget: opt('#eeeeee'),
+ border: opt('#eeeeee'),
+ },
+ light: {
+ primary: {
+ bg: opt('#426ede'),
+ fg: opt('#eeeeee'),
+ },
+ error: {
+ bg: opt('#b13558'),
+ fg: opt('#eeeeee'),
+ },
+ bg: opt('#fffffa'),
+ fg: opt('#080808'),
+ widget: opt('#080808'),
+ border: opt('#080808'),
+ },
+
+ blur: opt(0),
+ scheme: opt<'dark' | 'light'>('dark'),
+ widget: { opacity: opt(94) },
+ border: {
+ width: opt(1),
+ opacity: opt(100),
+ },
+
+ shadows: opt(true),
+ padding: opt(7),
+ spacing: opt(12),
+ radius: opt(11),
+ },
+
+ transition: opt(200),
+
+ font: {
+ size: opt(13),
+ name: opt('Ubuntu Nerd Font'),
+ },
+ bar: {
+ flatButtons: opt(true),
+ position: opt<'top' | 'bottom'>('top'),
+ corners: opt(true),
+ layout: {
+ start: opt<Array<import('widget/bar/Bar').BarWidget>>([
+ 'launcher',
+ 'workspaces',
+ //"taskbar",
+ 'expander',
+ 'messages',
+ ]),
+ center: opt<Array<import('widget/bar/Bar').BarWidget>>(['date']),
+ end: opt<Array<import('widget/bar/Bar').BarWidget>>([
+ "media",
+ 'expander',
+ //"colorpicker",
+ 'screenrecord',
+ 'battery',
+ 'systray',
+ 'system',
+ 'powermenu',
+ ]),
+ },
+ launcher: {
+ icon: {
+ colored: opt(true),
+ icon: opt(icon(distro.logo, icons.ui.search)),
+ },
+ label: {
+ colored: opt(false),
+ label: opt(''),
+ //label: opt(" Applications"),
+ },
+ action: opt(() => App.toggleWindow('launcher')),
+ },
+ date: {
+ format: opt('%a %d %b %Y %H:%M:%S'),
+ action: opt(() => App.toggleWindow('datemenu')),
+ },
+ battery: {
+ bar: opt<'hidden' | 'regular' | 'whole'>('regular'),
+ charging: opt('#00D787'),
+ percentage: opt(true),
+ blocks: opt(7),
+ width: opt(50),
+ low: opt(30),
+ },
+ workspaces: {
+ workspaces: opt(6),
+ },
+ taskbar: {
+ iconSize: opt(0),
+ monochrome: opt(false),
+ exclusive: opt(false),
+ },
+ messages: {
+ action: opt(() => App.toggleWindow('datemenu')),
+ },
+ systray: {
+ ignore: opt([
+ 'KDE Connect Indicator',
+ //"spotify-client",
+ ]),
+ },
+ media: {
+ monochrome: opt(false),
+ preferred: opt('spotify'),
+ direction: opt<'left' | 'right'>('right'),
+ format: opt('{artists} - {title}'),
+ length: opt(40),
+ },
+ powermenu: {
+ monochrome: opt(false),
+ action: opt(() => App.toggleWindow('powermenu')),
+ },
+ },
+
+
+ dock: {
+ iconSize: opt(34),
+ pinnedApps: opt([
+ "nemo",
+ "firefox",
+ "qbittorrent",
+ "vlc",
+ "spotify",
+ "viewnior",
+ "lutris",
+ "steam",
+ "discord",
+ "code-oss",
+ "obsidian",
+ ]),
+ toolbox: {
+ icons: [
+ opt(icon(icons.ui.tbox_close)),
+ opt(icon(icons.ui.tbox_appkill)),
+ opt(icon(icons.ui.tbox_rotate)),
+ opt(icon(icons.ui.tbox_workspaceprev)),
+ opt(icon(icons.ui.tbox_workspacenext)),
+ opt(icon(icons.ui.tbox_moveleft)),
+ opt(icon(icons.ui.tbox_moveright)),
+ opt(icon(icons.ui.tbox_moveup)),
+ opt(icon(icons.ui.tbox_movedown)),
+ opt(icon(icons.ui.tbox_swapnext)),
+ opt(icon(icons.ui.tbox_split)),
+ opt(icon(icons.ui.tbox_float)),
+ opt(icon(icons.ui.tbox_pinned)),
+ opt(icon(icons.ui.tbox_fullscreen)),
+ opt(icon(icons.ui.tbox_osk)),
+ ]
+ },
+ },
+ launcher: {
+ width: opt(0),
+ margin: opt(80),
+ nix: {
+ pkgs: opt('nixpkgs/nixos-unstable'),
+ max: opt(8),
+ },
+ sh: {
+ max: opt(16),
+ },
+ apps: {
+ iconSize: opt(62),
+ max: opt(6),
+ favorites: opt([['firefox', 'nemo', 'org.gnome.Calendar', 'obsidian', 'discord', 'spotify']]),
+ },
+ },
+
+ overview: {
+ scale: opt(9),
+ workspaces: opt(6),
+ monochromeIcon: opt(false),
+ },
+
+ powermenu: {
+ sleep: opt('systemctl suspend'),
+ reboot: opt('systemctl reboot'),
+ logout: opt('pkill Hyprland'),
+ shutdown: opt('shutdown now'),
+ layout: opt<'line' | 'box'>('line'),
+ labels: opt(true),
+ },
+
+ quicksettings: {
+ avatar: {
+ image: opt(`/var/lib/AccountsService/icons/${Utils.USER}`),
+ size: opt(40),
+ },
+ width: opt(380),
+ position: opt<'left' | 'center' | 'right'>('right'),
+ networkSettings: opt('gtk-launch gnome-control-center'),
+ media: {
+ monochromeIcon: opt(true),
+ coverSize: opt(100),
+ },
+ },
+
+ datemenu: {
+ position: opt<'left' | 'center' | 'right'>('center'),
+ weather: {
+ interval: opt(60_000),
+ unit: opt<'metric' | 'imperial' | 'standard'>('metric'),
+ key: opt<string>(JSON.parse(Utils.readFile(`${App.configDir}/.weather`) || '{}')?.key || ''),
+ cities: opt<Array<number>>(JSON.parse(Utils.readFile(`${App.configDir}/.weather`) || '{}')?.cities || []),
+ },
+ },
+
+ osd: {
+ progress: {
+ vertical: opt(true),
+ pack: {
+ h: opt<'start' | 'center' | 'end'>('end'),
+ v: opt<'start' | 'center' | 'end'>('center'),
+ },
+ },
+ microphone: {
+ pack: {
+ h: opt<'start' | 'center' | 'end'>('center'),
+ v: opt<'start' | 'center' | 'end'>('end'),
+ },
+ },
+ },
+
+ notifications: {
+ position: opt<Array<'top' | 'bottom' | 'left' | 'right'>>(['top', 'right']),
+ blacklist: opt([""]),
+ //blacklist: opt(["Spotify"]),
+ width: opt(440),
+ },
+
+ hyprland: {
+ gaps: opt(0.5),
+ inactiveBorder: opt('333333ff'),
+ gapsWhenOnly: opt(false),
+ },
+});
+
+globalThis['options'] = options;
+export default options;