diff --git a/nixosModules/ags/v2/widgets/bar/items/clock.tsx b/nixosModules/ags/v2/widgets/bar/items/clock.tsx new file mode 100644 index 00000000..9844bc42 --- /dev/null +++ b/nixosModules/ags/v2/widgets/bar/items/clock.tsx @@ -0,0 +1,31 @@ +import { bind, Variable } from 'astal'; + +import GLib from 'gi://GLib?version=2.0'; + + +export default () => { + const timeVar = Variable('').poll(1000, (prev) => { + const time = GLib.DateTime.new_now_local(); + + const dayName = time.format('%a. '); + const dayNum = time.get_day_of_month(); + const date = time.format(' %b. '); + const hour = (new Date().toLocaleString([], { + hour: 'numeric', + minute: 'numeric', + hour12: true, + }) ?? '') + .replace('a.m.', 'AM') + .replace('p.m.', 'PM'); + + return (dayNum && dayName && date) ? + (dayName + dayNum + date + hour) : + prev; + }); + + return ( + + + ); +}; diff --git a/nixosModules/ags/v2/widgets/bar/wim.tsx b/nixosModules/ags/v2/widgets/bar/wim.tsx index fed9fab5..75d79b27 100644 --- a/nixosModules/ags/v2/widgets/bar/wim.tsx +++ b/nixosModules/ags/v2/widgets/bar/wim.tsx @@ -1,38 +1,38 @@ import { Astal, Gtk } from 'astal'; import Battery from './items/battery'; +import Clock from './items/clock'; import CurrentClient from './items/current-client'; import BarRevealer from './fullscreen'; import Separator from '../misc/separator'; -export default () => { - return ( - +export default () => ( + - - - - + + + + - - + + + - - + + - - - + + + - - ); -}; + +);