mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-11 02:56:27 +00:00
304 lines
7.3 KiB
JavaScript
304 lines
7.3 KiB
JavaScript
/**
|
||
* 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"],
|
||
],
|
||
},
|
||
};
|