Added ags
TODO copy ags config
This commit is contained in:
57
roles/ags/files/widget/bar/Bar.ts
Normal file
57
roles/ags/files/widget/bar/Bar.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
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 pos = options.bar.position.bind()
|
||||
|
||||
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: pos.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]())),
|
||||
}),
|
||||
}),
|
||||
})
|
||||
Reference in New Issue
Block a user