Reworked the panel. Now it's a mode, like ratpoison mode. New items include panel mode w for weather, and panel mode s for system information. More coming if this turns out to work well. New dependencies added to readme.
This commit is contained in:
60
i38.sh
60
i38.sh
@@ -33,6 +33,11 @@ if [[ -n "${missing}" ]]; then
|
||||
echo "${missing[*]}"
|
||||
exit 1
|
||||
fi
|
||||
if ! command -v pandoc &> /dev/null && ! command -v markdown &> /dev/null ; then
|
||||
echo "Please install either pandoc or markdown."
|
||||
echo "The markdown command may be provided by the package discount."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
keyboard_menu() {
|
||||
keyboardMenu=("us" "English (US)"
|
||||
@@ -539,9 +544,6 @@ bindsym Control+F8 workspace number \$ws8, exec --no-startup-id ${i3Path}/script
|
||||
bindsym Control+F9 workspace number \$ws9, exec --no-startup-id ${i3Path}/scripts/announce_workspace.sh
|
||||
bindsym Control+F10 workspace number \$ws10, exec --no-startup-id ${i3Path}/scripts/announce_workspace.sh
|
||||
|
||||
# This is sort of a fake panel where some useful but seldom interacted with applications can live.
|
||||
bindsym Control+Mod1+Tab workspace number 11, exec --no-startup-id ${i3Path}/scripts/announce_workspace.sh
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym Control+Shift+F1 move container to workspace number \$ws1, exec spd-say -P important -Cw "moved to workspace 1"
|
||||
bindsym Control+Shift+F2 move container to workspace number \$ws2, exec spd-say -P important -Cw "moved to workspace 2"
|
||||
@@ -578,6 +580,23 @@ if [[ ${#kbd[@]} -gt 1 ]]; then
|
||||
echo "bindsym Mod4+space exec ${i3Path}/scripts/keyboard.sh cycle ${kbd[@]}" >> ${i3Path}/config
|
||||
fi
|
||||
|
||||
# Create panel mode
|
||||
cat << EOF >> ${i3Path}/config
|
||||
# Panel mode configuration
|
||||
bindsym Control+Mod1+Tab mode "panel"
|
||||
mode "panel" {
|
||||
# Weather information bound to w
|
||||
bindsym w exec --no-startup-id ${i3Path}/scripts/weather.sh, mode "default"
|
||||
|
||||
# System information bound to s
|
||||
bindsym s exec --no-startup-id ${i3Path}/scripts/sysinfo.sh, mode "default"
|
||||
|
||||
# Exit panel mode without any action
|
||||
bindsym Escape mode "default"
|
||||
bindsym Control+g mode "default"
|
||||
}
|
||||
EOF
|
||||
|
||||
# Create ratpoison mode if requested.
|
||||
if [[ -n "${escapeKey}" ]]; then
|
||||
cat << EOF >> ${i3Path}/config
|
||||
@@ -641,7 +660,7 @@ bindsym Mod1+Shift+u exec --no-startup-id play -qV0 "| sox -np synth 0.03 sin 20
|
||||
#Check battery status
|
||||
bindsym Mod1+b exec --no-startup-id ${i3Path}/scripts/battery_status.sh, mode "default"
|
||||
#Check controller battery status
|
||||
bindsym g exec ${i3Path}/scripts/game_controler.sh -s, mode "default"
|
||||
bindsym g exec ${i3Path}/scripts/game_controller.sh -s, mode "default"
|
||||
# Get a list of windows in the current workspace
|
||||
bindsym apostrophe exec --no-startup-id ${i3Path}/scripts/window_list.sh, mode "default"
|
||||
# Restart Cthulhu
|
||||
@@ -676,7 +695,7 @@ fi
|
||||
|
||||
cat << EOF >> ${i3Path}/config
|
||||
# Auto start section
|
||||
$(if [[ $sounzzds -eq 0 ]]; then
|
||||
$(if [[ $sounds -eq 0 ]]; then
|
||||
if [[ $usingSway -eq 0 ]]; then
|
||||
echo "exec --no-startup-id ${i3Path}/scripts/sound.py"
|
||||
else
|
||||
@@ -725,19 +744,34 @@ fi)
|
||||
# First run help documentation
|
||||
exec --no-startup-id bash -c 'if [[ -f "${i3Path}/firstrun" ]]; then ${webBrowser} "${i3Path}/I38.html"& rm "${i3Path}/firstrun"; fi'
|
||||
|
||||
# Fake panel setup
|
||||
exec --no-startup-id i3-msg 'workspace 11; workspace 1'
|
||||
|
||||
# If you want to add personal customizations to i3, add them in ${i3Path}/customizations
|
||||
# It is not overwritten when the config file is recreated.
|
||||
include "${i3Path}/customizations"
|
||||
# Applications that will be placed in workspace 11, which we use as a sort of fake panel.
|
||||
include "${i3Path}/panel.conf"
|
||||
EOF
|
||||
touch "${i3Path}/customizations"
|
||||
cp -v panel.conf "${i3Path}/panel.conf"
|
||||
# Move html help file to destination
|
||||
cp -v I38.html "${i3Path}/I38.html"
|
||||
# Check for markdown or pandoc for converting the welcome document
|
||||
if command -v pandoc &> /dev/null ; then
|
||||
pandoc -f markdown -t html "I38.md" -so "${i3Path}/I38.html" --metadata title="Welcome to I38"
|
||||
elif command -v markdown &> /dev/null ; then
|
||||
cat << EOF > "${i3Path}/I38.html"
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Welcome to I38</title>
|
||||
<meta charset="utf-8">
|
||||
</head>
|
||||
<body>
|
||||
EOF
|
||||
|
||||
# Convert markdown to html and append to the file
|
||||
markdown "I38.md" >> "${i3Path}/I38.html"
|
||||
|
||||
# Close the HTML tags using heredoc
|
||||
cat << EOF >> "${i3Path}/I38.html"
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
fi
|
||||
|
||||
# More readable version of variables.
|
||||
escapeKey="${escapeKey//Mod1/Alt}"
|
||||
|
Reference in New Issue
Block a user