Zenity GUI to a Shell Script

Published on Oct. 21, 2007

I have to admit, I'm pretty lazy. I don't (ironically) like to type, and I really don't like typing the same command over and over. I found myself switching between my external monitor and laptop quite frequently, and decided to somewhat automate the task. Although I know there are other programs out there that allow this, they either had too many features, or crashed. Xrandr works just fine, but like I said, I'm lazy...

Enter Zenity. Initially I created a PyGTK monitor switcher, yet wanted something even simpler. If you aren't in the know, Zenity allows you to create super fast, super simple dialogs to regular commands. After you click "ok", the command is executed, and the dialog disappears. Perfect for switching displays.

And here is the simplistic code behind it:


#!/bin/sh

ans=$(zenity  --list  --text "How do you want to switch your monitor?" \
--radiolist  --column "Pick" --column "Output Type" TRUE LCD FALSE VGA \
 FALSE Both);

if [ "$ans" = "LCD" ]
then
        xrandr --output VGA --off
        xrandr --output LVDS --auto
elif [ "$ans" = "VGA" ]
then
        xrandr --output LVDS --off
        xrandr --output VGA --auto
elif [ "$ans" = "Both" ]
then
        xrandr --output VGA --auto
        xrandr --output LVDS --mode 1024x768
fi


I send a big cheers and thanks to the Zenity guys, I'll surely use this quick language more frequently.



Tagged as: gui | linux | python | zenity
blog comments powered by Disqus

About this page

This entry is from my tech blog and was written on Oct. 21, 2007. It's been tagged with gui and linux and python and zenity.

Via Twitter

Just saw a large white parrot try to steal the clothing from someone's drying rack. (about 2 weeks, 5 days ago)

Related Readings

Book Book Book Book