Get To Know A Command : devilspie

You may remember Gnome Bug 698544. It’s sad to have to remove such a cool feature, but not the end of the world. I’m all in favour of a clean, and simpler code base so I can understand the motivation. Besides, there’s a simple enough workaround and it only involves using a package called ‘devilspie’.

Devilspie provides a scripting language to match against, and modify various attributes of a GTK window. It also registers a signal handler for the window open event.

To get transparency for your ‘gnome-terminal’ windows, you just need a script like the one below :

(if (contains (window_class) "Gnome-terminal")
(opacity 80)
)

Now, we just need to make the following call on startup.

devilspie -a gnome-terminal-transparent.ds

On a similar note, I was running into a flash plugin issue and the proposed workaround involved some usage of devilspie once again.

(if (contains (window_class) "Plugin-container")
(focus)
)

Two sort-of annoying problems on Fedora 19, solved with devilspie.

Update : I’m not sure why I never considered reading up some more on how devilspie operates. As it turns out, if one places their devilspie scripts (one expression per file) under their home directory in a folder called ‘.devilspie’ and makes sure the files end in ‘.ds’ , then simply calling ‘devilspie -a’ on login is sufficient to ensure they will be executed.