Description: | A GUI theme editor for Openbox. |
Latest Version: | 2013.2.20.2 |
Source Code: | src/ |
Architecture: |
|
Dependencies: |
|
Arch Repositories: |
|
AUR Page: | obtheme |
Arch Forum Thread: | 72692 |
Tags: |
ObTheme is a GUI theme editor for openbox. Among its features are a live preview mode, a built-in xbm image button editor and a palette for changing colors globally. ObTheme has no connection to an older application of the same name.
ObTheme follows the Openbox theme specification at http://openbox.org/wiki/Help:Themes.
Ideally, yes. I just don’t know how to (yet). I’ll try to figure out how ObConf does it and see if there’s a way to do it in pygtk. If that doesn’t work, maybe I’ll just ask the ObConf devs to create a stand-alone previewer that I could embed. I promise nothing though.
I was almost completely new to Python when I wrote it. I also hacked most of it together over 3 days and never went back to clean it up. I’ll get to it eventually.
Just download the source tarball, unpack it and run obtheme. Make sure that you have python-fuse and pygtk (the latest version). If you really want to install it, package it for your distro’s package manager so that obtheme is placed in your path. I’ll get around to adding an install script eventually but it’s not a priority right now as I don’t even know if anyone is using this on something other than Arch Linux.
The code is a hack-job from 2009 when I was a Python noob (I’m still a noob, but less so now). The following are some ideas for how the code could be improved. I may never get around to this as I have little time and no real motivation.
First things first, it should be rewritten in Python 3.
The themeElements data structure should be moved to an external, user-configurable JSON file so that it can be updated independently. It’s practically in JSON format already and it would be trivial to export it.
FUSE is likely overkill. I don’t even remember right how much it handles, but it would be worth investigating FIFOs as replacements.
All of the has_key and other noobish tests should be replaced with proper try/except blocks. There’s probably a load of other conventions that need to be changed.
See the CHANGELOG
This is the first change in years… looking at my old code makes me cringe a little.