92 lines
2.2 KiB
TypeScript
92 lines
2.2 KiB
TypeScript
import { bind } from 'astal';
|
|
import { Astal, Gtk } from 'astal/gtk3';
|
|
|
|
import Audio from './items/audio';
|
|
import Battery from './items/battery';
|
|
import Bluetooth from './items/bluetooth';
|
|
import Brightness from './items/brightness';
|
|
import Clock from './items/clock';
|
|
import CurrentClient from './items/current-client';
|
|
import Network from './items/network';
|
|
import NotifButton from './items/notif-button';
|
|
import SysTray from './items/tray';
|
|
import Workspaces from './items/workspaces';
|
|
|
|
import BarRevealer from './fullscreen';
|
|
import Separator from '../misc/separator';
|
|
import Tablet from '../../services/tablet';
|
|
|
|
|
|
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} />
|
|
|
|
<SysTray />
|
|
|
|
<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>
|
|
|
|
<CurrentClient />
|
|
|
|
<Separator size={8} />
|
|
</box>
|
|
|
|
<box>
|
|
<Clock />
|
|
</box>
|
|
|
|
<box hexpand halign={Gtk.Align.END}>
|
|
<Network />
|
|
|
|
<Separator size={8} />
|
|
|
|
<Bluetooth />
|
|
|
|
<Separator size={8} />
|
|
|
|
<NotifButton />
|
|
|
|
<Separator size={8} />
|
|
|
|
<Audio />
|
|
|
|
<Separator size={8} />
|
|
|
|
<Brightness />
|
|
|
|
<Separator size={8} />
|
|
|
|
<Battery />
|
|
|
|
<Separator size={2} />
|
|
</box>
|
|
</centerbox>
|
|
|
|
</BarRevealer>
|
|
);
|