summaryrefslogtreecommitdiff
path: root/examples/gtk4/simple-bar/py/src/ui/Bar.blp
blob: 6e401e7a01f75ce5f8f5be722b9b19d17902fc2c (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
using Gtk 4.0;
using Astal 4.0;

template $Bar: Astal.Window {
    CenterBox centerbox {
        start-widget: Box {
            MenuButton {
                Label {
                    label: bind template.clock;
                }

                popover: Popover popover {
                    Calendar calendar {
                        show-day-names: true;
                        show-heading: true;
                        show-week-numbers: true;
                    }
                };
            }
        };

        center-widget: Box {
            Box {
                visible: bind template.mpris-visible;

                Image {
                    file: bind template.mpris-art;
                }

                Label {
                    label: bind template.mpris-label;
                }
            }
        };

        end-widget: Box {
            spacing: 4;

            Image {
                visible: bind template.bluetooth-visible;
                icon-name: "bluetooth-symbolic";
            }

            Image {
                icon-name: bind template.power-profile-icon;
            }

            Image {
                icon-name: bind template.network-icon;
            }

            Box {
                Image {
                    icon-name: bind template.volume-icon;
                }

                Scale {
                    width-request: 100;
                    change-value => $change_volume();

                    adjustment: Adjustment {
                        value: bind template.volume;
                        lower: 0;
                        upper: 1;
                    };
                }
            }

            Box {
                Image {
                    icon-name: bind template.battery-icon;
                }

                Label {
                    label: bind template.battery-label;
                }
            }

            Box traybox {
                spacing: 4;
            }
        };
    }
}