nixos-configs/modules/ags/config/widgets/bar/wim.tsx

93 lines
2.2 KiB
TypeScript
Raw Permalink Normal View History

2024-12-14 19:36:54 -05:00
import { bind } from 'astal';
import { Astal, Gtk } from 'astal/gtk3';
2024-11-03 23:35:53 -05:00
import Audio from './items/audio';
2024-09-26 23:55:06 -04:00
import Battery from './items/battery';
2024-12-04 00:18:11 -05:00
import Bluetooth from './items/bluetooth';
2024-11-03 23:35:53 -05:00
import Brightness from './items/brightness';
2024-09-27 16:52:33 -04:00
import Clock from './items/clock';
2024-09-27 16:35:32 -04:00
import CurrentClient from './items/current-client';
2024-11-03 23:35:53 -05:00
import Network from './items/network';
2024-10-16 22:33:15 -04:00
import NotifButton from './items/notif-button';
2024-10-12 04:03:22 -04:00
import SysTray from './items/tray';
import Workspaces from './items/workspaces';
2024-09-26 23:55:06 -04:00
import BarRevealer from './fullscreen';
2024-09-27 16:35:32 -04:00
import Separator from '../misc/separator';
2024-12-14 19:36:54 -05:00
import Tablet from '../../services/tablet';
2024-09-27 16:52:33 -04:00
export default () => (
<BarRevealer
exclusivity={Astal.Exclusivity.EXCLUSIVE}
anchor={
Astal.WindowAnchor.TOP |
Astal.WindowAnchor.LEFT |
Astal.WindowAnchor.RIGHT
}
>
<centerbox className="bar widget">
<box hexpand halign={Gtk.Align.START}>
<Workspaces />
<Separator size={8} />
2024-10-12 04:03:22 -04:00
<SysTray />
2024-12-14 19:36:54 -05:00
<Separator size={8} />
<button
className="bar-item tablet-mode"
cursor="pointer"
onButtonReleaseEvent={() => {
const tablet = Tablet.get_default();
tablet.toggleMode();
}}
>
<icon
icon={bind(Tablet.get_default(), 'currentMode')
.as((mode) => `${mode}-symbolic`)}
/>
</button>
2024-10-12 04:03:22 -04:00
2024-09-27 16:52:33 -04:00
<CurrentClient />
2024-10-12 04:03:22 -04:00
<Separator size={8} />
2024-09-27 16:52:33 -04:00
</box>
2024-09-27 16:52:33 -04:00
<box>
<Clock />
</box>
2024-09-27 16:52:33 -04:00
<box hexpand halign={Gtk.Align.END}>
2024-11-03 23:35:53 -05:00
<Network />
<Separator size={8} />
2024-12-04 00:18:11 -05:00
<Bluetooth />
<Separator size={8} />
2024-10-16 22:33:15 -04:00
<NotifButton />
<Separator size={8} />
2024-11-03 23:35:53 -05:00
<Audio />
<Separator size={8} />
<Brightness />
<Separator size={8} />
2024-09-27 16:52:33 -04:00
<Battery />
2024-09-27 16:35:32 -04:00
2024-09-27 16:52:33 -04:00
<Separator size={2} />
</box>
</centerbox>
2024-09-27 16:35:32 -04:00
2024-09-27 16:52:33 -04:00
</BarRevealer>
);