2023-11-13 13:19:14 -05:00
|
|
|
import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js';
|
2023-10-31 08:32:40 -04:00
|
|
|
import { CenterBox, Label } from 'resource:///com/github/Aylur/ags/widget.js';
|
2023-11-06 18:37:23 -05:00
|
|
|
import { execAsync } from 'resource:///com/github/Aylur/ags/utils.js';
|
2023-09-21 20:01:14 -04:00
|
|
|
|
2023-10-17 13:47:02 -04:00
|
|
|
import PopupWindow from './misc/popup.js';
|
2023-10-20 23:11:21 -04:00
|
|
|
import Button from './misc/cursorbox.js';
|
2023-08-27 10:31:41 -04:00
|
|
|
|
2023-10-02 12:06:35 -04:00
|
|
|
|
2023-10-17 13:47:02 -04:00
|
|
|
const PowermenuWidget = () => CenterBox({
|
2023-10-20 23:11:21 -04:00
|
|
|
className: 'powermenu',
|
|
|
|
vertical: false,
|
2023-08-27 10:31:41 -04:00
|
|
|
|
2023-10-20 23:11:21 -04:00
|
|
|
startWidget: Button({
|
2023-11-06 18:37:23 -05:00
|
|
|
isButton: true,
|
2023-10-20 23:11:21 -04:00
|
|
|
className: 'shutdown',
|
2023-11-06 18:37:23 -05:00
|
|
|
onPrimaryClickRelease: () => execAsync(['systemctl', 'poweroff']).catch(print),
|
2023-08-27 10:31:41 -04:00
|
|
|
|
2023-10-20 23:11:21 -04:00
|
|
|
child: Label({
|
|
|
|
label: '襤',
|
|
|
|
}),
|
2023-08-27 10:31:41 -04:00
|
|
|
}),
|
|
|
|
|
2023-10-20 23:11:21 -04:00
|
|
|
centerWidget: Button({
|
2023-11-06 18:37:23 -05:00
|
|
|
isButton: true,
|
2023-10-20 23:11:21 -04:00
|
|
|
className: 'reboot',
|
2023-11-06 18:37:23 -05:00
|
|
|
onPrimaryClickRelease: () => execAsync(['systemctl', 'reboot']).catch(print),
|
2023-08-27 10:31:41 -04:00
|
|
|
|
2023-10-20 23:11:21 -04:00
|
|
|
child: Label({
|
|
|
|
label: '勒',
|
|
|
|
}),
|
2023-08-27 10:31:41 -04:00
|
|
|
}),
|
|
|
|
|
2023-10-20 23:11:21 -04:00
|
|
|
endWidget: Button({
|
2023-11-06 18:37:23 -05:00
|
|
|
isButton: true,
|
2023-10-20 23:11:21 -04:00
|
|
|
className: 'logout',
|
2023-11-13 13:19:14 -05:00
|
|
|
onPrimaryClickRelease: () => Hyprland.sendMessage('dispatch exit').catch(print),
|
2023-08-27 10:31:41 -04:00
|
|
|
|
2023-10-20 23:11:21 -04:00
|
|
|
child: Label({
|
|
|
|
label: '',
|
|
|
|
}),
|
2023-08-27 10:31:41 -04:00
|
|
|
}),
|
|
|
|
});
|
2023-09-21 20:01:14 -04:00
|
|
|
|
2023-10-16 18:11:19 -04:00
|
|
|
export default () => PopupWindow({
|
2023-10-20 23:11:21 -04:00
|
|
|
name: 'powermenu',
|
|
|
|
transition: 'crossfade',
|
|
|
|
child: PowermenuWidget(),
|
2023-09-21 20:01:14 -04:00
|
|
|
});
|