This commit is contained in:
Lilith 2025-02-27 02:26:55 +01:00
parent a71a3b5593
commit cb52890889
Signed by: lilith
GPG key ID: 8712A0F317C37175
16657 changed files with 1483086 additions and 1 deletions

View file

@ -0,0 +1,60 @@
import BatteryBar from "./buttons/BatteryBar"
import ColorPicker from "./buttons/ColorPicker"
import Date from "./buttons/Date"
import Launcher from "./buttons/Launcher"
import Media from "./buttons/Media"
import PowerMenu from "./buttons/PowerMenu"
import SysTray from "./buttons/SysTray"
import SystemIndicators from "./buttons/SystemIndicators"
import Taskbar from "./buttons/Taskbar"
import Workspaces from "./buttons/Workspaces"
import ScreenRecord from "./buttons/ScreenRecord"
import Messages from "./buttons/Messages"
import options from "options"
const { start, center, end } = options.bar.layout
const { transparent, position } = options.bar
export type BarWidget = keyof typeof widget
const widget = {
battery: BatteryBar,
colorpicker: ColorPicker,
date: Date,
launcher: Launcher,
media: Media,
powermenu: PowerMenu,
systray: SysTray,
system: SystemIndicators,
taskbar: Taskbar,
workspaces: Workspaces,
screenrecord: ScreenRecord,
messages: Messages,
expander: () => Widget.Box({ expand: true }),
}
export default (monitor: number) => Widget.Window({
monitor,
class_name: "bar",
name: `bar${monitor}`,
exclusivity: "exclusive",
anchor: position.bind().as(pos => [pos, "right", "left"]),
child: Widget.CenterBox({
css: "min-width: 2px; min-height: 2px;",
startWidget: Widget.Box({
hexpand: true,
children: start.bind().as(s => s.map(w => widget[w]())),
}),
centerWidget: Widget.Box({
hpack: "center",
children: center.bind().as(c => c.map(w => widget[w]())),
}),
endWidget: Widget.Box({
hexpand: true,
children: end.bind().as(e => e.map(w => widget[w]())),
}),
}),
setup: self => self.hook(transparent, () => {
self.toggleClassName("transparent", transparent.value)
}),
})