diff --git a/i38.sh b/i38.sh index 8d65a02..b2d8ff5 100755 --- a/i38.sh +++ b/i38.sh @@ -15,7 +15,7 @@ usingSway=1 # Not by default. i3Path="${XDG_CONFIG_HOME:-$HOME/.config}/i3" i3msg="i3-msg" -sensibleTerminal="i3-sensible-terminal" + # Dialog accessibility export DIALOGOPTS='--no-lines --visit-items' @@ -263,7 +263,6 @@ while getopts "${args}" i ; do usingSway=0 i3msg="swaymsg" i3Path="${XDG_CONFIG_HOME:-$HOME/.config}/sway" - sensibleTerminal="sway --sensible-terminal" ;; u) update_scripts;; x) write_xinitrc ;& @@ -456,7 +455,7 @@ bindsym \$mod+Control+Delete exec --no-startup-id sgtk-bar # Use pactl to adjust volume in PulseAudio. bindsym \$mod+XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +${volumeJump}% & play -qnG synth 0.03 sin 440 bindsym \$mod+XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -${volumeJump}% & play -qnG synth 0.03 sin 440 -bindsym \$mod+XF86AudioMute exec --no-startup-id ${i3Path}/scripts/mute-unmute.sh +bindsym \$mod+XF86AudioMute exec --no-startup-id ${i3Path}/scrip/ts/mute-unmute.sh # Music player controls # Requires playerctl. @@ -470,7 +469,7 @@ bindsym XF86AudioStop exec --no-startup-id play -qV0 "| sox -np synth 0.03 sin 2 bindsym XF86AudioNext exec --no-startup-id play -qV0 "| sox -np synth 0.03 sin 2000 pad 0 .02" "| sox -np synth 0.03 sin 2000" norm 1.0 vol 0.4 & ${i3Path}/scripts/music_controler.sh next # start a terminal -bindsym \$mod+Return exec $sensibleTerminal +bindsym \$mod+Return exec ${i3Path}/scripts/i3-sensible-terminal # kill focused window bindsym \$mod+F4 kill diff --git a/scripts/i3-sensible-terminal b/scripts/i3-sensible-terminal new file mode 100755 index 0000000..bee303f --- /dev/null +++ b/scripts/i3-sensible-terminal @@ -0,0 +1,23 @@ +#!/bin/sh +# +# This code is released in public domain by Han Boetes +# +# This script tries to exec a terminal emulator by trying some known terminal +# emulators. +# +# We welcome patches that add distribution-specific mechanisms to find the +# preferred terminal emulator. On Debian, there is the x-terminal-emulator +# symlink for example. +# +# Invariants: +# 1. $TERMINAL must come first +# 2. Distribution-specific mechanisms come next, e.g. x-terminal-emulator +# 3. The terminal emulator with best accessibility comes first. +# 4. No order is guaranteed/desired for the remaining terminal emulators. +for terminal in "$TERMINAL" x-terminal-emulator mate-terminal gnome-terminal terminator xfce4-terminal urxvt rxvt termit Eterm aterm uxterm xterm roxterm termite lxterminal terminology st qterminal lilyterm tilix terminix konsole kitty guake tilda alacritty hyper wezterm; do + if command -v "$terminal" > /dev/null 2>&1; then + exec "$terminal" "$@" + fi +done + +i3-nagbar -m 'i3-sensible-terminal could not find a terminal emulator. Please install one.'