13 lines
406 B
TypeScript
13 lines
406 B
TypeScript
|
import { Variable, bind } from "astal"
|
||
|
import Hyprland from "gi://AstalHyprland"
|
||
|
|
||
|
export default function Layout() {
|
||
|
const hl = Hyprland.get_default();
|
||
|
let layout = Variable("en");
|
||
|
hl.connect("keyboard-layout", (_, __, l) => { layout.set(`${l}`.slice(0, 2).toLowerCase()) })
|
||
|
|
||
|
return <box className={bind(layout).as((l) => `Layout ${l}`)}>
|
||
|
<label label={bind(layout)}/>
|
||
|
</box>
|
||
|
}
|