* feat: on hover only show actions if available on notifications * feat: on hover only show actions if available on notifications * fix: make the change configurable * fix: remove unneeded op
1230 lines
47 KiB
TypeScript
1230 lines
47 KiB
TypeScript
import { opt, mkOptions } from 'lib/option';
|
|
import { NetstatLabelType, RateUnit, ResourceLabelType } from 'lib/types/bar';
|
|
import { KbLabelType } from 'lib/types/customModules/kbLayout';
|
|
import {
|
|
ActiveWsIndicator,
|
|
BarButtonStyles,
|
|
BarLocation,
|
|
BluetoothBatteryState,
|
|
BorderLocation,
|
|
NotificationAnchor,
|
|
OSDAnchor,
|
|
OSDOrientation,
|
|
ScalingPriority,
|
|
WindowLayer,
|
|
} from 'lib/types/options';
|
|
import { MatugenScheme, MatugenTheme, MatugenVariations } from 'lib/types/options';
|
|
import { SystrayIconMap } from 'lib/types/systray';
|
|
import { UnitType } from 'lib/types/weather';
|
|
import { Transition } from 'lib/types/widget';
|
|
import { ApplicationIcons, WorkspaceIcons, WorkspaceIconsColored } from 'lib/types/workspace';
|
|
|
|
// WARN: CHANGING THESE VALUES WILL PREVENT MATUGEN COLOR GENERATION FOR THE CHANGED VALUE
|
|
export const colors = {
|
|
rosewater: '#f5e0dc',
|
|
flamingo: '#f2cdcd',
|
|
pink: '#f5c2e7',
|
|
mauve: '#cba6f7',
|
|
red: '#f38ba8',
|
|
maroon: '#eba0ac',
|
|
peach: '#fab387',
|
|
yellow: '#f9e2af',
|
|
green: '#a6e3a1',
|
|
teal: '#94e2d5',
|
|
sky: '#89dceb',
|
|
sapphire: '#74c7ec',
|
|
blue: '#89b4fa',
|
|
lavender: '#b4befe',
|
|
text: '#cdd6f4',
|
|
subtext1: '#bac2de',
|
|
subtext2: '#a6adc8',
|
|
overlay2: '#9399b2',
|
|
overlay1: '#7f849c',
|
|
overlay0: '#6c7086',
|
|
surface2: '#585b70',
|
|
surface1: '#45475a',
|
|
surface0: '#313244',
|
|
base2: '#242438',
|
|
base: '#1e1e2e',
|
|
mantle: '#181825',
|
|
crust: '#11111b',
|
|
};
|
|
|
|
// WARN: CHANGING THESE VALUES WILL PREVENT MATUGEN COLOR GENERATION FOR THE CHANGED VALUE
|
|
const secondary_colors = {
|
|
text: '#cdd6f3',
|
|
pink: '#f5c2e6',
|
|
red: '#f38ba7',
|
|
peach: '#fab386',
|
|
mantle: '#181824',
|
|
surface1: '#454759',
|
|
surface0: '#313243',
|
|
overlay1: '#7f849b',
|
|
lavender: '#b4befd',
|
|
mauve: '#cba6f6',
|
|
green: '#a6e3a0',
|
|
sky: '#89dcea',
|
|
teal: '#94e2d4',
|
|
yellow: '#f9e2ad',
|
|
maroon: '#eba0ab',
|
|
crust: '#11111a',
|
|
surface2: '#585b69',
|
|
};
|
|
|
|
const tertiary_colors = {
|
|
pink: '#f5c2e8',
|
|
red: '#f38ba9',
|
|
mantle: '#181826',
|
|
surface0: '#313245',
|
|
overlay1: '#7f849d',
|
|
lavender: '#b4beff',
|
|
mauve: '#cba6f8',
|
|
green: '#a6e3a2',
|
|
sky: '#89dcec',
|
|
teal: '#94e2d6',
|
|
yellow: '#f9e2ae',
|
|
maroon: '#eba0ad',
|
|
crust: '#11111c',
|
|
surface2: '#585b71',
|
|
};
|
|
|
|
const options = mkOptions(OPTIONS, {
|
|
theme: {
|
|
tooltip: {
|
|
scaling: opt(100),
|
|
},
|
|
matugen: opt(false),
|
|
matugen_settings: {
|
|
mode: opt<MatugenTheme>('dark'),
|
|
scheme_type: opt<MatugenScheme>('tonal-spot'),
|
|
variation: opt<MatugenVariations>('standard_1'),
|
|
contrast: opt(0.0),
|
|
},
|
|
font: {
|
|
size: opt('1.2rem'),
|
|
name: opt('Ubuntu Nerd Font'),
|
|
weight: opt(600),
|
|
},
|
|
notification: {
|
|
scaling: opt(100),
|
|
background: opt(tertiary_colors.mantle),
|
|
opacity: opt(100),
|
|
actions: {
|
|
background: opt(secondary_colors.lavender),
|
|
text: opt(colors.mantle),
|
|
},
|
|
label: opt(colors.lavender),
|
|
border: opt(secondary_colors.surface0),
|
|
border_radius: opt('0.6em'),
|
|
time: opt(secondary_colors.overlay1),
|
|
text: opt(colors.text),
|
|
labelicon: opt(colors.lavender),
|
|
close_button: {
|
|
background: opt(secondary_colors.red),
|
|
label: opt(colors.crust),
|
|
},
|
|
},
|
|
osd: {
|
|
scaling: opt(100),
|
|
duration: opt(2500),
|
|
enable: opt(true),
|
|
orientation: opt<OSDOrientation>('vertical'),
|
|
opacity: opt(100),
|
|
bar_container: opt(colors.crust),
|
|
icon_container: opt(tertiary_colors.lavender),
|
|
bar_color: opt(tertiary_colors.lavender),
|
|
bar_empty_color: opt(colors.surface0),
|
|
bar_overflow_color: opt(secondary_colors.red),
|
|
icon: opt(colors.crust),
|
|
label: opt(tertiary_colors.lavender),
|
|
monitor: opt(0),
|
|
active_monitor: opt(true),
|
|
radius: opt('0.4em'),
|
|
margins: opt('0px 5px 0px 0px'),
|
|
location: opt<OSDAnchor>('right'),
|
|
muted_zero: opt(false),
|
|
},
|
|
bar: {
|
|
scaling: opt(100),
|
|
floating: opt(false),
|
|
location: opt<BarLocation>('top'),
|
|
layer: opt<WindowLayer>('top'),
|
|
margin_top: opt('0.5em'),
|
|
opacity: opt(100),
|
|
margin_bottom: opt('0em'),
|
|
margin_sides: opt('0.5em'),
|
|
border_radius: opt('0.4em'),
|
|
outer_spacing: opt('1.6em'),
|
|
label_spacing: opt('0.5em'),
|
|
transparent: opt(false),
|
|
dropdownGap: opt('2.9em'),
|
|
background: opt(colors.crust),
|
|
border: {
|
|
location: opt<BorderLocation>('none'),
|
|
width: opt('0.15em'),
|
|
color: opt(colors.lavender),
|
|
},
|
|
buttons: {
|
|
style: opt<BarButtonStyles>('default'),
|
|
enableBorders: opt(false),
|
|
borderSize: opt('0.1em'),
|
|
monochrome: opt(false),
|
|
spacing: opt('0.25em'),
|
|
padding_x: opt('0.7rem'),
|
|
padding_y: opt('0.2rem'),
|
|
y_margins: opt('0.4em'),
|
|
radius: opt('0.3em'),
|
|
opacity: opt(100),
|
|
background_opacity: opt(100),
|
|
background_hover_opacity: opt(100),
|
|
background: opt(colors.base2),
|
|
icon_background: opt(colors.base2),
|
|
hover: opt(colors.surface1),
|
|
text: opt(colors.lavender),
|
|
icon: opt(colors.lavender),
|
|
dashboard: {
|
|
background: opt(colors.base2),
|
|
enableBorder: opt(false),
|
|
border: opt(colors.yellow),
|
|
icon: opt(colors.yellow),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
workspaces: {
|
|
background: opt(colors.base2),
|
|
enableBorder: opt(false),
|
|
smartHighlight: opt(true),
|
|
border: opt(colors.pink),
|
|
available: opt(colors.sky),
|
|
occupied: opt(colors.flamingo),
|
|
active: opt(colors.pink),
|
|
hover: opt(colors.pink),
|
|
numbered_active_highlight_border: opt('0.2em'),
|
|
numbered_active_highlight_padding: opt('0.2em'),
|
|
numbered_active_highlighted_text_color: opt(colors.mantle),
|
|
numbered_active_underline_color: opt(colors.pink),
|
|
spacing: opt('0.5em'),
|
|
fontSize: opt('1.2em'),
|
|
},
|
|
windowtitle: {
|
|
background: opt(colors.base2),
|
|
enableBorder: opt(false),
|
|
border: opt(colors.pink),
|
|
text: opt(colors.pink),
|
|
icon: opt(colors.pink),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
media: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.lavender),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.lavender),
|
|
icon: opt(colors.lavender),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
volume: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.maroon),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.maroon),
|
|
icon: opt(colors.maroon),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
network: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.mauve),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.mauve),
|
|
icon: opt(colors.mauve),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
bluetooth: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.sky),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.sky),
|
|
icon: opt(colors.sky),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
systray: {
|
|
enableBorder: opt(false),
|
|
customIcon: opt(colors.text),
|
|
border: opt(colors.lavender),
|
|
background: opt(colors.base2),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
battery: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.yellow),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.yellow),
|
|
icon: opt(colors.yellow),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
clock: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.pink),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.pink),
|
|
icon: opt(colors.pink),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
notifications: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.lavender),
|
|
background: opt(colors.base2),
|
|
icon: opt(colors.lavender),
|
|
icon_background: opt(colors.base2),
|
|
total: opt(colors.lavender),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
modules: {
|
|
ram: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.yellow),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.yellow),
|
|
icon: opt(colors.yellow),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.45em'),
|
|
},
|
|
cpu: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.red),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.red),
|
|
icon: opt(colors.red),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.5em'),
|
|
},
|
|
storage: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.pink),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.pink),
|
|
icon: opt(colors.pink),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.45em'),
|
|
},
|
|
netstat: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.green),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.green),
|
|
icon: opt(colors.green),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.45em'),
|
|
},
|
|
kbLayout: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.sky),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.sky),
|
|
icon: opt(colors.sky),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.45em'),
|
|
},
|
|
updates: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.mauve),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.mauve),
|
|
icon: opt(colors.mauve),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.45em'),
|
|
},
|
|
weather: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.lavender),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.lavender),
|
|
icon: opt(colors.lavender),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.45em'),
|
|
},
|
|
power: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.red),
|
|
background: opt(colors.base2),
|
|
icon: opt(colors.red),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.45em'),
|
|
},
|
|
submap: {
|
|
enableBorder: opt(false),
|
|
border: opt(colors.teal),
|
|
background: opt(colors.base2),
|
|
text: opt(colors.teal),
|
|
icon: opt(colors.teal),
|
|
icon_background: opt(colors.base2),
|
|
spacing: opt('0.45em'),
|
|
},
|
|
},
|
|
},
|
|
menus: {
|
|
monochrome: opt(false),
|
|
background: opt(colors.crust),
|
|
opacity: opt(100),
|
|
cards: opt(colors.base),
|
|
card_radius: opt('0.4em'),
|
|
border: {
|
|
size: opt('0.13em'),
|
|
radius: opt('0.7em'),
|
|
color: opt(colors.surface0),
|
|
},
|
|
text: opt(colors.text),
|
|
dimtext: opt(colors.surface2),
|
|
feinttext: opt(colors.surface0),
|
|
label: opt(colors.lavender),
|
|
popover: {
|
|
text: opt(colors.lavender),
|
|
background: opt(secondary_colors.mantle),
|
|
border: opt(secondary_colors.mantle),
|
|
},
|
|
listitems: {
|
|
passive: opt(colors.text),
|
|
active: opt(secondary_colors.lavender),
|
|
},
|
|
icons: {
|
|
passive: opt(colors.surface2),
|
|
active: opt(colors.lavender),
|
|
},
|
|
switch: {
|
|
enabled: opt(colors.lavender),
|
|
disabled: opt(tertiary_colors.surface0),
|
|
puck: opt(secondary_colors.surface1),
|
|
radius: opt('0.2em'),
|
|
slider_radius: opt('0.2em'),
|
|
},
|
|
check_radio_button: {
|
|
background: opt(colors.surface1),
|
|
active: opt(tertiary_colors.lavender),
|
|
},
|
|
buttons: {
|
|
default: opt(colors.lavender),
|
|
active: opt(secondary_colors.pink),
|
|
disabled: opt(tertiary_colors.surface2),
|
|
text: opt(secondary_colors.mantle),
|
|
},
|
|
iconbuttons: {
|
|
passive: opt(secondary_colors.text),
|
|
active: opt(tertiary_colors.lavender),
|
|
},
|
|
progressbar: {
|
|
foreground: opt(colors.lavender),
|
|
background: opt(colors.surface1),
|
|
},
|
|
slider: {
|
|
primary: opt(colors.lavender),
|
|
background: opt(tertiary_colors.surface2),
|
|
backgroundhover: opt(colors.surface1),
|
|
puck: opt(colors.overlay0),
|
|
slider_radius: opt('0.3rem'),
|
|
progress_radius: opt('0.3rem'),
|
|
},
|
|
dropdownmenu: {
|
|
background: opt(colors.crust),
|
|
text: opt(colors.text),
|
|
divider: opt(colors.base),
|
|
},
|
|
tooltip: {
|
|
background: opt(colors.crust),
|
|
text: opt(tertiary_colors.lavender),
|
|
},
|
|
menu: {
|
|
media: {
|
|
scaling: opt(100),
|
|
song: opt(tertiary_colors.lavender),
|
|
artist: opt(tertiary_colors.teal),
|
|
album: opt(tertiary_colors.pink),
|
|
background: {
|
|
color: opt(colors.crust),
|
|
},
|
|
card: {
|
|
color: opt(colors.base),
|
|
tint: opt(85),
|
|
},
|
|
border: {
|
|
color: opt(colors.surface0),
|
|
},
|
|
buttons: {
|
|
inactive: opt(colors.surface2),
|
|
enabled: opt(secondary_colors.teal),
|
|
background: opt(tertiary_colors.lavender),
|
|
text: opt(colors.crust),
|
|
},
|
|
slider: {
|
|
primary: opt(colors.pink),
|
|
background: opt(tertiary_colors.surface2),
|
|
backgroundhover: opt(colors.surface1),
|
|
puck: opt(colors.overlay0),
|
|
},
|
|
},
|
|
volume: {
|
|
scaling: opt(100),
|
|
card: {
|
|
color: opt(colors.base),
|
|
},
|
|
background: {
|
|
color: opt(colors.crust),
|
|
},
|
|
border: {
|
|
color: opt(colors.surface0),
|
|
},
|
|
label: {
|
|
color: opt(colors.maroon),
|
|
},
|
|
text: opt(colors.text),
|
|
listitems: {
|
|
passive: opt(colors.text),
|
|
active: opt(secondary_colors.maroon),
|
|
},
|
|
iconbutton: {
|
|
passive: opt(colors.text),
|
|
active: opt(colors.maroon),
|
|
},
|
|
icons: {
|
|
passive: opt(colors.overlay2),
|
|
active: opt(colors.maroon),
|
|
},
|
|
audio_slider: {
|
|
primary: opt(colors.maroon),
|
|
background: opt(tertiary_colors.surface2),
|
|
backgroundhover: opt(colors.surface1),
|
|
puck: opt(colors.surface2),
|
|
},
|
|
input_slider: {
|
|
primary: opt(colors.maroon),
|
|
background: opt(tertiary_colors.surface2),
|
|
backgroundhover: opt(colors.surface1),
|
|
puck: opt(colors.surface2),
|
|
},
|
|
},
|
|
network: {
|
|
scaling: opt(100),
|
|
card: {
|
|
color: opt(colors.base),
|
|
},
|
|
background: {
|
|
color: opt(colors.crust),
|
|
},
|
|
border: {
|
|
color: opt(colors.surface0),
|
|
},
|
|
label: {
|
|
color: opt(colors.mauve),
|
|
},
|
|
text: opt(colors.text),
|
|
status: {
|
|
color: opt(colors.overlay0),
|
|
},
|
|
listitems: {
|
|
passive: opt(colors.text),
|
|
active: opt(secondary_colors.mauve),
|
|
},
|
|
icons: {
|
|
passive: opt(colors.overlay2),
|
|
active: opt(colors.mauve),
|
|
},
|
|
iconbuttons: {
|
|
passive: opt(colors.text),
|
|
active: opt(colors.mauve),
|
|
},
|
|
switch: {
|
|
enabled: opt(colors.mauve),
|
|
disabled: opt(tertiary_colors.surface0),
|
|
puck: opt(secondary_colors.surface1),
|
|
},
|
|
},
|
|
bluetooth: {
|
|
scaling: opt(100),
|
|
card: {
|
|
color: opt(colors.base),
|
|
},
|
|
background: {
|
|
color: opt(colors.crust),
|
|
},
|
|
border: {
|
|
color: opt(colors.surface0),
|
|
},
|
|
label: {
|
|
color: opt(colors.sky),
|
|
},
|
|
text: opt(colors.text),
|
|
status: opt(colors.overlay0),
|
|
switch_divider: opt(colors.surface1),
|
|
switch: {
|
|
enabled: opt(colors.sky),
|
|
disabled: opt(tertiary_colors.surface0),
|
|
puck: opt(secondary_colors.surface1),
|
|
},
|
|
listitems: {
|
|
passive: opt(colors.text),
|
|
active: opt(secondary_colors.sky),
|
|
},
|
|
icons: {
|
|
passive: opt(colors.overlay2),
|
|
active: opt(colors.sky),
|
|
},
|
|
iconbutton: {
|
|
passive: opt(colors.text),
|
|
active: opt(colors.sky),
|
|
},
|
|
},
|
|
systray: {
|
|
dropdownmenu: {
|
|
background: opt(colors.crust),
|
|
text: opt(colors.text),
|
|
divider: opt(colors.base),
|
|
},
|
|
},
|
|
battery: {
|
|
scaling: opt(100),
|
|
card: {
|
|
color: opt(colors.base),
|
|
},
|
|
background: {
|
|
color: opt(colors.crust),
|
|
},
|
|
border: {
|
|
color: opt(colors.surface0),
|
|
},
|
|
label: {
|
|
color: opt(colors.yellow),
|
|
},
|
|
text: opt(colors.text),
|
|
listitems: {
|
|
passive: opt(secondary_colors.text),
|
|
active: opt(colors.yellow),
|
|
},
|
|
icons: {
|
|
passive: opt(colors.overlay2),
|
|
active: opt(colors.yellow),
|
|
},
|
|
slider: {
|
|
primary: opt(colors.yellow),
|
|
background: opt(tertiary_colors.surface2),
|
|
backgroundhover: opt(colors.surface1),
|
|
puck: opt(colors.overlay0),
|
|
},
|
|
},
|
|
clock: {
|
|
scaling: opt(100),
|
|
card: {
|
|
color: opt(colors.base),
|
|
},
|
|
background: {
|
|
color: opt(colors.crust),
|
|
},
|
|
border: {
|
|
color: opt(colors.surface0),
|
|
},
|
|
text: opt(colors.text),
|
|
time: {
|
|
time: opt(colors.pink),
|
|
timeperiod: opt(colors.teal),
|
|
},
|
|
calendar: {
|
|
yearmonth: opt(colors.teal),
|
|
weekdays: opt(colors.pink),
|
|
paginator: opt(secondary_colors.pink),
|
|
currentday: opt(colors.pink),
|
|
days: opt(colors.text),
|
|
contextdays: opt(colors.surface2),
|
|
},
|
|
weather: {
|
|
icon: opt(colors.pink),
|
|
temperature: opt(colors.text),
|
|
status: opt(colors.teal),
|
|
stats: opt(colors.pink),
|
|
thermometer: {
|
|
extremelyhot: opt(colors.red),
|
|
hot: opt(colors.peach),
|
|
moderate: opt(colors.lavender),
|
|
cold: opt(colors.blue),
|
|
extremelycold: opt(colors.sky),
|
|
},
|
|
hourly: {
|
|
time: opt(colors.pink),
|
|
icon: opt(colors.pink),
|
|
temperature: opt(colors.pink),
|
|
},
|
|
},
|
|
},
|
|
dashboard: {
|
|
scaling: opt(100),
|
|
confirmation_scaling: opt(100),
|
|
card: {
|
|
color: opt(colors.base),
|
|
},
|
|
background: {
|
|
color: opt(colors.crust),
|
|
},
|
|
border: {
|
|
color: opt(colors.surface0),
|
|
},
|
|
profile: {
|
|
name: opt(colors.pink),
|
|
size: opt('8.5em'),
|
|
radius: opt('0.4em'),
|
|
},
|
|
powermenu: {
|
|
shutdown: opt(colors.red),
|
|
restart: opt(colors.peach),
|
|
logout: opt(colors.green),
|
|
sleep: opt(colors.sky),
|
|
confirmation: {
|
|
card: opt(colors.base),
|
|
background: opt(colors.crust),
|
|
border: opt(colors.surface0),
|
|
label: opt(colors.lavender),
|
|
body: opt(colors.text),
|
|
confirm: opt(colors.green),
|
|
deny: opt(colors.red),
|
|
button_text: opt(secondary_colors.crust),
|
|
},
|
|
},
|
|
shortcuts: {
|
|
background: opt(colors.lavender),
|
|
text: opt(secondary_colors.mantle),
|
|
recording: opt(colors.green),
|
|
},
|
|
controls: {
|
|
disabled: opt(colors.surface2),
|
|
wifi: {
|
|
background: opt(colors.mauve),
|
|
text: opt(secondary_colors.mantle),
|
|
},
|
|
bluetooth: {
|
|
background: opt(colors.sky),
|
|
text: opt(secondary_colors.mantle),
|
|
},
|
|
notifications: {
|
|
background: opt(colors.yellow),
|
|
text: opt(secondary_colors.mantle),
|
|
},
|
|
volume: {
|
|
background: opt(colors.maroon),
|
|
text: opt(secondary_colors.mantle),
|
|
},
|
|
input: {
|
|
background: opt(colors.pink),
|
|
text: opt(secondary_colors.mantle),
|
|
},
|
|
},
|
|
directories: {
|
|
left: {
|
|
top: {
|
|
color: opt(colors.pink),
|
|
},
|
|
middle: {
|
|
color: opt(colors.yellow),
|
|
},
|
|
bottom: {
|
|
color: opt(colors.maroon),
|
|
},
|
|
},
|
|
right: {
|
|
top: {
|
|
color: opt(colors.teal),
|
|
},
|
|
middle: {
|
|
color: opt(colors.mauve),
|
|
},
|
|
bottom: {
|
|
color: opt(colors.lavender),
|
|
},
|
|
},
|
|
},
|
|
monitors: {
|
|
bar_background: opt(colors.surface1),
|
|
cpu: {
|
|
icon: opt(colors.maroon),
|
|
bar: opt(tertiary_colors.maroon),
|
|
label: opt(colors.maroon),
|
|
},
|
|
ram: {
|
|
icon: opt(colors.yellow),
|
|
bar: opt(tertiary_colors.yellow),
|
|
label: opt(colors.yellow),
|
|
},
|
|
gpu: {
|
|
icon: opt(colors.green),
|
|
bar: opt(tertiary_colors.green),
|
|
label: opt(colors.green),
|
|
},
|
|
disk: {
|
|
icon: opt(colors.pink),
|
|
bar: opt(tertiary_colors.pink),
|
|
label: opt(colors.pink),
|
|
},
|
|
},
|
|
},
|
|
power: {
|
|
scaling: opt(90),
|
|
radius: opt('0.4em'),
|
|
background: {
|
|
color: opt(colors.crust),
|
|
},
|
|
border: {
|
|
color: opt(colors.surface0),
|
|
},
|
|
buttons: {
|
|
shutdown: {
|
|
background: opt(colors.base),
|
|
icon_background: opt(secondary_colors.red),
|
|
text: opt(colors.red),
|
|
icon: opt(secondary_colors.mantle),
|
|
},
|
|
restart: {
|
|
background: opt(colors.base),
|
|
icon_background: opt(secondary_colors.peach),
|
|
text: opt(colors.peach),
|
|
icon: opt(secondary_colors.mantle),
|
|
},
|
|
logout: {
|
|
background: opt(colors.base),
|
|
icon_background: opt(secondary_colors.green),
|
|
text: opt(colors.green),
|
|
icon: opt(secondary_colors.mantle),
|
|
},
|
|
sleep: {
|
|
background: opt(colors.base),
|
|
icon_background: opt(secondary_colors.sky),
|
|
text: opt(colors.sky),
|
|
icon: opt(secondary_colors.mantle),
|
|
},
|
|
},
|
|
},
|
|
notifications: {
|
|
scaling: opt(100),
|
|
height: opt('58em'),
|
|
label: opt(colors.lavender),
|
|
no_notifications_label: opt(colors.surface0),
|
|
background: opt(colors.crust),
|
|
card: opt(colors.base),
|
|
border: opt(colors.surface0),
|
|
switch_divider: opt(colors.surface1),
|
|
clear: opt(colors.red),
|
|
switch: {
|
|
enabled: opt(colors.lavender),
|
|
disabled: opt(tertiary_colors.surface0),
|
|
puck: opt(secondary_colors.surface1),
|
|
},
|
|
pager: {
|
|
show: opt(true),
|
|
background: opt(colors.crust),
|
|
button: opt(colors.lavender),
|
|
label: opt(colors.overlay2),
|
|
},
|
|
scrollbar: {
|
|
color: opt(colors.lavender),
|
|
width: opt('0.35em'),
|
|
radius: opt('0.2em'),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
bar: {
|
|
scrollSpeed: opt(5),
|
|
layouts: opt({
|
|
'1': {
|
|
left: ['dashboard', 'workspaces', 'windowtitle'],
|
|
middle: ['media'],
|
|
right: ['volume', 'clock', 'notifications'],
|
|
},
|
|
'2': {
|
|
left: ['dashboard', 'workspaces', 'windowtitle'],
|
|
middle: ['media'],
|
|
right: ['volume', 'clock', 'notifications'],
|
|
},
|
|
'0': {
|
|
left: ['dashboard', 'workspaces', 'windowtitle'],
|
|
middle: ['media'],
|
|
right: ['volume', 'network', 'bluetooth', 'battery', 'systray', 'clock', 'notifications'],
|
|
},
|
|
}),
|
|
launcher: {
|
|
icon: opt(''),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
windowtitle: {
|
|
custom_title: opt(true),
|
|
title_map: opt([]),
|
|
class_name: opt(true),
|
|
label: opt(true),
|
|
icon: opt(true),
|
|
truncation: opt(true),
|
|
truncation_size: opt(50),
|
|
leftClick: opt(''),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
workspaces: {
|
|
show_icons: opt(false),
|
|
showAllActive: opt(true),
|
|
ignored: opt(''),
|
|
show_numbered: opt(false),
|
|
showWsIcons: opt(false),
|
|
showApplicationIcons: opt(false),
|
|
applicationIconOncePerWorkspace: opt(true),
|
|
applicationIconMap: opt<ApplicationIcons>({}),
|
|
applicationIconFallback: opt(''),
|
|
applicationIconEmptyWorkspace: opt(''),
|
|
numbered_active_indicator: opt<ActiveWsIndicator>('underline'),
|
|
icons: {
|
|
available: opt(''),
|
|
active: opt(''),
|
|
occupied: opt(''),
|
|
},
|
|
workspaceIconMap: opt<WorkspaceIcons | WorkspaceIconsColored>({}),
|
|
workspaces: opt(5),
|
|
spacing: opt(1),
|
|
monitorSpecific: opt(true),
|
|
hideUnoccupied: opt(true),
|
|
workspaceMask: opt(false),
|
|
reverse_scroll: opt(false),
|
|
scroll_speed: opt(5),
|
|
},
|
|
volume: {
|
|
label: opt(true),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt('pactl set-sink-volume @DEFAULT_SINK@ +5%'),
|
|
scrollDown: opt('pactl set-sink-volume @DEFAULT_SINK@ -5%'),
|
|
},
|
|
network: {
|
|
truncation: opt(true),
|
|
showWifiInfo: opt(false),
|
|
truncation_size: opt(7),
|
|
label: opt(true),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
bluetooth: {
|
|
label: opt(true),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
battery: {
|
|
label: opt(true),
|
|
hideLabelWhenFull: opt(false),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
systray: {
|
|
ignore: opt<string[]>([]),
|
|
customIcons: opt<SystrayIconMap>({}),
|
|
},
|
|
clock: {
|
|
icon: opt(''),
|
|
showIcon: opt(true),
|
|
showTime: opt(true),
|
|
format: opt('%a %b %d %I:%M:%S %p'),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
media: {
|
|
format: opt('{artist: - }{title}'),
|
|
truncation: opt(true),
|
|
show_label: opt(true),
|
|
truncation_size: opt(30),
|
|
show_active_only: opt(false),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
},
|
|
notifications: {
|
|
show_total: opt(false),
|
|
hideCountWhenZero: opt(false),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
customModules: {
|
|
scrollSpeed: opt(5),
|
|
ram: {
|
|
icon: opt(''),
|
|
label: opt(true),
|
|
labelType: opt<ResourceLabelType>('percentage'),
|
|
round: opt(true),
|
|
pollingInterval: opt(2000),
|
|
leftClick: opt(''),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
},
|
|
cpu: {
|
|
icon: opt(''),
|
|
label: opt(true),
|
|
round: opt(true),
|
|
pollingInterval: opt(2000),
|
|
leftClick: opt(''),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
storage: {
|
|
label: opt(true),
|
|
icon: opt(''),
|
|
round: opt(false),
|
|
labelType: opt<ResourceLabelType>('percentage'),
|
|
pollingInterval: opt(2000),
|
|
leftClick: opt(''),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
},
|
|
netstat: {
|
|
label: opt(true),
|
|
networkInterface: opt(''),
|
|
dynamicIcon: opt(false),
|
|
icon: opt(''),
|
|
round: opt(true),
|
|
labelType: opt<NetstatLabelType>('full'),
|
|
rateUnit: opt<RateUnit>('auto'),
|
|
pollingInterval: opt(2000),
|
|
leftClick: opt(''),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
},
|
|
kbLayout: {
|
|
label: opt(true),
|
|
labelType: opt<KbLabelType>('code'),
|
|
icon: opt(''),
|
|
leftClick: opt(''),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
updates: {
|
|
updateCommand: opt('$HOME/.config/ags/scripts/checkUpdates.sh -arch'),
|
|
label: opt(true),
|
|
padZero: opt(true),
|
|
icon: opt(''),
|
|
pollingInterval: opt(1000 * 60 * 60 * 6),
|
|
leftClick: opt(''),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
submap: {
|
|
label: opt(true),
|
|
showSubmapName: opt(true),
|
|
enabledIcon: opt(''),
|
|
disabledIcon: opt(''),
|
|
enabledText: opt('Submap On'),
|
|
disabledText: opt('Submap off'),
|
|
leftClick: opt(''),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
weather: {
|
|
label: opt(true),
|
|
unit: opt<UnitType>('imperial'),
|
|
leftClick: opt(''),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
power: {
|
|
icon: opt(''),
|
|
showLabel: opt(true),
|
|
leftClick: opt('menu:powerdropdown'),
|
|
rightClick: opt(''),
|
|
middleClick: opt(''),
|
|
scrollUp: opt(''),
|
|
scrollDown: opt(''),
|
|
},
|
|
},
|
|
},
|
|
|
|
menus: {
|
|
transition: opt<Transition>('crossfade'),
|
|
transitionTime: opt(200),
|
|
media: {
|
|
hideAuthor: opt(false),
|
|
hideAlbum: opt(false),
|
|
},
|
|
bluetooth: {
|
|
showBattery: opt(false),
|
|
batteryState: opt<BluetoothBatteryState>('connected'),
|
|
batteryIcon: opt(''),
|
|
},
|
|
volume: {
|
|
raiseMaximumVolume: opt(false),
|
|
},
|
|
power: {
|
|
showLabel: opt(true),
|
|
confirmation: opt(true),
|
|
sleep: opt('systemctl suspend'),
|
|
reboot: opt('systemctl reboot'),
|
|
logout: opt('hyprctl dispatch exit'),
|
|
shutdown: opt('systemctl poweroff'),
|
|
},
|
|
dashboard: {
|
|
powermenu: {
|
|
confirmation: opt(true),
|
|
sleep: opt('systemctl suspend'),
|
|
reboot: opt('systemctl reboot'),
|
|
logout: opt('hyprctl dispatch exit'),
|
|
shutdown: opt('systemctl poweroff'),
|
|
avatar: {
|
|
image: opt('$HOME/.face.icon'),
|
|
name: opt<'system' | string>('system'),
|
|
},
|
|
},
|
|
stats: {
|
|
enabled: opt(true),
|
|
interval: opt(2000),
|
|
enable_gpu: opt(false),
|
|
},
|
|
controls: {
|
|
enabled: opt(true),
|
|
},
|
|
shortcuts: {
|
|
enabled: opt(true),
|
|
left: {
|
|
shortcut1: {
|
|
icon: opt(''),
|
|
tooltip: opt('Microsoft Edge'),
|
|
command: opt('microsoft-edge-stable'),
|
|
},
|
|
shortcut2: {
|
|
icon: opt(''),
|
|
tooltip: opt('Spotify'),
|
|
command: opt('spotify-launcher'),
|
|
},
|
|
shortcut3: {
|
|
icon: opt(''),
|
|
tooltip: opt('Discord'),
|
|
command: opt('discord'),
|
|
},
|
|
shortcut4: {
|
|
icon: opt(''),
|
|
tooltip: opt('Search Apps'),
|
|
command: opt('rofi -show drun'),
|
|
},
|
|
},
|
|
right: {
|
|
shortcut1: {
|
|
icon: opt(''),
|
|
tooltip: opt('Color Picker'),
|
|
command: opt('hyprpicker -a'),
|
|
},
|
|
shortcut3: {
|
|
icon: opt(''),
|
|
tooltip: opt('Screenshot'),
|
|
command: opt('bash -c "$HOME/.config/ags/services/snapshot.sh"'),
|
|
},
|
|
},
|
|
},
|
|
directories: {
|
|
enabled: opt(true),
|
|
left: {
|
|
directory1: {
|
|
label: opt(' Downloads'),
|
|
command: opt('bash -c "xdg-open $HOME/Downloads/"'),
|
|
},
|
|
directory2: {
|
|
label: opt(' Videos'),
|
|
command: opt('bash -c "xdg-open $HOME/Videos/"'),
|
|
},
|
|
directory3: {
|
|
label: opt(' Projects'),
|
|
command: opt('bash -c "xdg-open $HOME/Projects/"'),
|
|
},
|
|
},
|
|
right: {
|
|
directory1: {
|
|
label: opt(' Documents'),
|
|
command: opt('bash -c "xdg-open $HOME/Documents/"'),
|
|
},
|
|
directory2: {
|
|
label: opt(' Pictures'),
|
|
command: opt('bash -c "xdg-open $HOME/Pictures/"'),
|
|
},
|
|
directory3: {
|
|
label: opt(' Home'),
|
|
command: opt('bash -c "xdg-open $HOME/"'),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
clock: {
|
|
time: {
|
|
military: opt(false),
|
|
hideSeconds: opt(false),
|
|
},
|
|
weather: {
|
|
enabled: opt(true),
|
|
interval: opt(60000),
|
|
unit: opt<UnitType>('imperial'),
|
|
location: opt('Los Angeles'),
|
|
key: opt<string>(
|
|
JSON.parse(Utils.readFile(`${App.configDir}/.weather.json`) || '{}')?.weather_api_key || '',
|
|
),
|
|
},
|
|
},
|
|
},
|
|
|
|
scalingPriority: opt<ScalingPriority>('gdk'),
|
|
|
|
terminal: opt('$TERM'),
|
|
tear: opt(false),
|
|
|
|
wallpaper: {
|
|
enable: opt(true),
|
|
image: opt(''),
|
|
pywal: opt(false),
|
|
},
|
|
|
|
notifications: {
|
|
position: opt<NotificationAnchor>('top right'),
|
|
ignore: opt<string[]>([]),
|
|
displayedTotal: opt(10),
|
|
monitor: opt(0),
|
|
active_monitor: opt(true),
|
|
showActionsOnHover: opt(false),
|
|
timeout: opt(7000),
|
|
cache_actions: opt(true),
|
|
clearDelay: opt(100),
|
|
},
|
|
|
|
hyprpanel: {
|
|
restartAgs: opt(true),
|
|
restartCommand: opt('ags -q; ags'),
|
|
},
|
|
|
|
dummy: opt(true),
|
|
});
|
|
|
|
globalThis['options'] = options;
|
|
export default options;
|