diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2018-03-07 03:22:09 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2018-03-07 03:22:09 -0300 |
commit | 21b26f642c1afc411a7d7c49fd786ecdc22731f9 (patch) | |
tree | 8acfe55049aadabd5fcb407cb4ea5ce7e5f3707b /session | |
parent | 98963206630584d7903f5cb5b6c094e5d20cca64 (diff) | |
download | utils-x11-21b26f642c1afc411a7d7c49fd786ecdc22731f9.tar.gz utils-x11-21b26f642c1afc411a7d7c49fd786ecdc22731f9.tar.bz2 |
Merge sessions with browser-sessions
Diffstat (limited to 'session')
-rwxr-xr-x | session | 120 |
1 files changed, 102 insertions, 18 deletions
@@ -1,31 +1,115 @@ #!/bin/bash # -# Open a work session, which might consist on VIM, tmux, etc sessions. +# Open a work session, which might consist of VIM, tmux, etc sessions. # # Parameters BASENAME="`basename $0`" -SESSION="$1" + +# TODO: config file to restrict which sessions we'll use +# TODO: sort by session name, listing applications for each session +function __session_list { + # VIM + if [ -e "$HOME/.local/share/vim/sessions" ]; then + echo -n "vim: " + ls $HOME/.local/share/vim/sessions | sed -e 's/\.vim//g' | xargs + fi + + # Tmux + if [ -d "$HOME/.tmux" ]; then + echo -n "tmux: " + ls $HOME/.tmux + fi + + # TODO + # Screen + + # Luakit + if [ -d "$HOME/.local/share/luakit/sessions" ]; then + echo -n "luakit: " + ls $HOME/.local/share/luakit/sessions | xargs + fi + + # Qutebrowser + if [ -d "$HOME/.local/share/qutebrowser" ]; then + echo -n "qutebrowser: " + ls $HOME/.local/share/qutebrowser/ | xargs + fi + + # Chromium + if [ -d "$HOME/.config/chromium-profiles" ]; then + echo -n "chromium: " + ls $HOME/.config/chromium-profiles | xargs + fi + + # Firefox + if [ -d "$HOME/.mozilla/firefox/profiles" ]; then + echo -n "firefox: " + ls $HOME/.mozilla/firefox/profiles | xargs + fi +} + +# TODO +function __session_choser { + true +} + +# TODO: config file to restrict which sessions we'll use +# TODO: check if the program is installed before running it +function __session_open { + SESSION="$1" + + # Check VIM session + if [ -e "$HOME/.local/share/vim/sessions/$SESSION.vim" ]; then + terminal vim -S $HOME/.local/share/vim/sessions/$SESSION.vim & + fi + + # Check tmux session + if [ -e "$HOME/.tmux/$SESSION" ]; then + terminal shell $SESSION & + fi + + # TODO + # Screen + + # Luakit + # TODO: how to open luakit in a given session from the command line? + #if [ -e "$HOME/.local/share/luakit/sessions/$SESSION" ]; then + #fi + + # TODO + # Qutebrowser + #if [ -d "$HOME/.local/share/qutebrowser/$SESSION" ]; then + # qutebrowser -r $SESSION + #fi + + # TODO + # Chromium + #if [ -d "$HOME/.config/chromium-profiles/$SESSION" ]; then + # chromium-profile $SESSION + #fi + + # TODO + # Firefox + #if [ -d "$HOME/.mozilla/firefox/profiles" ]; then + # firefox-profile $SESSION + #fi +} # Check syntax -if [ -z "$SESSION" ]; then +if [ -z "$1" ]; then echo "usage: $BASENAME [--list|--choser] <session>" + echo "available sessions:" + echo "" + __session_list exit 1 fi -# Check VIM session -if [ -e "$HOME/.local/share/vim/sessions/$SESSION.vim" ]; then - terminal vim -S $HOME/.local/share/vim/sessions/$SESSION.vim & -fi - -# Check tmux session -if [ -e "$HOME/.tmux/$SESSION" ]; then - terminal shell $SESSION & -fi - +if echo "$1" | grep -q -- '--list'; then + __session_list # TODO -# Check browser session -#BROWSWER="`browser-sessions | grep -E " code ?" | cut -d : -f 1`" -#if [ ! -z "$BROWSER" ]; then -# # Open browser in the given session -#fi +#if echo "$1" | grep -q -- '--choser'; then +# __session_choser +else + __session_open $* +fi |