mirror of
https://github.com/dustinkirkland/byobu
synced 2025-08-22 14:24:39 -07:00
* usr/bin/byobu-modrian:
- add a new, fun script
This commit is contained in:
parent
9ea4ee2f5f
commit
6d3b563936
2 changed files with 71 additions and 1 deletions
3
debian/changelog
vendored
3
debian/changelog
vendored
|
@ -1,6 +1,7 @@
|
||||||
byobu (4.49) unreleased; urgency=low
|
byobu (4.49) unreleased; urgency=low
|
||||||
|
|
||||||
* UNRELEASED
|
* usr/bin/byobu-modrian:
|
||||||
|
- add a new, fun script
|
||||||
|
|
||||||
-- Dustin Kirkland <kirkland@ubuntu.com> Mon, 14 Nov 2011 17:43:02 -0600
|
-- Dustin Kirkland <kirkland@ubuntu.com> Mon, 14 Nov 2011 17:43:02 -0600
|
||||||
|
|
||||||
|
|
69
usr/bin/byobu-modrian
Executable file
69
usr/bin/byobu-modrian
Executable file
|
@ -0,0 +1,69 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# byobu-modrian: randomly generate some Modrian art in tmux
|
||||||
|
#
|
||||||
|
# Copyright (C) 2011 Dustin Kirkland
|
||||||
|
#
|
||||||
|
# Authors: Dustin Kirkland <dustin.kirkland@gmail.com>
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, version 3 of the License.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
get_random_pane() {
|
||||||
|
local panes=$(tmux list-panes | wc -l)
|
||||||
|
r=$((RANDOM % 4))
|
||||||
|
while [ $r = "$LAST_PANE" ]; do
|
||||||
|
r=$((RANDOM % 4))
|
||||||
|
done
|
||||||
|
LAST_PANE="$r"
|
||||||
|
echo "$r"
|
||||||
|
}
|
||||||
|
|
||||||
|
red_color=196
|
||||||
|
yellow_color=226
|
||||||
|
blue_color=57
|
||||||
|
white_color=231
|
||||||
|
|
||||||
|
# Get number of splits
|
||||||
|
[ -n "$1" ] && TOTAL_SPLITS=$1 || TOTAL_SPLITS=10
|
||||||
|
# Choose 1 red, 1 yellow, 1 blue
|
||||||
|
nums=$(rand -N 3 -M $TOTAL_SPLITS -u)
|
||||||
|
red=$(echo "$nums" | awk '{print $1}')
|
||||||
|
yellow=$(echo "$nums" | awk '{print $2}')
|
||||||
|
blue=$(echo "$nums" | awk '{print $3}')
|
||||||
|
directions=$(rand -N TOTAL_SPLITS -M 2)
|
||||||
|
|
||||||
|
# Create some splits
|
||||||
|
tmux new-window -n modrian "solid_color $white_color"
|
||||||
|
tmux set-option -g pane-active-border-bg default
|
||||||
|
tmux set-option -g pane-active-border-fg default
|
||||||
|
for i in $(seq 0 $((TOTAL_SPLITS-1))); do
|
||||||
|
case $i in
|
||||||
|
$red) color=$red_color ;;
|
||||||
|
$yellow) color=$yellow_color ;;
|
||||||
|
$blue) color=$blue_color ;;
|
||||||
|
*) color=$white_color ;;
|
||||||
|
esac
|
||||||
|
CMD="solid_color $color"
|
||||||
|
case "$(head -c 10 /dev/urandom | md5sum | head -c1)" in
|
||||||
|
0|1|2|3|4|5|6|7) SPLIT="-v" ;;
|
||||||
|
8|9|a|b|c|d|e|f) SPLIT="-h" ;;
|
||||||
|
esac
|
||||||
|
if ! tmux split-window $SPLIT -t $(get_random_pane) "$CMD" ; then
|
||||||
|
case "$i" in
|
||||||
|
$red) red=$((red+1)) ;;
|
||||||
|
$yellow) yellow=$((yellow+1)) ;;
|
||||||
|
$blue) blue=$((blue+1)) ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
#sleep 0.1
|
||||||
|
done
|
Loading…
Add table
Add a link
Reference in a new issue