mwl9 and sd are forks/tweaks/hacks of two of MochiMoppel's scripts, winswitcher and speeddials. the only change to the latter is a button to call mwl9, which is unnecessary now that 3b calls/shuts off both. mwl 9 has a bug not present in the original--the open windows are listed twice. trade off is it doesn't auto close, you can refresh the list and repostion the box, and you get 14 additional buttons. colum one: refresh, moveback (might get rid of this one since i never use it. regardless, it was RSH's tweaks that gave the first two buttons and showed me how to add the other 12.) layer above, layer normal, layer below, sticky, close rox. column 2 has the same buttons as column 1 but the first is labeled with a different popup and the activation is set (mistakenly) for a program (search for "action" in the script to customize) i've never offered as it's specific to one of my setups. for the other six (my original intent was that the first on the second column would activate the p1 panel set), i'm thinking of either more panels, buttons to size and/or position selected windows, or a quick way to swap puppy/rox's pinboards. the next uploaded version of this will include a folder with the necessary scripts, better, less redundant, more function-specific buttons, and the scriplets for the quick pinboard switches, which i think are the only relevant ones missing from the wmp4..tar.gz file in pupli repo's utilities folder. xdotool and wmctrl are required for most of this stuff to work; both are available in the repo. for Slacko64, you'll need the 64bit wmctrl available in the ppm. you can grab the 64bit xdotool from the repo (utilities folder).

until they're upped in stand alone, copy-to-/root/my-applications/bin-able form, here are the mini-scripts for the pinboard switching/here's the readme that was supposed to go with the five little scripts i've decided not to upload until i get some stuff sorted out:

#can be made into menu entries, keyboard shortcuts, or panel items. if you use them as desktop icons, you'll need to drag the scripts to each new "wallpaper" as they'll be removed with the pinboard. keep this in mind if you're using the pinboards as menus, bookmarks, or workspaces.
#to do: up the jwm code (find and alter the appropriate code) to make each desktop switch automatically switch pinboards. i figure it's a good way to make the desktops seem less virtual and more like distinct locations unto themselves. of course, i'd probably rather be able to switch the pinboards with the same ease i can their four panel frames, which is why their names are so brief--shift+space to call the terminal is a very handy shortcut. i like it, anyway. i recommend rox as the shortcut for alt+spacebar, and 3b as the shortcut for ctrl+spacebar.
# some further words about sd and mwl9/the original MochiMoppel scripts on which they are based: i place 3b (which calls/shuts down both) atop many of the root:# menus--together they function as a sort of master control center, or so it seems to me. i think their inclusion would improve just about every puppy.
p.dogfellow, 10/15/2014

anyway, you can drag folders, scripts, files, etc. to a "desktop" and have that called forward or put away at a key press. hope someone finds it useful. if you're adventurous or bored, you can make the pinboard scripts fire whenever a desktop is switched with the information in this thread.

I just want to throw an idea in the mix here - I stumbled across another thread that was discussing user interfaces for puppy, and one post in particular (from 'disciple') caught my focus in terms of improving the desktop usability. Unfortunately the image he posted isn't immediately visible due to its size, but its worth clicking the download link and having a look at it here

Maybe there's some way to offer the menus in such a way using your shortcuts Puppus?

I just want to throw an idea in the mix here - I stumbled across another thread that was discussing user interfaces for puppy, and one post in particular (from 'disciple') caught my focus in terms of improving the desktop usability. Unfortunately the image he posted isn't immediately visible due to its size, but its worth clicking the download link and having a look at it here

Maybe there's some way to offer the menus in such a way using your shortcuts Puppus?

There's some other interesting ideas spread through that thread too.

looks cool, greengeek, but it seems like a keyboard shortcut to usr/share/applications would do more or less the same thing. you can symlink any missing programs or scripts to that folder and access them either with / and then the first letter(s) plus enter, or by clicking it in the same way you would disciple's panel. you could also copy and rename the items in the folder to make access easier by controlling their placement/sort order. i haven't read the whole thread, so i may be missing something, but that's my take on it. at least so far.

anyway, i think the puppypin switching is close to what you were talking about earlier with the time machine aspects of what's going on here. i was thinking about situations in which i'd like to have a bunch of folders ready, and when i moved from personal use to professional use, it seemed more space may be better, though as disciple points out in the linked thread, menu items and taskbar buttons (and panels) have the advantage of not being covered by other windows. so i thought about what's required the most "organization" and came back to my time as teacher--you could pop up a pinboard that has a folder for each kid, or each portfolio, one pinboard per class, or from the kid's perspective (i sometimes think about how puppy can be used in the nyc/usa school system--they've got plenty of machines that can be given new life and basically a curriculum entry point, should they choose to take advantage of the opportunity), a personal desktop plus one for each subject or project or whatever. make a mess, keep things out and handy, put it away instantly when you're finished. that's kind of how i use the panels. they become somewhat disposable over time, but both the panels and the pinboards allow easy salvage though copy-paste/deletion of the file's contents (they may want to take their drives and (etc) with them).

anyway, a large categorized panel like disciple's may appeal to some. it could be launched with a menu, key, or a button same as anything else.

just put together a couple of pups that use most of what's been developed here.

Quote:

...you could also copy and rename the items in the folder to make access easier by controlling their placement/sort order.

it actually includes copies of desktop files and scripts (two by mochi (speeddials and winswitcher) are 1 and 2) in the applications folder renamed and prepended with numbers. you have to remember the forward slash or to use the arrow key or the speed dial function will just shoot you out of the folder altogether. and too many loaded in front as speed dials could end up taking longer to access than the lettered ones.

except that the value for x is set at zero. by making it 1, you can drop the main menu button, gaining a little extra space on the taskbar. this also would allow you to access (throw the mouse into the lower left corner) all five mouse menus. it actually requires less precision and care than clicking an actual virtual button, though i can see having a preference for the left button over the other two and the scroll wheel. you can copy the menu in /etc/xdg/templates/_root_.jwmrc over to your root:1 menu to compensate for this.

Code:

<!-- <TrayButton label="" icon="mini-dog.xpm">root:3</TrayButton>-->

you can either comment out the root:3 menu button as shown above, delete it, or repurpose it (exec:program-name).

you can further gain space by moving the dock to a hidden upper taskbar, which is also a convenient location for the other five menu buttons. since the menus all contain a <Desktops/> tag, you don't really need the pager, at least not to see which desktop you're on or to get to another one. no visual representation of the windows with this method though.

here's a screen shot of a desktop using the above (optionally top) tray but without the default tray (it's been commented out of /etc/xdg/templates/_root_.jwmrc) and an additional left side vertical tray containing the pager and tasklist.

Posted: Wed 31 Dec 2014, 20:36 Post subject:
you can have more than ten desktops...Subject description: i crashed the computer trying to get more than ten root menus though

the following screen shot is from a large (26 inch) monitor with relatively poor resolution (1024x768). giving it three rows of eight seemed to take up much more room than two of twelve, though this set up could take three times that and still give more tasklist space than stock. all you need to do to go beyond the ten the jwm gui offers you is edit the

Code:

<!-- Number of virtual desktops -->
<Desktops width="5" height="2"/>

line in jwmrc-personal. i found 4x6 manageable even on a default sized tray--play around with it keeping in mind it will scale to fit your screens (dual monitor set ups eat a lot of width and stretch the pager somewhat more than single setups).

to get the seamless htop window (covering the drive icons in the pic), add

to jwmrc-personal (works when using the htOPuRXVT script in Startup or Startup/quar). to change the color of htop's fonts and set the transparency, use urxvtset, which will also allow you to set the size and background/foreground combos should you decide to forgo transparency/"transparency" (window actually covers the desktop with a corresponding blank (iconless) patch of virtual wallpaper and completely hides whatever is beneath it).

i used a resource similar to this to change the clock codes from default.

trays autohide and eye-space is an invisible icon for lxtask, rox /mnt, and partview. a few icons poke out underneath the htop window and are accessible beneath maximized windows thanks to a one pixel border. without a titlebar or anything to grab onto, the htop/urxvt windows are most easily moved with the shortcut keys or Alt+ Left Click.

to gain control of the main (root:3, right click) menu, i began fiddling around with the .jwmrc file in root despite the warning and the advice of those who know better than i. anyway, close to a year later, it's still working well, though now that i have nine others, letting it be wouldn't be and isn't so hard. but still, if you want your menu your way and you are getting annoyed by fixmenus making you rename your despitethewarning.jwmrc to .jwmrc to overwrite the new one it creates each time you install or remove something, here's an easy way around the nuisance.

Code:

#!/bin/sh
# name this one my3 and place in /root/my-applications/bin
# add <Program label="my3">my3</Program> to /etc/xdg/templates/_root_.jwmrc right below <RootMenu label="Menu" [...] onroot="3">

cd /root/my-applications/root3
cp -f .jwmrc /root
jwm -reload

# (yes i'm just getting around to learning some basic commands)
# pretty sure the following would do the same:
#cp -f /root/my-applications/root3/.jwmrc /root
#jwm -reload

# so enter mkdir /root/my-applications/root3 into a terminal and copy your despitethewarning.jwmrc file there, but rename it .jwmrc. run fixmenus and you should now have a one click solution to return to the menu the way you wanted it.

as it says in the somewhat harder to read code-text font, name it my3 and place in /root/my-applications/bin, add <Program label="my3">my3</Program> to /etc/xdg/templates/_root_.jwmrc right below the <RootMenu label="Menu" [...] onroot="3"> part. enter mkdir /root/my-applications/root3 into a terminal, copy your despitethewarning.jwmrc file there as .jwmrc, run fixmenus, right click, bask in your lack of annoyance.

in case you want to copy some newly generated menu files over to your custom jobbie,

Code:

#!/bin/sh
#gea3

geany /root/.jwmrc /root/my-applications/root3/.jwmrc

# for menu: <Program label="gea3">gea3</Program>

will open them both up in geany for easy search-copy-paste. (do that before you run my3, may as well add <Program label="gea3">gea3</Program> to /etc/xdg/templates/_root_.jwmrc when you add the similar line for my3.)

Posted: Tue 03 Mar 2015, 19:37 Post subject:
switch sets of shortcut keys and/or custom menus on the flySubject description: nothing limiting how many you can have other than time and a sense of the ridiculous

allows easy switching of alternate menu layouts and keyboard shortcut configurations by swapping out .jwmrc in /root and replacing it on the fly with one of your (here's a set for ten) alternates. they are set to use jwmrc.personal for customizations by default, but each new root menu has a line (by default commented out) for one of the new jwmrc-personal files that sits with it in its folder in /root/my-applications/root3. you could alter that and switch root menus by sets of ten rather than just one at a time.

all the templates in /root/my-applications/root3 are copies of the original puppy menu from /initrd/pup_ro2 compressed to one line, with the desktops goto, rox opening the applications folder in usr/share, and a jwm config switch (which should also be added atop/etc/xdg/templates/_root_.jwmrc as well) menu added:

the terminal shortcut for each of the additional configurations is the same as their purposely short program names i.e. enter my38 into a terminal or gexec-like launcher and that menu system and its associated shortcut keys will now be activated. comment out the jwmrc-personal line atop the .jwmrc file you are using and uncomment the one corresponding to your new customizations (keyboard, group, etc.)

overwrite the .jwmrc file in /root/my-applications/root3 to use your own current right click menu in place of the puppy original from ro2 (without having to use fixmenus, which is what "orig3" is, more or less.) gjwm opens the jwm files in geany for easy access.

here are the scripts contained in the "copy this to /root/my-applications/bin" folder:

so, long story short, you enter my3 or my30 (will currently work with my3 and my30-my39) into a terminal and you get a compressed original menu, a shortcut to the desktops and applications folder, and an opportunity to try out 10 or so alternate layouts. seamless, virtually instant switching between menu sets and keyboard shortcut sets. can also be used to switch between tray layouts. have your menus more wholly honed to the task at hand. or something.

enjoy.

___________________________

edit: you may want to change the code in the above examples from jwm -reload to jwm -restart if your configuration changes involve keyboard shortcuts and the trays as -reload only works for the menus/menu entries themselves. if you're only changing the menus then keep it as is as -reload is smoother, quicker, and more pleasant (2-3 second delay at most, no flicker; jwm -restart, 3-5 second delay, harsh flicker that rearranges the task bar. not sure if other glipper installations are similarly affected, but on my machines it also almost always knocks the glipper icon from the dock as well, necessitating an alt+spacebar, 2, /, g, enter to fix it. [jwm shortcut for rox ~, (my) rox speeddial for Start up, a slash to activate path/file search (also handy for copying the path, which appears at the bottom of the rox window), g for glipper, enter.])Last edited by Puppus Dogfellow on Sun 08 Mar 2015, 18:34; edited 2 times in total

you can set additional jwm trays into the background to get them out of your way, or allow the dock, pager, or menus to be activated from/become a part of the wallpaper/backdrop. first example sets five menus [roots 6-(1)0], the clock, and the pager into the cluster with the drive icons:

here are some other shots:

centrally located menu strip (you can use large images and have the clock determine the width (or use width=""), though here i just stuck with numbers). note how the menu when launched sits above though activated from below:

random placements:

messing with sizes (in this case, large, 48 desktop pager):

here's an example of how to do it (this is the one for the little vertical five menu button strip):

<!-- five menu buttons are commented out since they're also the five mouse "buttons"--you could make rows of buttons comprised of any photos of your choice and use them for scripts, programs, folders, etc. -->

<!--name (for example) trayv6 and place in (for example) /root. activate by placing <Include>/root/trayv6</Include> in the jwmrc-personal file in /root/.jwm and restart jwm -->

earlier, alt and these keys were made into a quick scoot cluster for active windows. swap shift for control if the assonance of shift click is less helpful a mnemonic than the alliteration of control click, which has the advantage of also working alphabetically (click comes before move, ctrl comes before shift. i use the windows move shortcut most so it gets the cushiest cut. hopefully the alt plus combination will prevent interference with word processing and other programs that sometimes heavily rely on the arrow keys).

some of my menus are very long, and often i don't feel like deleting or restructuring parts that helped me build better versions, in the way though they may be. a simple work around is a script like the following, which can be added to jwmrc-personal as a shortcut, a menu as a wormhole, /root/my-applications/bin for a terminal shortcut (name it something short such as w5 or wp and activate with grun or a terminal), dragged to the desktop or a panel, or made into a tray button:

Code:

#!/bin/sh
xdotool key alt+9 Up Right Down Down Down Down Right

this is the menu item version of one of the two lines of code depicted in the gif:

Code:

<Program label="manipR9windows" icon="">xdotool key alt+9 Up Right Up Right Right</Program>

what it the two menu shortcuts look like as key codes:

Code:

<Key mask="A" key="h">prev</Key>
<Key mask="A" key="j">next</Key>

<Key mask="A" key="k">exec:xdotool key alt+9 Up Right Down Down Down Down Right</Key>
<Key mask="A" key="l">exec:xdotool key alt+9 Up Right Up Right Right</Key>

something like this can save keys in the long run--rather than have a shortcut for each particular panel, pinboard, or program set, just use one or two shortcut keys to instantly access submenus containing whatever you'll be looking for. place helpful things near where you're planning to end up. let xdotool handle the drudgery of accessing the menus and pressing the up and down and left and right arrows. saves seconds, reduces demands on one's concentration (the gif depicts it accessing two of the root 9 menu's submenus). terminal shortcuts only require a shortcut to launch the terminal or grun/prun/gexec--the tersely named scripts can multiply exponentially and their easy to remember four character or so launching combinations will cost no additional keys. the two submenus pictured are mainly to give text editors/viewers word processor functionality (an ongoing project) and to provide users with an easy way to organize, size, and position windows (link above has the menu code for both plus a single monitor version of the windows manipulation menu).

edit: calling the submenus from the terminal appears to always work--not so with the shortcut keys. not sure if it's sending the keys too fast or if there's some other shortcuts i've forgotten about that are interfering, but called from a terminal or launcher such as gexec or grun or called from a menu wormhole or clicked on as a script or desktop icon all appear to work more consistently than the shortcut keys for some reason. (i recommend spacebar plus a single modifier for the shortcut that calls the terminal or terminal-caller).

the above code will allow you to quickly access your rox bookmarks. you can designate what folder you want to extend its bookmarks menu by adding a path after a space after the rox (by itself, it opens /root); you can position the select-highlight by adding (a series of) Down to the latter part of the line (without it, the position defaults to Add New Bookmark).

example for the keyboard shortcuts in jwmrc-personal:

Code:

<Key mask="CS" key="b">exec:rox /mnt; xdotool key ctrl+b</Key>

example for a/the menu:

Code:

<Program label="rox bookmarks" icon="">rox /tmp; xdotool key ctrl+b Down Down Down Down Down Down Down Down </Program>

script for terminal shortcut (place in /root/my-applications/bin):

Code:

#!/bin/sh

rox /mnt; xdotool key ctrl+b
#rox bookmarks. for a terminal shortcut, place in /root/my-applications/bin and name rb/something apt and brief.
#make quick links to folders by adding (a series of) Down to the latter part of line and renaming the resultant scripts rb1, rb2...

right or middle clicking on the list will leave the original folder open when the bookmark is called. left clicking closes the original folder.

______

two more samples:

Code:

#!/bin/sh
#name rup
rox /mnt/home; xdotool key ctrl+b Up Up Up
#^three up from last bookmark

Code:

#!/bin/sh
# name rr
rox /usr/share; xdotool key ctrl+b Down Down Right Down
#^one down on the recently visited list

tips/reminders: escape will shut the list, ctrl+Home takes you to /root(~), and Backspace moves to parent folder--you don't really need a speed dial (designate by ctrl+0-9, access by 0-9) for / or ~ because of this (ctrl+Home followed by Backspace reaches / from any folder). call the bookmarks list with ctrl+b; left click and enter close the original, middle and right click open the bookmark as an additional folder. \ is the right click menu, / opens the path search bar at the bottom of the window.

here and here you can find windows manipulation scripts that work on a window to be selected by the next click. for the select (turn your mouse to crosshairs) versions it doesn't matter much how you launch the command, but for the active versions, gexec or similar launchers work on the active window whereas terminals become the active window (and merely distort themselves/bounce themselves around). use the following pack of scripts to get the active versions of the windows manipulation commands you can see on the menus. making (gexec) an easily pressed key combo (alt+spacebar) allows you to resize windows quickly and in a way you yourself find memorable. for the most part and as examples of the general naming convention, 650 will make a 650 pixel square of a window to be selected, 650a will turn the active window into a 650 pixel square; y450 moves the selected to that position, y450a moves the active window to that position. the scripts are easily customizable if the presets and titles don't suit you. comments included in them and in this thread should help out. you can use something like the vgt to make your window templates. i haven't as yet made a pack of the active versions of the (now up to) 24 send-to-desktop scripts, but changing the :SELECT: to :ACTIVE: in each and renaming a copy (for example) s15a will give a terminal shortcut for send-tos for active windows. the lba, lma, laa are to layer the active window below, middle (normal, there's already a system script named lna...), and above respectively. were i to do it again, i'd rename everything with active as the default (i.e. if you want to send the thing you select to desktop 16 or the upper right quadrant, you'd have to type the final s for SELECT--the shorter titles (s15, urq, 650, la) would work on the active windows. currently only the a and b series (halves and quadrants) are set up this way).

i discovered that gexec launches the rox bookmarks shortcuts, the extra menu entry ways, and the resize/reposition scripts especially well while trying to get used to openbox/fatdog. eventually i realized you can switch to jwm in fatdog as a built in feature, but the two systems aren't quite laid out the same way. easiest work around was to just keep all the code the same, adding the missing my-applications folder. it isn't part of the PATH, and i don't know if i was supposed to have restarted x after looking online to find the code to add something to the PATH, but having failed that way, i ended up just symlinking all the my-applications/bin files to one of fatdog's PATH folders, /usr/local/bin. there were relatively few scripts in the folder, so i chose it figuring it would be easy to keep track of things. the few hundred or so kb of files symlink virtually instantly, though i suppose correcting adding to the PATH would be just as fast. so far everything seems to work except WinSwitcher and SpeedDials, but that's likely due to 32/64 bit differences (wmctrl and xdotool work in other capacities--most of these scripts require either xdotool or wmctrl).

edit: the size and reposition scripts work mostly well in fatdog, the send tos and desktop hopping scripts work fine, but move along the x and y axis without resizing anything and list all the windows commands are working inconsistently or not at all...

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum