Updated documentation

Added README data for laptop function button scripts.

Fixed formatting for links and used bold instead of code formatting for script names.
This commit is contained in:
John Mertz 2020-11-16 07:40:33 +00:00 committed by John Mertz
parent e81c0311ed
commit b161ad6423
Signed by: jpm
GPG Key ID: E9C5EA2D867501AB
1 changed files with 70 additions and 55 deletions

125
README.md
View File

@ -1,32 +1,13 @@
# Simple Scripts # Simple Scripts
## Waybar
(Waybar)[https://github.com/Alexays/Waybar] is a very flexible and customizable taskbar for Sway (and other Wlroots-based wayland compositors). Waybar applets have hover and click functionality and have several scripts related to those. See the .config repository for the actual Waybar and Sway configs.
waybar/waybar-cpu.sh
Launch htop in floating window (bottom-right). If already running, kill it.
waybar/waybar-disk.sh
Notification with disk usage summaries. Renders properly with Dunst, but not Mako.
waybar/waybar-mem.sh
Notification with memory usage summaries.
waybar/waybar-nmtui.sh
Launch nmtui in floating window (bottom-right). If already running, kill it.
## Audio ## Audio
audio/mute.sh **audio/mute.sh**
Just a simple script to toggle Pulseaudio mute. Just a simple script to toggle Alsa mute.
audio/noise-cancel.sh ---
**audio/noise-cancel.sh**
Add a noise-cancelled version of existing interfaces to Pulseaudio. Add a noise-cancelled version of existing interfaces to Pulseaudio.
@ -34,77 +15,73 @@ Add a noise-cancelled version of existing interfaces to Pulseaudio.
I haven't used i3 in earnest for quite some time since moving to Sway, so it is very likely that some of these scripts are broken based on other config changes. I haven't used i3 in earnest for quite some time since moving to Sway, so it is very likely that some of these scripts are broken based on other config changes.
i3/i3move.sh **i3/i3move.sh**
When any of the Xrandr scripts below is run, it will print it's name to a config file. This script will read that config file and then knows how the outputs are arranged. Once this is known, it allows hotkeys to know which output to move a workspace to. When any of the Xrandr scripts below is run, it will print it's name to a config file. This script will read that config file and then knows how the outputs are arranged. Once this is known, it allows hotkeys to know which output to move a workspace to.
i3/detached.sh **i3/detached.sh**
Xrandr config. Just the laptop display. Xrandr config. Just the laptop display.
i3/work.sh **i3/work.sh**
Xrandr config. Vertical on the left, horizontal aligned to top of the vertical, and laptop directly below that. Left-to-right order is Vertical-Horizontal-Laptop. Xrandr config. Vertical on the left, horizontal aligned to top of the vertical, and laptop directly below that. Left-to-right order is Vertical-Horizontal-Laptop.
i3/home.sh **i3/home.sh**
Xrandr config. Not a layout I currently use. Home is now the "stacked" view from sway/displays. Xrandr config. Not a layout I currently use. Home is now the "stacked" view from sway/displays.
## Rofi ## Rofi
(Rofi)[https://github.com/davatorium/rofi] is a neat graphical launcher and menu system. I use it for a bunch of stuff to supplement i3 and Sway to fill out same desktop niceties. See configs in 'dotfiles' repository. [Rofi](https://github.com/davatorium/rofi) is a neat graphical launcher and menu system. I use it for a bunch of stuff to supplement i3 and Sway to fill out same desktop niceties. See configs in 'dotfiles' repository.
rofi/drun.sh **rofi/drun.sh**
Simple launcher. Simple launcher.
rofi/rofi-openvpn.sh **rofi/rofi-openvpn.sh**
Quick VPN switcher. Quick VPN switcher.
rofi/rofi-power-menu.sh **rofi/rofi-power-menu.sh**
Lock, log out, restart Sway/i3, restart waybar, hibernate, reboot, shutdown. Lock, log out, restart Sway/i3, restart waybar, hibernate, reboot, shutdown.
rofi/rofi-send-to-kodi.sh **rofi/rofi-send-to-kodi.sh**
Forward pasted link to ./send-to-kodi.sh. Forward pasted link to ./send-to-kodi.sh.
rofi/rofi-ssh-menu.sh **rofi/rofi-ssh-menu.sh**
Open a terminal to any SSH shortcut machine. (TODO: Integrate with 'sshs' to get machine list from there instead of a static list). Open a terminal to any SSH shortcut machine. (TODO: Integrate with 'sshs' to get machine list from there instead of a static list).
rofi/sway-alt-tab.sh **rofi/sway-alt-tab.sh**
Show all currently running applications in Sway to locate window. Show all currently running applications in Sway to locate window.
## Sway ## Sway
(Sway)[https://github.com/swaywm/sway] is an i3-compatible Wayland compositor and tiling window manager. See configs in 'dotfiles' repository. [Sway](https://github.com/swaywm/sway) is an i3-compatible Wayland compositor and tiling window manager. See configs in 'dotfiles' repository. Here are some scripts exclusively for automating or enhancing Sway.
sway/ **sway/displays.pl**
Scripts exclusively for automating or enhancing Sway.
sway/displays.pl
Script to automatically configure wayland outputs using swaymsg. Also forks waybars for each display. Allows custom configurations. No argument will run the last used configuration (~/config/last_display). '-w' will run only waybar without changing displays. Script to automatically configure wayland outputs using swaymsg. Also forks waybars for each display. Allows custom configurations. No argument will run the last used configuration (~/config/last_display). '-w' will run only waybar without changing displays.
sway/gammastep.pl **sway/gammastep.pl**
Setup Gammastep based on current location. Requires a URL that returns JSON, including a "lat" and "lon". My URL (restricted to my IPs) returns these as recorded by PhoneTrack on my phone similar to: Setup Gammastep based on current location. I don't have geolocation in my laptop, so this requires a URL that returns JSON, including a "lat" and "lon". My URL (restricted to my IPs) returns these as recorded by PhoneTrack on my phone similar to:
``` ```
{"lat":"180.12345678","lon":"-180.12345678","timestamp":"1599831660"} {"lat":"180.12345678","lon":"-180.12345678","timestamp":"1599831660"}
``` ```
It forks to keep running if terminal is killed. If location fails to be fetched it will try again every 5 seconds. It forks to keep running if terminal is killed to remove the need for nohup. If location fails to be fetched it will try again every 5 seconds.
sway/popup-term.pl **sway/popup-term.pl**
A DIY version of the Tilde terminal. If terminal is not running, it opens on the current display. If it is running but not on current dislpay, it moves to current display. If it is already on current display, it is moved to a hidden display ('grave'). A DIY version of the Tilde terminal. If terminal is not running, it opens on the current display. If it is running but not on current display, it moves to current display. If it is already on current display, it is moved to a hidden display ('grave').
Note the relevant settings in dotfiles repository (sway/config) related to the 'grave' workspace, as well as UXTerm. Note the relevant settings in dotfiles repository (sway/config) related to the 'grave' workspace, as well as UXTerm which is configured to open floating in the bottom corner.
``` ```
for_window [class="UXTerm"] floating enable, resize set height 600px, resize set width 800px, move position 1120px 460px for_window [class="UXTerm"] floating enable, resize set height 600px, resize set width 800px, move position 1120px 460px
@ -125,24 +102,62 @@ Also note that 'grave' has no label in waybar (waybar/config.template) to allow
... ...
``` ```
sway/swayidle.sh **sway/swayidle.sh**
**Work in progress** These scripts don't currently work the way I like. Work in progress. These scripts don't currently work the way I like.
Sway has an Idle detection daemon that can flexibly take different actions after certain periods of inactivity as well as prior to sleep and after wake. Sway has an Idle detection daemon that can flexibly take different actions after certain periods of inactivity as well as prior to sleep and after wake.
This script is meant to unify all of the actions into one script by accepting an option. This script is meant to unify all of the actions into one script by accepting an option.
sway/swayidlecountdown.sh **sway/swayidlecountdown.sh**
Prior to locking a countdown should be provided. Currently testing how to manage a countdown with Dunst, which doesn't actually support dynamic notifications. Prior to locking, a countdown should be provided. Currently testing how to manage a countdown with Dunst, which doesn't actually support dynamic notifications.
**sway/toggle_outputs**
Swap between detached and docked modes using `sway/displays.pl`. Bound to function key for external monitor button.
## Thinkpad
**thinkpad/blc.pl**
Overly complicated backlight brightness control script. Provides flexible control of backlight so that changes can be easily scripted or called from keyboard shortcuts. --help provides some usage docs.
**thinkpad/kbd_backlight.pl**
Simple script to cycle keyboard backlight. Gets max brightness, current brightness and then changes then increments the current brightness. Uses mod of max+1 so that it will cycle back around to 0 (disabled) if it is already at max.
**thinkpad/user-thinkpad-control@.service**
SystemD unit file used to give ownership of necessary sys files to whichever user it is enabled for `systemctl enable user-thinkpad-control@jpm`. Without this, the user won't be able to write these files and thus cannot set brightness values.
## Waybar
[Waybar](https://github.com/Alexays/Waybar) is a very flexible and customizable taskbar for Sway (and other Wlroots-based wayland compositors). Waybar applets have hover and click functionality and have several scripts related to those. See the .config repository for the actual Waybar and Sway configs.
**waybar/waybar-cpu.sh**
Launch htop in floating window (bottom-right). If already running, kill it.
**waybar/waybar-disk.sh**
Notification with disk usage summaries. Renders properly with Dunst, but not Mako.
**waybar/waybar-mem.sh**
Notification with memory usage summaries.
**waybar/waybar-nmtui.sh**
Launch nmtui in floating window (bottom-right). If already running, kill it.
## Miscellaneous ## Miscellaneous
send-to-kodi.sh **send-to-kodi.sh**
(This script)[https://github.com/allejok96/send-to-kodi] sends a URL or local file to a (Kodi)[https://github.com/xbmc] media player. Only modified to have my local media server IP. [This script](https://github.com/allejok96/send-to-kodi) sends a URL or local file to a [Kodi](https://github.com/xbmc) media player. Only modified to have my local media server IP.
apply-gruvbox.sh **apply-gruvbox.sh**
A single theme version of the one provided (here)[https://raw.githubusercontent.com/Mayccoll/Gogh]. Applies the theme to a variety of terminals. Not really necessary after cloning the 'dotfiles' repository. A single theme version of the one provided [here](https://raw.githubusercontent.com/Mayccoll/Gogh). Applies the theme to a variety of terminals. Not really necessary after cloning the 'dotfiles' repository.