diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-01-21 23:26:47 +1100 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-01-21 23:26:47 +1100 |
| commit | 9c3c59fb33c6f3d325bda7a9ce360c135410b3dd (patch) | |
| tree | 31d11db53f8dee434f295058bebd401e729e8be0 /src/modules/session.tsx | |
| parent | better menu styles (diff) | |
| download | caelestia-shell-9c3c59fb33c6f3d325bda7a9ce360c135410b3dd.tar.gz caelestia-shell-9c3c59fb33c6f3d325bda7a9ce360c135410b3dd.tar.bz2 caelestia-shell-9c3c59fb33c6f3d325bda7a9ce360c135410b3dd.zip | |
session: logout grab focus on open
Diffstat (limited to 'src/modules/session.tsx')
| -rw-r--r-- | src/modules/session.tsx | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/modules/session.tsx b/src/modules/session.tsx index 7d04870..1c58d48 100644 --- a/src/modules/session.tsx +++ b/src/modules/session.tsx @@ -1,10 +1,19 @@ import { execAsync } from "astal"; -import { Astal, Gtk } from "astal/gtk3"; +import { App, Astal, Gtk } from "astal/gtk3"; import PopupWindow from "../widgets/popupwindow"; -const Item = ({ icon, label, cmd }: { icon: string; label: string; cmd: string }) => ( +const Item = ({ icon, label, cmd, isDefault }: { icon: string; label: string; cmd: string; isDefault?: boolean }) => ( <box vertical className="item"> - <button cursor="pointer" onClicked={() => execAsync(cmd).catch(console.error)}> + <button + cursor="pointer" + onClicked={() => execAsync(cmd).catch(console.error)} + setup={self => + isDefault && + self.hook(App, "window-toggled", (_, window) => { + if (window.name === "session" && window.visible) self.grab_focus(); + }) + } + > <label className="icon" label={icon} /> </button> <label className="label" label={label} /> @@ -22,7 +31,7 @@ export default () => ( > <box vertical halign={Gtk.Align.CENTER} valign={Gtk.Align.CENTER} className="inner"> <box> - <Item icon="logout" label="Logout" cmd="uwsm stop" /> + <Item icon="logout" label="Logout" cmd="uwsm stop" isDefault /> <Item icon="cached" label="Reboot" cmd="systemctl reboot" /> </box> <box> |