aboutsummaryrefslogtreecommitdiff
path: root/.config/ags/widget/settings/layout.ts
blob: 2b458106196f35504ba72915bb3cac626a643dff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/* eslint-disable max-len */
import Row from "./Row"
import Group from "./Group"
import Page from "./Page"
import Wallpaper from "./Wallpaper"
import options from "options"
import icons from "lib/icons"

const {
    autotheme: at,
    font,
    theme,
    bar: b,
    launcher: l,
    overview: ov,
    powermenu: pm,
    quicksettings: qs,
    osd,
    hyprland: h,
} = options

const {
    dark,
    light,
    blur,
    scheme,
    padding,
    spacing,
    radius,
    shadows,
    widget,
    border,
} = theme

export default [
    Page("Theme", icons.ui.themes,
        Group("",
            Wallpaper() as ReturnType<typeof Row>,
            Row({ opt: at, title: "Auto Generate Color Scheme" }),
            Row({ opt: scheme, title: "Color Scheme", type: "enum", enums: ["dark", "light"] }),
        ),
        Group("Dark Colors",
            Row({ opt: dark.bg, title: "Background", type: "color" }),
            Row({ opt: dark.fg, title: "Foreground", type: "color" }),
            Row({ opt: dark.primary.bg, title: "Primary", type: "color" }),
            Row({ opt: dark.primary.fg, title: "On Primary", type: "color" }),
            Row({ opt: dark.error.bg, title: "Error", type: "color" }),
            Row({ opt: dark.error.fg, title: "On Error", type: "color" }),
            Row({ opt: dark.widget, title: "Widget", type: "color" }),
            Row({ opt: dark.border, title: "Border", type: "color" }),
        ),
        Group("Light Colors",
            Row({ opt: light.bg, title: "Background", type: "color" }),
            Row({ opt: light.fg, title: "Foreground", type: "color" }),
            Row({ opt: light.primary.bg, title: "Primary", type: "color" }),
            Row({ opt: light.primary.fg, title: "On Primary", type: "color" }),
            Row({ opt: light.error.bg, title: "Error", type: "color" }),
            Row({ opt: light.error.fg, title: "On Error", type: "color" }),
            Row({ opt: light.widget, title: "Widget", type: "color" }),
            Row({ opt: light.border, title: "Border", type: "color" }),
        ),
        Group("Theme",
            Row({ opt: shadows, title: "Shadows" }),
            Row({ opt: widget.opacity, title: "Widget Opacity", max: 100 }),
            Row({ opt: border.opacity, title: "Border Opacity", max: 100 }),
            Row({ opt: border.width, title: "Border Width" }),
            Row({ opt: blur, title: "Blur", note: "0 to disable", max: 70 }),
        ),
        Group("UI",
            Row({ opt: padding, title: "Padding" }),
            Row({ opt: spacing, title: "Spacing" }),
            Row({ opt: radius, title: "Roundness" }),
            Row({ opt: font.size, title: "Font Size" }),
            Row({ opt: font.name, title: "Font Name", type: "font" }),
        ),
    ),
    Page("Bar", icons.ui.toolbars,
        Group("General",
            Row({ opt: b.flatButtons, title: "Flat Buttons" }),
            Row({ opt: b.position, title: "Position", type: "enum", enums: ["top", "bottom"] }),
            Row({ opt: b.corners, title: "Corners" }),
        ),
        Group("Launcher",
            Row({ opt: b.launcher.icon.icon, title: "Icon" }),
            Row({ opt: b.launcher.icon.colored, title: "Colored Icon" }),
            Row({ opt: b.launcher.label.label, title: "Label" }),
            Row({ opt: b.launcher.label.colored, title: "Colored Label" }),
        ),
        Group("Workspaces",
            Row({ opt: b.workspaces.workspaces, title: "Number of Workspaces", note: "0 to make it dynamic" }),
        ),
        Group("Taskbar",
            Row({ opt: b.taskbar.iconSize, title: "Icon Size" }),
            Row({ opt: b.taskbar.monochrome, title: "Monochrome" }),
            Row({ opt: b.taskbar.exclusive, title: "Exclusive to workspaces" }),
        ),
        Group("Date",
            Row({ opt: b.date.format, title: "Date Format" }),
        ),
        Group("Media",
            Row({ opt: b.media.monochrome, title: "Monochrome" }),
            Row({ opt: b.media.preferred, title: "Preferred Player" }),
            Row({ opt: b.media.direction, title: "Slide Direction", type: "enum", enums: ["left", "right"] }),
            Row({ opt: b.media.format, title: "Format of the Label" }),
            Row({ opt: b.media.length, title: "Max Length of Label" }),
        ),
        Group("Battery",
            Row({ opt: b.battery.bar, title: "Style", type: "enum", enums: ["hidden", "regular", "whole"] }),
            Row({ opt: b.battery.blocks, title: "Number of Blocks" }),
            Row({ opt: b.battery.width, title: "Width of Bar" }),
            Row({ opt: b.battery.charging, title: "Charging Color", type: "color" }),
        ),
        Group("Powermenu",
            Row({ opt: b.powermenu.monochrome, title: "Monochrome" }),
        ),
    ),
    Page("General", icons.ui.settings,
        Group("Hyprland",
            Row({ opt: h.gapsWhenOnly, title: "Gaps When Only" }),
        ),
        Group("Launcher",
            Row({ opt: l.width, title: "Width" }),
            Row({ opt: l.apps.iconSize, title: "Icon Size" }),
            Row({ opt: l.apps.max, title: "Max Items" }),
        ),
        Group("Overview",
            Row({ opt: ov.scale, title: "Scale", max: 100 }),
            Row({ opt: ov.workspaces, title: "Workspaces", max: 11, note: "set this to 0 to make it dynamic" }),
            Row({ opt: ov.monochromeIcon, title: "Monochrome Icons" }),
        ),
        Group("Powermenu",
            Row({ opt: pm.layout, title: "Layout", type: "enum", enums: ["box", "line"] }),
            Row({ opt: pm.labels, title: "Show Labels" }),
        ),
        Group("Quicksettings",
            Row({ opt: qs.avatar.image, title: "Avatar", type: "img" }),
            Row({ opt: qs.avatar.size, title: "Avatar Size" }),
            Row({ opt: qs.media.monochromeIcon, title: "Media Monochrome Icons" }),
            Row({ opt: qs.media.coverSize, title: "Media Cover Art Size" }),
        ),
        Group("On Screen Indicator",
            Row({ opt: osd.progress.vertical, title: "Vertical" }),
            Row({ opt: osd.progress.pack.h, title: "Horizontal Alignment", type: "enum", enums: ["start", "center", "end"] }),
            Row({ opt: osd.progress.pack.v, title: "Vertical Alignment", type: "enum", enums: ["start", "center", "end"] }),
        ),
    ),
] as const