How to set the Power Off key binding in i3wm for the Pinebook
#1
Information 
Greetings,

The purpose of this blog post is to detail the steps necessary to set the Power Off key-binding for the Pinebook in i3 window manager.  We don't want the Pinebook to come crashing down if we accidentally touch the poweroff button -- so we'll set a key-binding that makes sense requiring at least two other keys , for instance the $mod key and the Shift key.  The following key-binding should bring the system down cleanly ( and power off properly ) without prompting for a password:

       $mod+Shift+XF86_PowerOff 

The key-binding will be placed in the i3 config;  but I'm getting ahead of myself.  The first step is to build the poweroff script in /usr/local/sbin/

Pb_poweroff.sh

Code:
#!/bin/sh

poweroff

The simple script above should be placed in  /usr/local/sbin/  and should be made active with the following commands:

       sudo  chown  root:root  Pb_poweroff.sh

       sudo  chmod  0754  Pb_poweroff.sh

The next step is to place a rule file in  /etc/sudoers.d/  so that the command trigger will not prompt for the sudo password when the key-binding is pressed.  Creat the following rule file in /etc/sudoers.d/  :

Pb_power_rule

Code:
# Pb power rule
Cmnd_Alias PBPOWEROFF=/usr/local/sbin/Pb_poweroff.sh
ALL ALL=NOPASSWD: PBPOWEROFF

Place the above rule file in the  /etc/sudoers.d/  directory and activate with the following commands :

       sudo  chown  root:root  Pb_power_rule

       sudo  chmod  0440  Pb_power_rule

The last step is to place the following bindsym entry in the i3 configuration  ~/.config/i3/config  , in your home directory:

       bindsym  $mod+Shift+XF86_PowerOff  exec  sudo  /usr/local/sbin/Pb_poweroff.sh

Place the above bindsym entry somewhere near the end of your i3 config after the "resize"  and before the "bar".  The configuration file is  ~/.config/i3/config

Activate the key-binding by either pressing $mod+Shift+c to re-read the config,  or $mod+Shift+r to restart i3wm.

Theory

Pressing the Pinebook power button returns scancode 124;  key-sym XF86_PowerOff.  This by default does nothing in i3wm;  unlike other OS window manager | desktops  ,  which typically pulls up the shutdown dialogue.

With our keybinding in effect the Pb_poweroff.sh script will be called with sudo,  and because the Pb_power_rule file exists in /etc/sudoers.d/  the command trigger will not prompt for the password,  but the poweroff command will simply take effect:   while holding down the mod key,  and the Shift key together,  press the power button and the i3 window manager will exit and the system will cleanly shutdown and power off.

Shy
marcushh777    Cool

please join us for a chat @  irc.pine64.xyz:6667   or ssl  irc.pine64.xyz:6697

( I regret that I am not able to respond to personal messages;  let's meet on irc! )
  Reply


Messages In This Thread
How to set the Power Off key binding in i3wm for the Pinebook - by MarkHaysHarris777 - 09-16-2017, 10:21 PM

Possibly Related Threads...
Thread Author Replies Views Last Post
  Are Pinebook images compatible with Pine64+? starcrescent 7 107 09-18-2019, 09:22 AM
Last Post: tophneal
  Pinebook 1080p / KDE Neon freezes every 5-10 min pyrrhumain 10 322 09-18-2019, 08:15 AM
Last Post: rookieone
Information Manjaro ARM for Pinebook erchache2000 65 4,472 09-05-2019, 03:07 AM
Last Post: fitter
  Archlinux (mainline) for Pinebook anarsoul 51 13,809 08-28-2019, 05:23 PM
Last Post: conlaoch
  will openMP work on a pinebook? rustythorn 2 94 07-23-2019, 01:42 PM
Last Post: tophneal
  Armbian - Xenial Desktop (Pinebook) pineadmin 83 17,514 07-17-2019, 01:22 PM
Last Post: catsmile
  pinebook 1080p crash and fix nano2 2 176 06-24-2019, 07:41 PM
Last Post: pyrrhumain
  NIxOS installation guide for Pinebook Surehand53 0 152 06-23-2019, 03:46 AM
Last Post: Surehand53
  Improve the life of your Pinebook battery by setting charger's voltage limits wlad 0 167 06-11-2019, 02:27 PM
Last Post: wlad
  How can I reliably get battery status on pinebook tillea 5 1,290 06-11-2019, 10:10 AM
Last Post: wlad

Forum Jump:


Users browsing this thread: 1 Guest(s)