aboutsummaryrefslogtreecommitdiff
path: root/.config/ags/widget/desktop/Desktop.ts
blob: f711967763d722adddf4436abb9cab5e543092a3 (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
import options from "options"
import { matugen } from "lib/matugen"
const mpris = await Service.import("mpris")

const pref = () => options.bar.media.preferred.value

export default (monitor: number) => Widget.Window({
    monitor,
    layer: "bottom",
    name: `desktop${monitor}`,
    class_name: "desktop",
    anchor: ["top", "bottom", "left", "right"],
    child: Widget.Box({
        expand: true,
        css: options.theme.dark.primary.bg.bind().as(c => `
            transition: 500ms;
            background-color: ${c}`),
        child: Widget.Box({
            class_name: "wallpaper",
            expand: true,
            vpack: "center",
            hpack: "center",
            setup: self => self
                .hook(mpris, () => {
                    const img = mpris.getPlayer(pref())!.cover_path
                    matugen("image", img)
                    Utils.timeout(500, () => self.css = `
                        background-image: url('${img}');
                        background-size: contain;
                        background-repeat: no-repeat;
                        transition: 200ms;
                        min-width: 700px;
                        min-height: 700px;
                        border-radius: 30px;
                        box-shadow: 25px 25px 30px 0 rgba(0,0,0,0.5);`,
                    )
                }),
        }),
    }),
})