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
|
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())
})
}
|