jwm customization and user interfaces for scripting

For discussions about programming, programming questions/advice, and projects that don't really have anything to do with Puppy.
Post Reply
Message
Author
lmemsm
Posts: 51
Joined: Wed 27 Jun 2012, 15:01

jwm customization and user interfaces for scripting

#1 Post by lmemsm »

Was looking for a lightweight window manager and decided to try jwm. Searching for information on customizing jwm led me to the Puppy forums. There's some good information mixed in with several threads and the JWM Themes Exchange has some inspiring examples.

Am not running Puppy Linux, so I'm not too familiar with what tools are available on it. Saw some mentions of configuration tools for jwm in some of the posts. I've been working on a project that uses modified browsers as a user interface for scripts or command line programs instead of programs like dialog or gtkdialog. That way, I can use standard HTML and CSS to create a screen layout. Was thinking this might integrate nicely with jwm for configuration or launching programs. Was also considering creating some scripts to customize the .jwmrc file. Just wondering what's already been done as far as configuration tools or menu handling for jwm. Any further pointers, recommendations or tips on customizing jwm would be greatly appreciated. Thanks.

If anyone's interested in the example environment variable configuration tool I wrote or using browsers as user interfaces, I have some more information on it here:
http://www.distasis.com/cpp/lmbld.htm#lmbldui

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#2 Post by technosaurus »

I have written a bunch of jwm tools (some of which are very hacky ways to do things using only jwm, but others will generate a jwmrc from a flat config file and /usr/share/applications/*.desktop along with drive icons if you so choose)
http://murga-linux.com/puppy/viewtopic.php?t=70804

I also started on a similar project(s) to yours using html forms via busybox httpd cgi scripts, but it kinda stalled out:
http://murga-linux.com/puppy/viewtopic. ... 272#494272

and some previous notes on associating file types:
http://www.murga-linux.com/puppy/viewto ... 297#224297

feel free to use my css for menus for your interface from http://pupweb.org/desktop/

everything is now licensed under my own maximally permissive license (public domain where it is allowed, or any OSI approved license or any license meeting their definition of open source)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#3 Post by muggins »

It's no longer being developed, but ByzantineOS might be of interest as it used a mozilla browser as it's user interface.

lmemsm
Posts: 51
Joined: Wed 27 Jun 2012, 15:01

#4 Post by lmemsm »

Thanks for all the interesting links. Nice to know others have worked on something similar. At least that means there's some niche for this sort of thing.

technosaurus wrote:
>I also started on a similar project(s) to yours using html forms via busybox httpd cgi scripts, but it kinda stalled out:

I thought about using a lightweight web server to handle the code part (as opposed to the user interface), but thought it was a bit heavy to have to run a web server just to run local scripts. I did see an add-on for Firefox that would let it act as its own web server, but don't know if it's supported in newer versions of Firefox.

Nice script library for writing HTML. That would definitely work with what I'm doing. By the way, was reading through the thread on "speeding up scripts" for bash before I posted to the forum. Some really good tips there.

muggins:
>It's no longer being developed, but ByzantineOS might be of interest as it used a mozilla browser as it's user interface

That certainly looks interested. So far, I've just been using lynx and D+ as browsers, because they're easy to build, don't require a lot of dependencies and weren't too hard to modify. I've been thinking about trying to get this to work with some other browsers (especially if they have better HTML5, CSS and JavaScript support), because you could do even more with screen design. However, I'm sticking with lightweight browsers for now. One nice thing about having lynx working with this is that I can run the scripts in console mode outside of X Windows if I want to.

technosaurus wrote:
>and some previous notes on associating file types

That's very much like part of what I want to do. Running executables with mimetypes is a nice idea. It doesn't quite give you as much control as to what one runs and how it runs as a script or program can though.

>I have written a bunch of jwm tools (some of which are very hacky ways to do things using only jwm, but others will generate a jwmrc from a flat config file and /usr/share/applications/*.desktop along with drive icons if you so choose)
http://murga-linux.com/puppy/viewtopic.php?t=70804

Will definitely check it out and your css for menus too. Thanks.

Another tool I've been experimenting with is gpp:
http://files.nothingisreal.com/software/gpp/gpp.html
It's similar to the standard C preprocessor, but can do a few more powerful things. I've been using it to preprocess some of my bash scripts similar to the way one would preprocess C/C++ scripts. Makes a nice way to customize which tools are available on a system (whether you'd prefer to use sed or perl for replacement and tar, bsdtar or 7za for archiving, etc.). Thought it might make a useful way to conditionally create a .jwmrc file. One could display an HTML file showing different jwm themes/colorschemes and then optionally create the .jwmrc file (or an included file using the Include tag) to create a simple theme switcher program. Also thought it might be interesting to be able to set a program to do the desktop background (and turn the background color off when using an outside program). That way you could run something like xfireworks as a background or use programs like xsetroot, hsetroot, feh, chbg, etc. Would also like to hide the tray/task bar completely in some cases. I really don't like the setting to autohide. Sometimes I just want to turn it completely on or off. Could be useful if you want to run a program that sets the background (like xfireworks) and want it to use the entire screen.

Those were some of the things I was thinking about. Don't know how well it would work in with some of what you've already done, but it might be possible to make the settings tools coexist nicely. I definitely want to check out what you've coded.

So far, I haven't been too thrilled with the jwm menu. I love working with the keyboard over the mouse and I prefer menus that let me jump to an entry with a hotkey or the first letter of the entry. Haven't seen a way to do that with the built in jwm menu. However, it does make a good basic minimal menu (especially for system related functions) and I like the menu for the individual windows. Was thinking of using an outside menu that handles keystrokes better for any serious navigating. Wanted to look at 9menu and the rat poison menu again. It's been a long while since I've tried them. I really like the features in jwm to check the configuration file (-p), restart (-restart) and exit (-exit). Very nice capabilities for scripting. Was thinking about creating my own close window dialog using the -exit option.

If anyone's interested, I can post on whatever I come up with and if anyone would like to discuss some of this further, I'd welcome the opportunity. Thanks.

Sincerely,
Laura
http://www.distasis.com/cpp

User avatar
`f00
Posts: 807
Joined: Thu 06 Nov 2008, 19:13
Location: the Western Reserve

#5 Post by `f00 »

hi Laura

It's been awhile, but I recall testing the css menu-ing system Steve Gibson uses on his 'site .. good stuff and others have picked up on it since.

just kibbitzing :)

Post Reply