~nijaba/byobu/configure-keybindings

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
#
#    GNU screen-profiles-helper
#    Copyright (C) 2008 Canonical Ltd.
#
#    Authors: Nick Barcet <nick.barcet@ubuntu.com>
#             Dustin Kirkland <kirkland@canonical.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; either version 2 of the License, or
#    (at your option) any later version.
#
#    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, write to the Free Software Foundation, Inc.,
#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.


install_screen_launcher() {
	dest=$1
	launcher="/usr/bin/screen-launcher"
	# We have to make sure screen is called last
	pos=$(( $(grep -ns "$launcher" "$dest" | sed 's/:.*$//' | head -1) ))

	do=0
	if [ $pos -gt 0 ]; then
		if [ $pos -lt $(( $(wc -l "$dest" | sed "s/ .*$//") -2)) ]; then
			# We have to reposition the line at the end
			# First remove it
			sed -ibak '/screen-launcher/d' "$dest"
			do=1
		fi
	else
		do=1
	fi
	# Add it at the end
	if [ $do -eq 1 ]; then
		echo "$launcher" >> "$dest"
	fi
}

install_screen_launcher "$HOME/.bashrc"
install_screen_launcher "$HOME/.bash_profile"