How to change settings of different window mangers?

For discussions about programming, programming questions/advice, and projects that don't really have anything to do with Puppy.
Post Reply
Message
Author
User avatar
8-bit
Posts: 3406
Joined: Wed 04 Apr 2007, 03:37
Location: Oregon

How to change settings of different window mangers?

#1 Post by 8-bit »

With puppy versions offering a variety of desktop managers,
JWM, Stardust, ICEWM, etc, how does one write their program if it makes changes to JWM as far as Class with options.
I tried a suggestion to make a file of the additions and write code to put an Include [Path to addition file] in the JWM template file.
But I tried that and it did not seem to take.
It had a nolist option that just did not work unless the code was written directly to .jwmrc.
Also, it seems that some puppy versions have more than one window manager and a modification to the configuration of one does not carry to the others.
Does this mean that for a program to work with all, one has to write window manager specific code for each?

And some people think programming is easy.
I have spent many a sleepless night debugging and testing programs as have others here.
But when you get it to a point of "always works", you get a feeling of accomplishment.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#2 Post by Pizzasgood »

Yeah. If you want to alter the settings of a WM, you have to do it on a per-WM basis. There isn't any kind of standardized means of configuring them.

Generally it is considered bad form for a program to modify a person's WM settings. Instead, they usually ship with instructions for the user on how to modify it, maybe including a sample configuration file that they can just drop in or copy and paste from. Some programs also have an option where it asks the user which WM they use and whether they want it to update their settings.

What is it that you need to do?
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
8-bit
Posts: 3406
Joined: Wed 04 Apr 2007, 03:37
Location: Oregon

#3 Post by 8-bit »

I brought this up after experimenting with a NOT RELEASED program that made direct changes to .jwmrc.
It had an uninstall script that would undo the changes if one uninstalled the program.
But I found that although it would work on some versions of Puppy with the JWM window manager, Puppy 4.5 CE using Stardust or Dude, would mess up with all window borders becoming bright red after a first run of the program.
A reboot would restore things until the program was run again.
I did not go very far into it and since it was not my program, I just chalked it up as not being compatable with any Puppy that did not use the JWM window manager.
I spent many a sleepless night bug searching, trying code modifications and making suggestions to the program's creator.
I have a working version now that works for me, but I will not offer it to anyone but the creator and another tester that has already helped out the creator of the program.
If I upset the creator of said program with these comments, I am sorry!
I have not at any time tried to take over the program, and only submitted modified programs to him for his interest.

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#4 Post by disciple »

BTW normally programs shouldn't make direct changes to .jwmrc as it is automatically regenerated from a template whenever you install or uninstall a .pet, and the changes will be lost.
Do you know a good gtkdialog program? Please post a link here

Classic Puppy quotes

ROOT FOREVER
GTK2 FOREVER

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

#5 Post by technosaurus »

I wouldn't say its 100% to not change "window manager" settings when referring to jwm - Ptray is the perfect example

include for jwm should look like
<Include>/root/.jwm/jwmrc-theme</Include>
right before the </JWM> at the end

most scripts I have seen remove the jwm tag and echo >> whatever lines they need to add

it can be a pain to add with a sed script via pinstall - looks like a tornado hit a picket fence
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].

User avatar
8-bit
Posts: 3406
Joined: Wed 04 Apr 2007, 03:37
Location: Oregon

#6 Post by 8-bit »

technosaurus,

With exactly the type of modification as to doing it, I found that the file I had made for the include was not used even though I had the program add an include to the jwmrc template file. That same include line was also written by the template file to .jwmrc by the template file.
But the include file never seemed to be picked up and used.
Also, I double and triple checked the path to the file the include statement referenced.
When .jwmrc was modified directly, the modification was used.
I also noticed a comment that changes to the jwmrc template file would stay.
could it be that the include file has to be placed in the hidden /root/.jwm directory?

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

#7 Post by technosaurus »

Did you begin the include file with <JWM> and end it with </JWM> ????
I'm not really sure why that is necessary, but it is something I ran into when I was playing with using trays & traybuttons as icons and using jwm to set the background image for each virtual desktop (to eliminate the need for ROX for low resource machines)

If you post up the code I can take a look.
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].

Post Reply