Added ags
TODO copy ags config
This commit is contained in:
36
roles/ags/files/widget/datemenu/DateMenu.ts
Normal file
36
roles/ags/files/widget/datemenu/DateMenu.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import PopupWindow from "widget/PopupWindow"
|
||||
import NotificationColumn from "./NotificationColumn"
|
||||
import DateColumn from "./DateColumn"
|
||||
import options from "options"
|
||||
|
||||
const { bar, datemenu } = options
|
||||
const pos = bar.position.bind()
|
||||
const layout = Utils.derive([bar.position, datemenu.position], (bar, qs) =>
|
||||
`${bar}-${qs}` as const,
|
||||
)
|
||||
|
||||
const Settings = () => Widget.Box({
|
||||
class_name: "datemenu horizontal",
|
||||
vexpand: false,
|
||||
children: [
|
||||
NotificationColumn(),
|
||||
Widget.Separator({ orientation: 1 }),
|
||||
DateColumn(),
|
||||
],
|
||||
})
|
||||
|
||||
const DateMenu = () => PopupWindow({
|
||||
name: "datemenu",
|
||||
exclusivity: "exclusive",
|
||||
transition: pos.as(pos => pos === "top" ? "slide_down" : "slide_up"),
|
||||
layout: layout.value,
|
||||
child: Settings(),
|
||||
})
|
||||
|
||||
export function setupDateMenu() {
|
||||
App.addWindow(DateMenu())
|
||||
layout.connect("changed", () => {
|
||||
App.removeWindow("datemenu")
|
||||
App.addWindow(DateMenu())
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user