Showing posts with label scripting. Show all posts
Showing posts with label scripting. Show all posts

Saturday, October 24, 2009

The External Grid Selector Script, Version 0.2

Okay, I've managed to implement simple autodetection of Second Life, Emerald and Snowglobe viewers to the script thanks to the elegant find command. So here's the code so far:

=========

#!/usr/bin/env bash

#Second Life Grid Selector and Client Launcher
#A simple grid manager for the official Second Life viewer,Emerald and Snowglobe
#(C) 2009 Jose A. Agudo aka Second Life resident Antonius Misfit
#Licensed under the terms of the GNU General Public License v3 or at your option any later version

viewer=$(zenity --list --title="Viewer Chooser" --text="Choose a viewer:" --column="Viewers" $(find SecondLife*/secondlife GreenLife*/secondlife Snowglobe*/snowglobe))

#retrieve grid "database" which is simply a bash array variable sourced from a file
if [ -e $HOME/.grids.db ];then
source $HOME/.grids.db
else
cat > $HOME/.grids.db << EOF
#Feel free to add grids here

grids=("Second_Life" https://login.agni.lindenlab.com/cgi-bin/login.cgi "Localhost" http://127.0.0.1:9000 "3rdrock" http://grid.3rdrockgrid.com:8002/ "OSGrid" http://osgrid.org:8002/ "NixTech_Forge" http://97.107.142.118:9300/)
EOF
source $HOME/.grids.db
fi

main()
{
action=$(zenity --list --title="SL Grid Launcher" --text="Choose a grid:" --column="Grids" --column="Login URI" --print-column="2" ${grids[@]:0} "Exit" "Exit")
case $action in
Exit) exit;;
*) $viewer --loginuri=$action;;
esac
}
main

=========

Thursday, October 22, 2009

The External Grid Selector script for Second Life/Snowglobe and Emerald viewers

I had promised to post this once I polished it up, but I think it's usable enough in it's present form to be considered as a 0.1 release. So here's the code:

==================
#!/usr/bin/env bash

#Second Life Grid Selector and Client Launcher
#A simple grid manager for the official Second Life viewer,Emerald and Snowglobe
#(C) 2009 Jose A. Agudo aka Second Life resident Antonius Misfit
#Licensed under the terms of the GNU General Public License v3 or at your option any later version

viewer=$(zenity --file-selection --title="Client viewer to run:" 2>&1)

#retrieve grid "database" which is simply a bash array variable sourced from a file
if [ -e $HOME/.grids.db ];then
 source $HOME/.grids.db
else
 cat > $HOME/.grids.db << EOF
#Feel free to add grids here
grids=("Second_Life" https://login.agni.lindenlab.com/cgi-bin/login.cgi "Localhost" http://127.0.0.1:9000 "3rdrock" http://grid.3rdrockgrid.com:8002/ "OSGrid" http://osgrid.org:8002/ "NixTech_Forge" http://97.107.142.118:9300/)
EOF
 source $HOME/.grids.db
fi

main()
{
action=$(zenity --list --title="SL Grid Launcher" --text="Choose a grid:" --column="Grids" --column="Login URI" --print-column="2" ${grids[@]:0} "Exit" "Exit")
case $action in
 Exit) exit;;
 *) $viewer --loginuri=$action;;
esac
}

main
================

There's definitely room for improvement, such as the possibility of using an online database of grids and choosing from an autodetected list of clients instead of manually choosing a viewer via file selection. I'll be working on those features, but if you have any other ideas, let me know in the comments.

Project Proposal: gnome-container-session

Technical Proposal: The gnome-container-session Project This document presents a formal proposal to the maintainers and developers of non-s...