Posted at 26 Jun 2010 11:50:25 AM
My desktop finally looks normal
In previous versions of Ubuntu (8.04 a. k. a. Hardy) my embedded terminal was accomplished using a combination of devilspie and gnome-terminal 2.22. The specific version was necessary; any higher and it wouldn't obey devilspie's commands to remove the titlebar and remain stationary.
In the current version (9.10 a. k. a. Karmic), it's still accomplished using gnome-terminal because I like its transparency, but this time devilspie is the buggy one. I've got the system resources now to go All Compiz, All The Time, so that's what's controlling the embedded window.
Steps for an Embedded Terminal on Ubuntu 9.10:
1. Open up a new gnome-terminal. Right-click on the window and edit the profile to have the characteristics that you want -- transparency, font, font color, scrollback, etc -- and save the profile. Go ahead and save it as the default, since at this point it's important to note that as all of the ccsm settings reply on the application name, (rather than the title) you can't actually use gnome-terminal for anything except this one window.* My default terminal is actually xterm.
2. Fire up the CompizConfig Settings Manager (ccsm). You'll be customizing a few things here: Window Decoration, Place Windows, and Window Rules.
It may make things easier if you have a gnome-terminal actually running during this, as changes will be visible in realtime once you're done with each plugin and click the "Back" button.
: Enable this plugin, and change the "Decoration windows" box from the default "any" to "(any) & !(class=Gnome-terminal)". This ensures that every window except
one of class Gnome-terminal will have a border around it.
: Enable this plugin, switch to the "Fixed Window Placement" tab, and add a new entry under "Windows with fixed positions". For mine, the positioned window is "class=Gnome-terminal", the X and Y positions are 0 and 30, respectively. Note that in X Windows, your positions are relative to the upper-left corner of your screen.
: My entries for Skip taskbar, Skip pager, Below, Sticky, Non movable windows & Non resizable windows are all "class=Gnome-terminal". This effectively renders the terminal pinned below all other windows, immobile and invisible to your pager & task switcher.
In the same plugin, switch to the "Size Rules"
tab. Add a new entry. Sized Windows should be "class=Gnome-terminal", my width and height are set to 950 and 900, respectively. At my 1680x1050 resolution this takes up about half of my screen widthwise, and almost all of it lengthwise. Note that these aren't the same numbers you'd use were you to set the window's size via gnome-terminal's --geometry switch (for a window roughly the same size, I was using --geometry="140x70".)
3. Once you've the terminal looking like you want, close out of ccsm and add an entry to your System -> Preferences -> Startup Applications. What you name it is your business; the command should be simply "gnome-terminal".
* Technically a lie, as you could use "name=YourProfileName" instead of "class=Gnome-terminal" in all of the settings, which would mean that you can create a new gnome-terminal profile called "YourProfileName" just for this embedded window and keep using gnome-terminal as your default term. But I prefer xterm, so I didn't.