For the gamers out there, you know exactly what I'm talking about. I've never been big with gaming, but the idea of having a shortcut to shade a terminal window and bring it back whenever I want is pretty neat.
I already run a small terminal window as part of my desktop, but sometimes its not as flexible as a normal window. I'll write a post on how to use a terminal as a desktop background in the future. For now you can see a pic here.
To achieve what we want we will use a utility called wmctrl, which is on the Ubuntu repos (if I'm not mistaken the Universe repo). There are other ways you can achieve the same (like Tilda).
$ sudo apt-get install wmctrl |
wmctrl bases it's commands on window name, so to make sure you have the proper name for the terminal window, open it with the desired profile and type:
$ wmctrl -l 0x03800021 -1 hostname Left 0x03c000cc 0 hostname Jinzora Media Jukebox - Genres - Mozilla Firefox 0x01407084 1 hostname blog - File Browser 0x04400057 1 hostname quake-terminal - OpenOffice.org Writer 0x0380859b 1 hostname victor@hostname: ~ |
These are the list of windows I have open. My terminal window is called “victor@hostname”, so this is the name I'm going to use. Next, I'll open my favorite text editor and add the following lines to a script:
#!/bin/bash if [ -f ~/bin/temp/quake ] ; then wmctrl -r 'victor@hostname: ~' -b remove,below wmctrl -r 'victor@hostname: ~' -b remove,shaded rm -r ~/bin/temp/quake else wmctrl -r 'victor@hostname: ~' -b add,below wmctrl -r 'victor@hostname: ~' -b add,shaded touch ~/bin/temp/quake fi |
Here's a breakdown to make it easy. I have a folder on /home/victor/bin with many scripts I created, so I'll add this one as well, and I called it ter-quake.sh. Next, I created a temp folder inside my bin folder to generate a file that will check if my script was run previously or not. And here's the explanation for the script
#!/bin/bash ## This first line checks if the file /bin/temp/quake was created, which meas the script was run before if [ -f ~/bin/temp/quake ] ; then ## if the script was run before, it will unshade the terminal window and place it on top wmctrl -r 'victor@victor-laptop: ~' -b remove,below wmctrl -r 'victor@victor-laptop: ~' -b remove,shaded ## here we remove the file rm -r ~/bin/temp/quake ## otherwise, if the file does not exist else ## the sript will shade the window, place it bellow all others and... wmctrl -r 'victor@victor-laptop: ~' -b add,below wmctrl -r 'victor@victor-laptop: ~' -b add,shaded ## create the file touch ~/bin/temp/quake fi |
Save the script and make it executable:
$ sudo chmod a+x ~/bin/ter-quake.sh |
Last step, we will add a keyboard shortcut for the script. I've achieved that by using gnome's gconf-editor:
- Type “Alt+F2” and enter “gconf-editor”
- Browse to “/apps/metacity/keybinding_commands”
- Choose any of the empty commands and add the path to your script
- Go to “/apps/metacity/global_keybindings” and under “run_command_#” add the shortcut you would like to use. I've used
Vic.
Note: This is another useful topic from Linux Journal that I wanted to share. Issue 167. Link
No comments:
Post a Comment