Page 1 of 1

Making JWM Desktop Program Launchers

Posted: Fri Oct 02, 2020 2:17 pm
by vtpup
For those of us who like Puppy traditional JWM/Rox AND like to clutter up our desktop with individual program launchers...... I have never really thought too much about the Puppy requirement to search for and identify an instance of a program somewhere in the OS, and then drag it to the Desktop. Then search for an appropriate icon somewhere else in the OS, and attach that to the launcher on the desktop. I just thought of it as nuts and bolts price to pay for our fantastic OS.

Back in my Win 98 days (which classic Puppies superficially resemble), if a program appeared in the menu, and you wanted to place it on the desktop as a launcher (or "Shortcut" in Winspeak), all you had to do was drag it there. I'm not talking about Win's option to duplicate a program in its "Desktop" folder. Just to dragging a launchable appropriately iconned link out of the menu. Real simple.

I guess my first question is, how do you handle making links on the Desktop from Puppy Menu items? (If you do at all) Maybe I'm being dumb, and missing something long available in Puppies that everybody else does.

And second, as a wish list for future pups, maybe consider working out a drag and drop menu-to-desktop launcher functionality? I mean within the classic JWM/Rox interface.

Re: Making JWM Desktop Program Launchers

Posted: Fri Oct 02, 2020 3:07 pm
by mikewalsh
For those of us who like Puppy traditional JWM/Rox AND like to clutter up our desktop with individual program launchers......
^^^ :lol: :lol:

Me, if I don't have a specific app launcher for summat, I'll build one. I have an entire directory of these "MenuEntry .pets", built over the last few years, specifically to add .desktop files to /usr/share/applications, along with suitable icons, for the huge number of shared, remotely-accessed apps I keep on a couple of externally-mounted partitions.....and share between multiple Pups. (If I don't have a suitable icon, or can't find something I like on-line, I'll build those, too..!)

I click to install, then drag it from /usr/share/applications to the pinboard. (Putting stuff in Pup's /root/Desktop directory doesn't actually achieve anything, since Pup's desktop is not, of course, a 'desktop' AT ALL. Not in the strict sense of the term.)

I agree that menu-to-desktop 'drag'n'drop' would be fantastic. I've seen Pups that do it (Openbox? IceWM? Not sure...); in fact, I believe FatDog has it.


Mike. ;)

Re: Making JWM Desktop Program Launchers

Posted: Fri Oct 02, 2020 3:25 pm
by taersh
The easiest way to do is to grab a .desktop file from /usr/share/applications and to put it onto the desktop.
No need to apply an icon to it, as it already has one. Just remove the .desktop part from its name and done.

Though I like to have desktop buttons/icons which starts a preferred program by left-click and offers a list of categorized programs by right-click.
Therefore I'm creating RoxApps using my RoxApp-Builder.

Screenshot.jpg
Screenshot.jpg (102.35 KiB) Viewed 1241 times

Re: Making JWM Desktop Program Launchers

Posted: Fri Oct 02, 2020 4:58 pm
by TerryH
taersh wrote: ↑Fri Oct 02, 2020 3:25 pm The easiest way to do is to grab a .desktop file from /usr/share/applications and to put it onto the desktop.
No need to apply an icon to it, as it already has one. Just remove the .desktop part from its name and done.
As easy in Puppy/JWM as any O/S or Window Manager.

Re: Making JWM Desktop Program Launchers

Posted: Fri Oct 02, 2020 5:30 pm
by vtpup
Thanks Mike, -- Taersh that's a big improvement for me!

Terry: Perhaps somewhat easy for us, but not remotely as intuitive. Since I have been using Puppy since ver 4.10 and that's new to me.

For a new user, how would they possibly know that they would have to navigate to some place called /usr/share/applications? All they know is that there is no way to move a menu entry to the desktop.

We all here have workarounds for what we want to do because we've committed time to studying how to accomplish them, in other words, are already committed to Puppy Linux. A new user trying it out will find this particular drag and drop inability simply frustrating and foreign to their experience with practically any other OS.

So lessee, I an experienced Puppy user will try it:
1.) Click File Icon on desktop
2.) Click arrow "Change to Parent Directory
3.) Click usr
4.) Click share
5.) Click applications
6.) Drag application to desktop

compare to:
1.) Click Menu
2.) Drag application to desktop

Sure the new way (for me) is a great help. But not for someone new.
And no it's not equivalent to any other OS or Window manager.

Re: Making JWM Desktop Program Launchers

Posted: Fri Oct 02, 2020 7:30 pm
by taersh
Yes, it's a bit more complicated. ;)

On the other hand, doing it the Puppy way in Windows one perhaps has to move through even more directories to find the files for the menu entries?

The problem is: JWM doesn't differ between left-click and right-click.
If I would be a good programmer in the use of C -which I think JWM is written in-, I would hack the sources to make it able to differ left-click and right-click. When doing a right-click it should be easy to apply a function to call a simple script based context-menu (which would make it easy to modify) with different options like placing the menu entry to the desktop or opening the programs directory etc.

Probably it would be possible to write a program which examines a copy of /root/.jwmrc, modifying it to select a program from the menu to choose different options to do with the clicked menu entry?

I will have a look at it, as I'm perhaps familiar with bash scripting by now... :?

Re: Making JWM Desktop Program Launchers

Posted: Sat Oct 03, 2020 12:36 am
by taersh
taersh wrote: ↑Fri Oct 02, 2020 7:30 pm Probably it would be possible to write a program which examines a copy of /root/.jwmrc, modifying it to select a program from the menu to choose different options to do with the clicked menu entry?
SUCCESS!

Ok, not in complete related to my thoughts quoted above. But that's not really necessary in detail. ;)

Though, I'm able now to place a .desktop file to the Rox Desktop just by clicking its menu entry. πŸ•Ί

The Package is on the way to be built and then published. 8-)

Edit: viewtopic.php?f=106&t=987

Re: Making JWM Desktop Program Launchers

Posted: Sat Oct 03, 2020 2:32 am
by MochiMoppel
vtpup wrote: ↑Fri Oct 02, 2020 5:30 pmFor a new user, how would they possibly know that they would have to navigate to some place called /usr/share/applications? All they know is that there is no way to move a menu entry to the desktop.
They don't have to know because menu entries may have corresponding .desktop files, but that's not a necessity and some menu entries actually don't.

Some years ago I made me a little script that would allow me to place desktop shortcuts for any JWM menu item. The real purpose was to find the file path or command behind each menu item because the JWM menu contains descriptions, which may be very different from the file name (or the .desktop name).
Still works for my old distro, may work for newer ones: How to turn JWM menu items into desktop shortcuts

Re: Making JWM Desktop Program Launchers

Posted: Sat Oct 03, 2020 2:45 am
by taersh
Wow, that's also a pretty cool solution! 8-)
Seems to work in FossaPup64. :thumbup:

Re: Making JWM Desktop Program Launchers

Posted: Sat Oct 03, 2020 2:56 pm
by taersh
taersh wrote: ↑Sat Oct 03, 2020 2:45 am
Wow, that's also a pretty cool solution! 8-)
Seems to work in FossaPup64. :thumbup:
Pity, it doesn't work in my own OS.

Code: Select all

** (gtkdialog:4655): ERROR **: 16:47:05.949: gtkdialog: Error in line 1, near token 'string': syntax error

/mnt/sda1/Dateien/Downloads/MM-MenuInfo/mm_menuinfo: line 113:  4654 Done                    echo -n "${HEAD}${MENU}${TAIL}"
      4655 Trace/Breakpoint ausgelΓΆst   | gtkdialog -s
Script completed hit RETURN to close window.
Perhaps .jwmrc has too many lines?

Original .jwmrc from FossPup64 has 126 lines until the end of </RootMenu>.
The .jwmrc in my OS has 627 lines until the end of </RootMenu>.

Re: Making JWM Desktop Program Launchers

Posted: Sat Oct 03, 2020 5:03 pm
by MochiMoppel
@taersh no idea. Could you please post a copy?

Re: Making JWM Desktop Program Launchers

Posted: Sat Oct 03, 2020 5:13 pm
by taersh
Fake .gz
jwmrc.gz
(66.16 KiB) Downloaded 23 times

Re: Making JWM Desktop Program Launchers

Posted: Sat Oct 03, 2020 6:33 pm
by 666philb
MochiMoppel wrote: ↑Sat Oct 03, 2020 2:32 am
vtpup wrote: ↑Fri Oct 02, 2020 5:30 pmFor a new user, how would they possibly know that they would have to navigate to some place called /usr/share/applications? All they know is that there is no way to move a menu entry to the desktop.
They don't have to know because menu entries may have corresponding .desktop files, but that's not a necessity and some menu entries actually don't.

Some years ago I made me a little script that would allow me to place desktop shortcuts for any JWM menu item. The real purpose was to find the file path or command behind each menu item because the JWM menu contains descriptions, which may be very different from the file name (or the .desktop name).
Still works for my old distro, may work for newer ones: How to turn JWM menu items into desktop shortcuts
this is actually already included in fossapup and possibly tahr,xenial & bionic also

Code: Select all

mm_menuinfo

Re: Making JWM Desktop Program Launchers

Posted: Sun Oct 04, 2020 12:57 am
by MochiMoppel
666philb wrote: ↑Sat Oct 03, 2020 6:33 pmthis is actually already included in fossapup and possibly tahr,xenial & bionic also

Code: Select all

mm_menuinfo
I've never noticed. Looks like an outdated version.

@taersh Including external menu files within the menu is not supported:
<Include>/root/.shutdownrc</Include>
Should work when you integrate the items of /root/.shutdownrc into the Rootmenu.

Re: Making JWM Desktop Program Launchers

Posted: Sun Oct 04, 2020 2:32 am
by vtpup
666philb wrote: ↑Sat Oct 03, 2020 6:33 pm
MochiMoppel wrote: ↑Sat Oct 03, 2020 2:32 am
vtpup wrote: ↑Fri Oct 02, 2020 5:30 pmFor a new user, how would they possibly know that they would have to navigate to some place called /usr/share/applications? All they know is that there is no way to move a menu entry to the desktop.
They don't have to know because menu entries may have corresponding .desktop files, but that's not a necessity and some menu entries actually don't.

Some years ago I made me a little script that would allow me to place desktop shortcuts for any JWM menu item. The real purpose was to find the file path or command behind each menu item because the JWM menu contains descriptions, which may be very different from the file name (or the .desktop name).
Still works for my old distro, may work for newer ones: How to turn JWM menu items into desktop shortcuts
this is actually already included in fossapup and possibly tahr,xenial & bionic also

Code: Select all

mm_menuinfo
There's a difference between a GUI and an application. The whole purpose of a GUI as originally envisioned in Xerox Smalltalk was to break away from the old concept of computer program oriented interaction and replace it to the greatest degree possible with intuitive human graphic interaction. One of the main focuses was to get rid of the concept of modes.

The fact that I and other experienced users were unaware that there is a (admittedly nice) little program to make icons and get information is mainly due to the fact that it again is a program, not a part of a GUI. Finding, and entering a program one is not aware of is not an intuitive GUI action. By comparison dragging a menu item out onto the desktop is. One can just try it intuitively, and find out if it works, or not. Most modern OS's make it possible.

Now, don't get me wrong, I'm quite happy to have these two programatic solutions, and am respectful of the effort put into creating them. But I would like just to bring up the subject of the how and why of a GUI, as a philosophical and functional approach to interaction. It is most important especially for new users to have intuitive graphical solutions. Smalltalk was originally thought to be in part a way of teaching children. But of course we all respond similarly to things unknown first by experiment, and only reluctantly by asking for help and explanation if we do at all.