blob: d160349eed4933c170e1134a46c78f6c4f48a55a (
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
|
import type { Monitor } from "@/services/monitors";
import ScreenCorner from "@/widgets/screencorner";
import { bind } from "astal/binding";
import { Astal } from "astal/gtk3";
import { bar } from "config";
import Cairo from "gi://cairo";
export default ({ monitor }: { monitor: Monitor }) => (
<window
namespace="caelestia-screencorners"
monitor={monitor.id}
anchor={bind(bar.vertical).as(
v =>
Astal.WindowAnchor.BOTTOM |
Astal.WindowAnchor.RIGHT |
(v ? Astal.WindowAnchor.TOP : Astal.WindowAnchor.LEFT)
)}
setup={self =>
self.connect("size-allocate", () => self.get_window()?.input_shape_combine_region(new Cairo.Region(), 0, 0))
}
>
<box vertical={bind(bar.vertical)}>
<ScreenCorner place={bind(bar.vertical).as(v => (v ? "topright" : "bottomleft"))} />
<box expand />
<ScreenCorner place="bottomright" />
</box>
</window>
);
|