aboutsummaryrefslogtreecommitdiff
path: root/session
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2018-03-08 11:52:13 -0300
committerSilvio Rhatto <rhatto@riseup.net>2018-03-08 11:52:13 -0300
commit5a549cfc94c5325b92514ae98a1c176b93d5640c (patch)
tree3008c4c1608668e30cfd28867c6044f21baa4b68 /session
parent01d1fa9a120f160b4281d3f8c014ec2103e0722f (diff)
downloadutils-x11-5a549cfc94c5325b92514ae98a1c176b93d5640c.tar.gz
utils-x11-5a549cfc94c5325b92514ae98a1c176b93d5640c.tar.bz2
Support for custom sessions
Diffstat (limited to 'session')
-rwxr-xr-xsession24
1 files changed, 23 insertions, 1 deletions
diff --git a/session b/session
index 3f9f03a..e9884e6 100755
--- a/session
+++ b/session
@@ -7,7 +7,9 @@
# Parameters
NAME="$0"
BASENAME="`basename $0`"
-IGNORE="$HOME/.config/session-ignore"
+CONFIG="$HOME/.config/session"
+CUSTOM="$CONFIG/custom"
+IGNORE="$CONFIG/ignore"
# Check if a given program is not being ignored by configuration
function __session_not_ignored {
@@ -28,6 +30,11 @@ function __session_not_ignored {
# Query for program sessions
function __session_query {
+ # Custom
+ if __session_not_ignored custom && [ -d "$CUSTOM" ]; then
+ ls -1 $CUSTOM
+ fi
+
# VIM
if __session_not_ignored vim && [ -e "$HOME/.local/share/vim/sessions" ]; then
ls -1 $HOME/.local/share/vim/sessions | sed -e 's/\.vim//g'
@@ -70,6 +77,13 @@ function __session_list {
__session_query | sort | uniq | while read session; do
echo -en "$n. $session:"
+ # Custom
+ if __session_not_ignored custom && [ -e "$CUSTOM/$session" ]; then
+ echo -n " custom"
+ #else
+ # echo " -"
+ fi
+
# Check VIM session
if __session_not_ignored vim && [ -e "$HOME/.local/share/vim/sessions/$session.vim" ]; then
echo -n " vim"
@@ -156,6 +170,11 @@ function __session_exec {
function __session_open {
SESSION="$1"
+ # Custom
+ if __session_not_ignored custom && [ -e "$CUSTOM/$SESSION" ]; then
+ __session_exec $CUSTOM/$SESSION
+ fi
+
# Check VIM session
if __session_not_ignored vim && [ -e "$HOME/.local/share/vim/sessions/$SESSION.vim" ]; then
if which vim &> /dev/null; then
@@ -205,6 +224,9 @@ function __session_open {
fi
}
+# Ensure config folders exist
+mkdir -p $CONFIG $CUSTOM
+
# Dispatch
if [ "$BASENAME" == "session-list" ]; then
__session_list