From da13d05a83432f2c0c453d19e6b602b9e6bad610 Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Tue, 30 Apr 2024 17:07:32 -0400 Subject: add disable-powerbutton daemon and tools --- src/usr/bin/disable-powerbutton-daemon | 34 ++++++++++++++++++++++ .../disable-powerbutton-loop | 23 +++++++++++++++ 2 files changed, 57 insertions(+) create mode 100755 src/usr/bin/disable-powerbutton-daemon create mode 100755 src/usr/libexec/stackrpms-acer-chromebook/disable-powerbutton-loop (limited to 'src/usr') diff --git a/src/usr/bin/disable-powerbutton-daemon b/src/usr/bin/disable-powerbutton-daemon new file mode 100755 index 0000000..cde67c7 --- /dev/null +++ b/src/usr/bin/disable-powerbutton-daemon @@ -0,0 +1,34 @@ +#!/bin/sh +# File: /usr/bin/disable-powerbutton-daemon +# Location: stackrpms-acer-chromebook package +# Author: bgstack15 +# SPDX-License-Identifier: GPL-3.0 +# Startdate: 2024-04-29-2 20:22 +# Title: Power Button Suppressor Daemon +# Project: disable-powerbutton +# Purpose: Runs elogind-inhibit so we can use the power button to run logout-manager +# History: +# Usage: +# In ~/.fluxbox/startup: disable-powerbutton-daemon & +# Which enables this behavior to work: +# In ~/.fluxbox/keys: 124 :Exec logout-manager-gtk +# Reference: +# Enlightenment desktop, man elogind-inhibit +# Related: +# /usr/libexec/stackrpms-acer-chromebook/disable-powerbutton-loop +# /etc/stackrpms-acer-chromebook/fluxbox.keys +# /etc/stackrpms-acer-chromebook/fluxbox.startup +# /etc/default/disable-powerbutton +# Improve: +# Dependencies: +# dep-devuan: logout-manager, elogind +# Documentation: +# To run this manually: +# elogind-inhibit --what shutdown:handle-suspend-key:handle-hibernate-key:handle-lid-switch:idle:sleep --who "stackrpms5" --why "i hate the power button" --mode=block '/bin/forever.sh' +DAEMON_NAME="disable-powerbutton" +test -f "/etc/default/${DAEMON_NAME}" && . "/etc/default/${DAEMON_NAME}" +test -f "/etc/sysconfig/${DAEMON_NAME}" && . "/etc/sysconfig/${DAEMON_NAME}" +test -z "${DP_WHAT}" && DP_WHAT="shutdown:sleep:idle:handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch" +test -z "${DP_COMMAND}" && DP_COMMAND="/usr/libexec/stackrpms-acer-chromebook/disable-powerbutton-loop" +export DP_SAFETY_FILE +elogind-inhibit --what "${DP_WHAT}"--who "disable-powerbutton-daemon" --why "Let power button call logout-manager" --mode=block "${DP_COMMAND}" diff --git a/src/usr/libexec/stackrpms-acer-chromebook/disable-powerbutton-loop b/src/usr/libexec/stackrpms-acer-chromebook/disable-powerbutton-loop new file mode 100755 index 0000000..9bdc4cb --- /dev/null +++ b/src/usr/libexec/stackrpms-acer-chromebook/disable-powerbutton-loop @@ -0,0 +1,23 @@ +#!/bin/sh +# File: /usr/libexec/stackrpms-acer-chromebook/disable-powerbutton-loop +# Location: stackrpms-acer-chromebook package +# Author: bgstack15 +# Startdate: 2024-04-29-2 19:56 +# Title: Sleep forever +# Project: disable-powerbutton +# Purpose: Sleep forever until a safety file exists +# History: +# Usage: +# called by disable-powerbutton-daemon +# Reference: +# Related: +# /usr/bin/disable-powerbutton-daemon +# Improve: +# Probably should be a very small inotify loop +# Dependencies: +# Documentation: +test -z "${DP_SAFETY_FILE}" && DP_SAFETY_FILE=/tmp/stop-disable-powerbutton +while test ! -f "${DP_SAFETY_FILE}" ; +do + sleep 900 +done -- cgit