forked from Shinonome/dots-hyprland
sideright: make idle inhibitor synced on ags restart
This commit is contained in:
@@ -89,7 +89,6 @@ export const HyprToggleIcon = async (icon, name, hyprlandConfigValue, props = {}
|
|||||||
export const ModuleNightLight = (props = {}) => Widget.Button({ // TODO: Make this work
|
export const ModuleNightLight = (props = {}) => Widget.Button({ // TODO: Make this work
|
||||||
attribute: {
|
attribute: {
|
||||||
enabled: false,
|
enabled: false,
|
||||||
yellowlight: undefined,
|
|
||||||
},
|
},
|
||||||
className: 'txt-small sidebar-iconbutton',
|
className: 'txt-small sidebar-iconbutton',
|
||||||
tooltipText: 'Night Light',
|
tooltipText: 'Night Light',
|
||||||
@@ -142,27 +141,21 @@ export const ModuleInvertColors = async (props = {}) => {
|
|||||||
export const ModuleIdleInhibitor = (props = {}) => Widget.Button({ // TODO: Make this work
|
export const ModuleIdleInhibitor = (props = {}) => Widget.Button({ // TODO: Make this work
|
||||||
attribute: {
|
attribute: {
|
||||||
enabled: false,
|
enabled: false,
|
||||||
inhibitor: undefined,
|
|
||||||
},
|
},
|
||||||
className: 'txt-small sidebar-iconbutton',
|
className: 'txt-small sidebar-iconbutton',
|
||||||
tooltipText: 'Keep system awake',
|
tooltipText: 'Keep system awake',
|
||||||
onClicked: (self) => {
|
onClicked: (self) => {
|
||||||
self.attribute.enabled = !self.attribute.enabled;
|
self.attribute.enabled = !self.attribute.enabled;
|
||||||
self.toggleClassName('sidebar-button-active', self.attribute.enabled);
|
self.toggleClassName('sidebar-button-active', self.attribute.enabled);
|
||||||
if (self.attribute.enabled) {
|
if (self.attribute.enabled) Utils.execAsync(['bash', '-c', `pidof wayland-idle-inhibitor.py || ${App.configDir}/scripts/wayland-idle-inhibitor.py`]).catch(print)
|
||||||
self.attribute.inhibitor = Utils.subprocess(
|
else Utils.execAsync('pkill -f wayland-idle-inhibitor.py').catch(print);
|
||||||
[`${App.configDir}/scripts/wayland-idle-inhibitor.py`],
|
|
||||||
(output) => print(output),
|
|
||||||
(err) => logError(err),
|
|
||||||
self,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
self.attribute.inhibitor.force_exit();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
child: MaterialIcon('coffee', 'norm'),
|
child: MaterialIcon('coffee', 'norm'),
|
||||||
setup: setupCursorHover,
|
setup: (self) => {
|
||||||
|
setupCursorHover(self);
|
||||||
|
self.attribute.enabled = !!exec('pidof wayland-idle-inhibitor.py');
|
||||||
|
self.toggleClassName('sidebar-button-active', self.attribute.enabled);
|
||||||
|
},
|
||||||
...props,
|
...props,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import sys
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from signal import SIGINT, SIGTERM, signal
|
from signal import SIGINT, SIGTERM, signal
|
||||||
from threading import Event
|
from threading import Event
|
||||||
|
import setproctitle
|
||||||
|
|
||||||
from pywayland.client.display import Display
|
from pywayland.client.display import Display
|
||||||
from pywayland.protocol.idle_inhibit_unstable_v1.zwp_idle_inhibit_manager_v1 import (
|
from pywayland.protocol.idle_inhibit_unstable_v1.zwp_idle_inhibit_manager_v1 import (
|
||||||
@@ -78,4 +79,5 @@ def main() -> None:
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
setproctitle.setproctitle("wayland-idle-inhibitor.py")
|
||||||
main()
|
main()
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ webp-pixbuf-loader gtk-layer-shell gtk3 gtksourceview3 gobject-introspection upo
|
|||||||
polkit-gnome gnome-keyring gnome-control-center blueberry networkmanager brightnessctl wlsunset gnome-bluetooth-3.0
|
polkit-gnome gnome-keyring gnome-control-center blueberry networkmanager brightnessctl wlsunset gnome-bluetooth-3.0
|
||||||
|
|
||||||
### Widgets
|
### Widgets
|
||||||
# wayland-idle-inhibitor-git : providing `wayland-idle-inhibitor.py' used by the `Keep system awake' button in `.config/ags/widgets/sideright/quicktoggles.js'.
|
python-pywayland python-psutil hypridle-git hyprlock-git wlogout wl-clipboard hyprpicker-git grim tesseract slurp anyrun-git
|
||||||
wayland-idle-inhibitor-git hypridle-git hyprlock-git wlogout wl-clipboard hyprpicker-git grim tesseract slurp anyrun-git
|
|
||||||
|
|
||||||
### Fonts and Themes
|
### Fonts and Themes
|
||||||
adw-gtk3-git qt5ct gradience-git fontconfig lexend-fonts-git ttf-jetbrains-mono-nerd ttf-material-symbols-variable-git ttf-space-mono-nerd fish foot starship
|
adw-gtk3-git qt5ct gradience-git fontconfig lexend-fonts-git ttf-jetbrains-mono-nerd ttf-material-symbols-variable-git ttf-space-mono-nerd fish foot starship
|
||||||
|
|||||||
Reference in New Issue
Block a user