diff --git a/home-manager/modules/ags/style.scss b/home-manager/modules/ags/style.scss index 990ba9e..78b7d28 100644 --- a/home-manager/modules/ags/style.scss +++ b/home-manager/modules/ags/style.scss @@ -56,6 +56,8 @@ window.Bar { } } + .Layout.en { color: $accent; } + .SysTray button { all: unset; padding: 8px; @@ -89,7 +91,7 @@ window.Bar { .AudioSlider icon { margin-left: 8px; } - .Workspaces, .Media, .SysTray, .AudioSlider, .Time { + .Workspaces, .Layout, .Media, .SysTray, .AudioSlider, .Time { @extend %item; } } diff --git a/home-manager/modules/ags/widget/Bar.tsx b/home-manager/modules/ags/widget/Bar.tsx index 4dc422b..4f3d93e 100644 --- a/home-manager/modules/ags/widget/Bar.tsx +++ b/home-manager/modules/ags/widget/Bar.tsx @@ -5,6 +5,7 @@ import Time from "./elements/Time" import Wifi from "./elements/Wifi" import Audio from "./elements/Audio" import Media from "./elements/Media" +import Layout from "./elements/Keyboard" import SysTray from "./elements/SysTray" import Workspaces from "./elements/Workspaces" import BatteryLevel from "./elements/Battery" @@ -21,6 +22,7 @@ export default function Bar(monitor: Gdk.Monitor) { + diff --git a/home-manager/modules/ags/widget/elements/Keyboard.tsx b/home-manager/modules/ags/widget/elements/Keyboard.tsx new file mode 100644 index 0000000..32e05f0 --- /dev/null +++ b/home-manager/modules/ags/widget/elements/Keyboard.tsx @@ -0,0 +1,12 @@ +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 `Layout ${l}`)}> + +}