I've got scripts I've made for calling up windows and doing different actions.
For instance I have the GTK version of Emacs open running pretty much constantly in server-mode. In this mode I have 'emacsclients' programs that open various text files and such. When they open a file it sends it to the already running emacs session and opens up in a new buffer. I have 6 virtual desktops open with various windows and other crap running. I open up a text file from the command line, from the web browser (say, 'show source') or from the file manager it doesn't matter. They all open it up using emacsclient.
Then by hitting one of those extra 'multimedia' buttons on my keyboard it goes and finds the emacs session for me, brings it to whatever virtual desktop I am on, moves it to the front, and focuses on it. It's easy and with the Emacs gui I can use key bindings (setup for vi-like bindings) or use the mouse or anything else I want. It's pretty mindless and it's instant.
I don't even have to alt-tab.
That's just one example.
The emacs-find button actually runs a bash script, which I wrote and tested from teh command line. Took me a whole 7 minutes to write it. Here it is:
if wmctrl -R emacs-snapshot-gtk; then true ;else emacs-snapshot-gtk;fi
It tries to switch to emacs, if it fails it just launches a new editor.
Another example is my media player. My keyboard is just a 'HP Internet keyboard', and it only has one button for media playing.
For music I have 'mpd' running in the background. Its just a service that runs with no GUI or command line or anything that runs and just plays music. I can play most common formats on it no problem, and I have several internet music feeds I use from it.
If I hit the play/pause button on my keyboard it toggles pause/play.
If I hit alt-play then it plays the next song.
if I hit ctrl-play then it plays the previous song.
if I hit ctrl-alt-play then it stops it.
if I hit shift-play then it either launches the GUI front-end for it, or if a GUI front end is already running it will find it, bring it to the front and change focus to it.
From that Gui-front end I can see the album art, or even read lyrics if I wanted to. I mostly use it just for building playlists.
I have a system monitoring application that runs in the background. Uses up almost no resources. Shows cpu load for each core. Has a graph with the history of cpu usage for the past 5 minutes or so. Has file system usage, network usage graphs and speeds, disk IO speed and graph, list system load, lists the top 4 most cpu intensive applications, top four most memory intensive applications, lists the number of current network connections, lists the seven newest connections by ip address and port.
I can view it with a simple keypress to switch desktops to a empty desktop, or a keypress to 'show desktop'.
I have multiple ways to launch applications. Only one of them requires a mouse.
1. hit the search button on my desktop.
This launches beagle-search. In there I type the name or the sort of application I want.
For instance if I search for python I get:
* launcher for python shell for python 2.4
If I hit enter it will launch it. Otherwise I can use the arrow buttons to show the other 2 selections, which is a interpretor for version 2.5, or IDLE Python integrated development envrionment.
* a Folder that contains a ebook for python development
* A montypython skit I downloaded from google video.
* some python scripts (3 are shown, 7 are aviable)
* A website from my browser history
* 31 links from my RSS feed reader.
If I search for 'card' I get:
* Gnome Blackjack game.
with extra results for Gnome Solitare game, and a application for displaying sound card information.
* 8 text files
* and 29 results from RSS feed reader.
and so on and so forth.
Also I have a 'beaglefs' user-space file system. I can 'mount' searches as directories that will gather results and make sym links to them and it will continue to gather them on the fly.
Like a virtual folder.
The second method for launching applications is through the gmrun application.
I hit Alt-F2 to launch it.
I has tab support and will allow me to cycle through possible application matches. It's quick. As long as I know the first 2-3 letters of the application name it takes me about 3 seconds to find it and launch it, if that.
The third method is to run applications from a terminal. This is usefull for things that require special switches for unusual functionality.
I hit my 'favorites' button on the keyboard and it will find a terminal, bring it to the front and change focus to it. If there is no terminal aviable then it launches one.
The the last method I use is through the debian menu. I can access it through right clicking on teh background or through the menu applet I have stuffed into one of the corners of the screen. Applications are not arranged according to maker, but the are arranged according to functionality. Like if I want 'Gimp' I go through app >> graphics >> The Gimp.
Needless to say the one were I am forced to use the mouse is the one that I use least. Although I can navigate through it with the keyboard arrow keys. I may end up binding a key to the menu, but I don't care anough to do that right now.
I also re-mapped my keyboard to get rid of the caps-lock key.
Then there are other silly things like that that I do. Sure it takes a bit to set them up, but it'll save me time over the long haul and also cuts down on distractiosn by a large margin when I am trying to concentrate on something. I don't have to stop typing and go hunting and pecking all over the place.
And I know that normal people wouldn't doing stuff like that, but it doesn't realy matter to me right now. If they want to have a fully GUI system to clicking around all day they can use full-on KDE or Gnome and most everything is GUI based.
For instance I have the GTK version of Emacs open running pretty much constantly in server-mode. In this mode I have 'emacsclients' programs that open various text files and such. When they open a file it sends it to the already running emacs session and opens up in a new buffer. I have 6 virtual desktops open with various windows and other crap running. I open up a text file from the command line, from the web browser (say, 'show source') or from the file manager it doesn't matter. They all open it up using emacsclient.
Then by hitting one of those extra 'multimedia' buttons on my keyboard it goes and finds the emacs session for me, brings it to whatever virtual desktop I am on, moves it to the front, and focuses on it. It's easy and with the Emacs gui I can use key bindings (setup for vi-like bindings) or use the mouse or anything else I want. It's pretty mindless and it's instant.
I don't even have to alt-tab.
That's just one example.
The emacs-find button actually runs a bash script, which I wrote and tested from teh command line. Took me a whole 7 minutes to write it. Here it is:
if wmctrl -R emacs-snapshot-gtk; then true ;else emacs-snapshot-gtk;fi
It tries to switch to emacs, if it fails it just launches a new editor.
Another example is my media player. My keyboard is just a 'HP Internet keyboard', and it only has one button for media playing.
For music I have 'mpd' running in the background. Its just a service that runs with no GUI or command line or anything that runs and just plays music. I can play most common formats on it no problem, and I have several internet music feeds I use from it.
If I hit the play/pause button on my keyboard it toggles pause/play.
If I hit alt-play then it plays the next song.
if I hit ctrl-play then it plays the previous song.
if I hit ctrl-alt-play then it stops it.
if I hit shift-play then it either launches the GUI front-end for it, or if a GUI front end is already running it will find it, bring it to the front and change focus to it.
From that Gui-front end I can see the album art, or even read lyrics if I wanted to. I mostly use it just for building playlists.
I have a system monitoring application that runs in the background. Uses up almost no resources. Shows cpu load for each core. Has a graph with the history of cpu usage for the past 5 minutes or so. Has file system usage, network usage graphs and speeds, disk IO speed and graph, list system load, lists the top 4 most cpu intensive applications, top four most memory intensive applications, lists the number of current network connections, lists the seven newest connections by ip address and port.
I can view it with a simple keypress to switch desktops to a empty desktop, or a keypress to 'show desktop'.
I have multiple ways to launch applications. Only one of them requires a mouse.
1. hit the search button on my desktop.
This launches beagle-search. In there I type the name or the sort of application I want.
For instance if I search for python I get:
* launcher for python shell for python 2.4
If I hit enter it will launch it. Otherwise I can use the arrow buttons to show the other 2 selections, which is a interpretor for version 2.5, or IDLE Python integrated development envrionment.
* a Folder that contains a ebook for python development
* A montypython skit I downloaded from google video.
* some python scripts (3 are shown, 7 are aviable)
* A website from my browser history
* 31 links from my RSS feed reader.
If I search for 'card' I get:
* Gnome Blackjack game.
with extra results for Gnome Solitare game, and a application for displaying sound card information.
* 8 text files
* and 29 results from RSS feed reader.
and so on and so forth.
Also I have a 'beaglefs' user-space file system. I can 'mount' searches as directories that will gather results and make sym links to them and it will continue to gather them on the fly.
Like a virtual folder.
The second method for launching applications is through the gmrun application.
I hit Alt-F2 to launch it.
I has tab support and will allow me to cycle through possible application matches. It's quick. As long as I know the first 2-3 letters of the application name it takes me about 3 seconds to find it and launch it, if that.
The third method is to run applications from a terminal. This is usefull for things that require special switches for unusual functionality.
I hit my 'favorites' button on the keyboard and it will find a terminal, bring it to the front and change focus to it. If there is no terminal aviable then it launches one.
The the last method I use is through the debian menu. I can access it through right clicking on teh background or through the menu applet I have stuffed into one of the corners of the screen. Applications are not arranged according to maker, but the are arranged according to functionality. Like if I want 'Gimp' I go through app >> graphics >> The Gimp.
Needless to say the one were I am forced to use the mouse is the one that I use least. Although I can navigate through it with the keyboard arrow keys. I may end up binding a key to the menu, but I don't care anough to do that right now.
I also re-mapped my keyboard to get rid of the caps-lock key.
Then there are other silly things like that that I do. Sure it takes a bit to set them up, but it'll save me time over the long haul and also cuts down on distractiosn by a large margin when I am trying to concentrate on something. I don't have to stop typing and go hunting and pecking all over the place.
And I know that normal people wouldn't doing stuff like that, but it doesn't realy matter to me right now. If they want to have a fully GUI system to clicking around all day they can use full-on KDE or Gnome and most everything is GUI based.