FeeNothingFeeNothingFeeNothingMore.jpg

FeeNothingFeeNothingFeeNothingMore

Author: cerbie
Tags:
Uploaded: Dec. 10 2006
Views: 1723
I lost enough this time around, with my first ever hardware HDD failure, I'm ignoring all I've done and starting over from scratch (I only lost a little bit, though). If that ain't motivation for building a theme (not just components), I'm hopeless.

It's coming along surprisingly well, and I'm doing more with less code than ever, though nothing works quite 'right' as of yet. I'm following Popsicle as an example for styling, though this will be a little more advanced in configuration.

If it comes together easily enough, the mature version of that slider template will get up on LS_universe and the LS wiki. It's much simpler than my previous attempt, and will only take minor work to extend to the original's functionality, without the complexity and optimization of the original. Thus, less of a learning curve, and it will be easier to take apart. I'd love to get it done and be able to say the same for the whole theme.

P.S. this as close as I'll ever get to using a bar theme! ;)

P.S.S.: crosspost from LS.net:

Now that I've proven it can at least work...Objectives of Blood Money:

1. Rock out to some operatic Murray Head and Ian Gillan (if you didn't already figure out the name's origin)

2. Use floating boxes for everything, and be able to define contents somewhat independently of the look.

3. Separate settings into three categories:
I. User: theme settings that override all. Mainly font and size settings.
II. Style family: settings for the current style family, which are like sub-themes. These mainly relate to behavior and dimensions that are not global.
III: Style: settings, mainly colors, for a specific style. Some optional extendability will be available with a simple Lua file being included, which supercedes the files loaded from farther up in the tree.
I and II go into a subfolder of $PersonalDir$, while II remains with the theme's own directory structure.

Something like this:
I. $PersonalDir$$ThemeName$ by $ThemeAuthor$\themevars.rc
$PersonalDir$$ThemeName$ by $ThemeAuthor$\themevars.lua
$PeronsalDir$$ThemeName$ by $ThemeAuthor$\$stylefamily$\family.rc (optional)
$PeronsalDir$$ThemeName$ by $ThemeAuthor$\$stylefamily$\family.lua (optional)
II. $ThemeDir$styles\$stylefamily$\family.rc
$ThemeDir$styles\$stylefamily$\family.lua
III. $ThemeDir$styles\$stylefamily$\$style$\style.rc
$ThemeDir$styles\$stylefamily$\$style$\style.lua (optional)

4. Due to the memory leak of LSLua, there will be NO recycling to change settings, and LSLua will never be reloaded. As such, all settings must be designed around a !reload to make significant changes, with careful use of Lua to destroy a current style/family and go to use a new one.

5. I've been running Explorer for over a month now (maybe two?), and getting nothing much fun done. I didn't even have a decent text editor installed! I need to code!

The specific organization may change, but that's the basics. Implicit multiple user support, and nothing of the user's settings is to be written into the theme's directory structure (only copied out of).

A side advantage of so many files neatly organized is that it will be no sweat to change from OTS2 if it becomes preferable to do so, as the paths will all be variable-based. Once I get it a little farther along, I'll move over to a newer LOSI and check out the current OTS3 (which appears a little lacking, but that's part of why I need to go use it).

Currently I'm putting together the most basic style family I can to test it (and making various little functions to help the process as I go, which is taking more time).

3 Comments

Brian wrote on December 10, 2006 at 18:18:

Well, I guess I'll just sit back and watch. Good luck. =)

bigdaddy wrote on December 11, 2006 at 03:42:

lol, Mr Bungle.
"My hand get's tired and my **** gets sore, but the girls of porn want more...yeah yeah YEAH!"

Way to rock Cerbie.

cerbie wrote on December 18, 2006 at 04:08:

Settings separation: check.

Initialization of theme floating boxes and their contents without all hell breaking loose: check (but it took some time, because each one needs stuff the other one makes).

Automatic silent install of xPaintclass if not there with automatic failover: check. This also paves the way for automatic installation of default settings into a subfolder of $PersonalDir$, but that won't be tested for a good long while, I think. Also, if you ever want to script filesystem stuff outside of Python, try using ls. I was trying with dir for a night. I got it done with ls in maybe 5 minutes.

Moving and resizing by the mouse, including resizing from 8 directions: check. This took a lot more time than I expected, and I got my first really good use of xLabel's OnUnfocus action with it. At first it seems very simple, but there are several little "gotcha!"s that pop up in the process.

A nice way to keep track of labels and current settings: not check. At the file level, everything is fine, but as far as working in Lua, it's nightmarishly convoluted. I think I can change it around without too much work, though. I think my planes here just a bit too lofty when I started.

I've given up some performance in resizing to add flexibility...which really means a lot less work for the future in dealing with the feature, as I found a way to make it theme-wide, rather than each style having its own quirky resize functions. Luckily, too, the simplest style I could come up with happens to be the most demanding of the resizing facilities.

I may yet *finish* this one.

P.S. I hate zOrder.

P.P.S. Some of it started to not work right when put together...so I've started working on a test theme in Python, and I think I've figured out a better implementation. Unfortunately (for the theme), I've got a web site to put together, which is taking time that could have been put towards this.

P.P.P.S. Doing it again! I'm trying a more horizontal approach, removing a lot of extra parts and interactions, and it's turning out a hell of a lot simpler, though not coming together quite as quickly. With luck it will be steady, though, if not speedy. Once the basics are working without hassle, the rest will be gravy (thick cream gravy made from sausage grease, on fresh biscuits).
You must be logged in to leave a comment.
Website by 2008 - uses Silk icons