Files
TheaninovOS/home/desktops/hyprland/ags/js/options.js

304 lines
7.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* An object holding Options that are Variables with cached values.
*
* to update an option at runtime simply run
* ags -r "options.path.to.option.setValue('value')"
*
* resetting:
* ags -r "options.reset()"
*/
import {
Option,
resetOptions,
getValues,
apply,
getOptions,
} from "./settings/option.js";
import { USER } from "resource:///com/github/Aylur/ags/utils.js";
import themes from "./themes.js";
export default {
reset: resetOptions,
values: getValues,
apply: apply,
list: getOptions,
spacing: Option(9),
padding: Option(8),
radii: Option(9),
popover_padding_multiplier: Option(1.4, {
category: "General",
note: "popover-padding: padding × this",
type: "float",
unit: "",
}),
color: {
red: Option("#e55f86", { scss: "red" }),
green: Option("#00D787", { scss: "green" }),
yellow: Option("#EBFF71", { scss: "yellow" }),
blue: Option("#51a4e7", { scss: "blue" }),
magenta: Option("#9077e7", { scss: "magenta" }),
teal: Option("#51e6e6", { scss: "teal" }),
orange: Option("#E79E64", { scss: "orange" }),
},
theme: {
name: Option(themes[0].name, {
category: "exclude",
note: "Name to show as active in quicktoggles",
}),
icon: Option(themes[0].icon, {
category: "exclude",
note: "Icon to show as active in quicktoggles",
}),
scheme: Option("dark", {
enums: ["dark", "light"],
type: "enum",
note: "Color scheme to set on Gtk apps: 'ligth' or 'dark'",
title: "Color Scheme",
scss: "color-scheme",
}),
bg: Option("#171717", {
title: "Background Color",
scss: "bg-color",
}),
fg: Option("#eeeeee", {
title: "Foreground Color",
scss: "fg-color",
}),
accent: {
accent: Option("$blue", {
category: "Theme",
title: "Accent Color",
scss: "accent",
}),
fg: Option("#141414", {
category: "Theme",
title: "Accent Foreground Color",
scss: "accent-fg",
}),
gradient: Option("to right, $accent, lighten($accent, 6%)", {
category: "Theme",
title: "Accent Linear Gradient",
scss: "accent-gradient",
}),
},
widget: {
bg: Option("$fg-color", {
category: "Theme",
title: "Widget Background Color",
scss: "_widget-bg",
}),
opacity: Option(94, {
category: "Theme",
title: "Widget Background Opacity",
unit: "",
scss: "widget-opacity",
}),
},
},
border: {
color: Option("$fg-color", {
category: "Border",
title: "Border Color",
scss: "_border-color",
}),
opacity: Option(97, {
category: "Border",
title: "Border Opacity",
unit: "",
}),
width: Option(1, {
category: "Border",
title: "Border Width",
}),
},
hypr: {
inactive_border: Option("rgba(333333ff)", {
category: "Border",
title: "Border on Inactive Windows",
scss: "exclude",
}),
wm_gaps_multiplier: Option(2.4, {
category: "General",
scss: "wm-gaps-multiplier",
note: "wm-gaps: padding × this",
type: "float",
unit: "",
}),
},
// TODO: use this on revealers
transition: Option(200, {
category: "exclude",
note: "Transition time on aminations in ms, e.g on hover",
unit: "ms",
}),
font: {
font: Option("Ubuntu Nerd Font", {
type: "font",
title: "Font",
scss: "font",
}),
mono: Option("Mononoki Nerd Font", {
title: "Monospaced Font",
scss: "mono-font",
}),
size: Option(13, {
scss: "font-size",
unit: "pt",
}),
},
applauncher: {
width: Option(500),
height: Option(500),
icon_size: Option(52),
},
bar: {
position: Option("top", {
enums: ["top", "bottom"],
type: "enum",
}),
style: Option("normal", {
enums: ["floating", "normal", "separated"],
type: "enum",
}),
flat_buttons: Option(true, { scss: "bar-flat-buttons" }),
separators: Option(true),
icon: Option("distro-icon", {
note: '"distro-icon" or a single font',
}),
},
battery: {
show_percentage: Option(true, {
persist: true,
noReload: false,
category: "exclude",
}),
bar: {
show_icon: Option(true, { category: "Bar" }),
width: Option(70, { category: "Bar" }),
height: Option(14, { category: "Bar" }),
full: Option(false, { category: "Bar" }),
},
low: Option(30, { category: "Bar" }),
medium: Option(50, { category: "Bar" }),
},
desktop: {
wallpaper: {
fg: Option("#fff", { scss: "wallpaper-fg" }),
img: Option(themes[0].options["desktop.wallpaper.img"], {
scssFormat: (v) => `"${v}"`,
type: "img",
}),
},
avatar: Option(`/var/lib/AccountsService/icons/${USER}`, {
scssFormat: (v) => `"${v}"`,
type: "img",
note: "displayed in quicksettings and locksreen",
}),
screen_corners: Option(true, { scss: "screen-corners" }),
clock: {
enable: Option(true),
position: Option("center center", {
note: "halign valign",
}),
},
drop_shadow: Option(true, { scss: "drop-shadow" }),
shadow: Option("rgba(0, 0, 0, .6)", { scss: "shadow" }),
dock: {
icon_size: Option(56),
pinned_apps: Option(
[
"firefox",
"org.wezfurlong.wezterm",
"org.gnome.Nautilus",
"org.gnome.Calendar",
"obsidian",
"transmission-gtk",
"caprine",
"teams-for-linux",
"discord",
"spotify",
"com.usebottles.bottles",
"org.gnome.Software",
],
{ scss: "exclude" },
),
},
},
notifications: {
black_list: Option(["Spotify"], { note: "app-name | entry" }),
position: Option(["top"], { note: "anchor" }),
width: Option(450),
},
dashboard: {
sys_info_size: Option(70, {
category: "Desktop",
scss: "sys-info-size",
}),
},
mpris: {
black_list: Option(["Caprine"], {
category: "Bar",
title: "List of blacklisted mpris players",
note: "filters for bus-name, name, identity, entry",
}),
preferred: Option("spotify", {
category: "Bar",
title: "Preferred player",
}),
},
workspaces: Option(10, {
category: "Bar",
title: "No. workspaces on bar and overview",
note: "Set it to 0 to make it dynamic",
}),
temperature: "/sys/class/thermal/thermal_zone0/temp",
systemFetchInterval: 5000,
brightnessctlKBD: "asus::kbd_backlight",
substitutions: {
icons: [
["transmission-gtk", "transmission"],
["blueberry.py", "bluetooth"],
["Caprine", "facebook-messenger"],
["", "preferences-desktop-display"],
],
titles: [
["com.github.Aylur.ags", "AGS"],
["transmission-gtk", "Transmission"],
["com.obsproject.Studio", "OBS"],
["com.usebottles.bottles", "Bottles"],
["com.github.wwmm.easyeffects", "Easy Effects"],
["org.gnome.TextEditor", "Text Editor"],
["org.gnome.design.IconLibrary", "Icon Library"],
["blueberry.py", "Blueberry"],
["org.wezfurlong.wezterm", "Wezterm"],
["com.raggesilver.BlackBox", "BlackBox"],
["firefox", "Firefox"],
["org.gnome.Nautilus", "Files"],
["libreoffice-writer", "Writer"],
["", "Desktop"],
],
},
};