diff --git a/openbox_files.sh b/openbox_files.sh new file mode 100755 index 0000000..90b7e74 --- /dev/null +++ b/openbox_files.sh @@ -0,0 +1,38 @@ +#!/bin/sh +ssh_config_file="$HOME/.ssh/config" + +get_locations(){ + if ! grep -q "SSHFS Mount " "$ssh_config_file" + then + echo "" + echo " " + echo " $HOME/.local/bin/sshfs_gui.sh" + echo " " + echo "" + else + while read -r line + do + location_path="" + if echo "$line" | grep -q "SSHFS Mount " + then + location_path=$(echo "$line" | rev | cut -f 1 -d ' ' | rev) + location_name=$(basename "$location_path") + echo "" + echo " " + echo " thunar $location_path" + echo " " + echo "" + fi + done < "$ssh_config_file" + fi +} + +echo "" +echo "" +echo " " +echo " thunar" +echo " " +echo "" +echo "" + get_locations +echo "" diff --git a/setup.sh b/setup.sh old mode 100644 new mode 100755 diff --git a/setup_gui.sh b/setup_gui.sh old mode 100644 new mode 100755 diff --git a/sshfs_gui.sh b/sshfs_gui.sh old mode 100644 new mode 100755 index 3af8bcf..c8c54ef --- a/sshfs_gui.sh +++ b/sshfs_gui.sh @@ -1,5 +1,7 @@ #!/bin/sh +setup_script_path="$HOME/.local/bin/setup_gui.sh" + eval "$(xdotool getmouselocation --shell)" mouse_x=$X mouse_y=$Y @@ -84,10 +86,22 @@ get_info() { --field="Server Shortname":CB \ --field="Local Directory" \ --field="Remote Directory" \ + --button="Configure Servers...":2 \ --button="Cancel":1 \ --button="Continue":0 \ "$ssh_config_file" "$server_name" "$sshfs_local_path" "$sshfs_remote_path") - [ $? -ne 0 ] && exit # Shellcheck will yell at me for this, perhaps find a better way? + info_return="$?" + if [ $info_return -eq 1 ] + then + exit + elif [ $info_return -eq 2 ] + then + if ! "$setup_script_path" + then + error_box "Could not run $setup_script_path" + get_info + fi + fi server_name=$(get_field 2 "$info") sshfs_local_path=$(get_field 3 "$info")