Add A JWM Bookmarks Menu or Submenu/Messing Around With JWM

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

active and select resize, active send to gexec* shortcuts

#151 Post by Puppus Dogfellow »

Puppus Dogfellow wrote: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).
here ya go: sendtoAhwAS.tar.gz

scripts included:

Code: Select all

h1000   h1225s  h1475   h1700s  h325   h550s  h800   s0a   s4a     w1100s  w1350   w1575s  w200   w425s  w675   w900s
h1000s  h1250   h1475s  h1725   h325s  h575   h800s  s10a  s5a     w1125   w1350s  w1600   w200s  w450   w675s  w925
h1025   h1250s  h1500   h1725s  h350   h575s  h825   s11a  s6a     w1125s  w1375   w1600s  w225   w450s  w700   w925s
h1025s  h1275   h1500s  h1750   h350s  h600   h825s  s12a  s7a     w1150   w1375s  w1625   w225s  w475   w700s  w950
h1050   h1275s  h1525   h1750s  h375   h600s  h850   s13a  s8a     w1150s  w1400   w1625s  w250   w475s  w725   w950s
h1050s  h1300   h1525s  h1775   h375s  h625   h850s  s14a  s9a     w1175   w1400s  w1650   w250s  w500   w725s  w975
h1075   h1300s  h1550   h1775s  h400   h625s  h875   s15a  shade   w1175s  w1425   w1650s  w275   w500s  w750   w975s
h1075s  h1325   h1550s  h1800   h400s  h650   h875s  s16a  stk     w1200   w1425s  w1675   w275s  w525   w750s
h1100   h1325s  h1575   h1800s  h425   h650s  h900   s17a  ushade  w1200s  w1450   w1675s  w300   w525s  w775
h1100s  h1350   h1575s  h200    h425s  h675   h900s  s18a  ustk    w1225   w1450s  w1700   w300s  w550   w775s
h1125   h1350s  h1600   h200s   h450   h675s  h925   s19a  w1000   w1225s  w1475   w1700s  w325   w550s  w800
h1125s  h1375   h1600s  h225    h450s  h700   h925s  s1a   w1000s  w1250   w1475s  w1725   w325s  w575   w800s
h1150   h1375s  h1625   h225s   h475   h700s  h950   s20a  w1025   w1250s  w1500   w1725s  w350   w575s  w825
h1150s  h1400   h1625s  h250    h475s  h725   h950s  s21a  w1025s  w1275   w1500s  w1750   w350s  w600   w825s
h1175   h1400s  h1650   h250s   h500   h725s  h975   s22a  w1050   w1275s  w1525   w1750s  w375   w600s  w850
h1175s  h1425   h1650s  h275    h500s  h750   h975s  s23a  w1050s  w1300   w1525s  w1775   w375s  w625   w850s
h1200   h1425s  h1675   h275s   h525   h750s  laa    s24a  w1075   w1300s  w1550   w1775s  w400   w625s  w875
h1200s  h1450   h1675s  h300    h525s  h775   lba    s2a   w1075s  w1325   w1550s  w1800   w400s  w650   w875s
h1225   h1450s  h1700   h300s   h550   h775s  lma    s3a   w1100   w1325s  w1575   w1800s  w425   w650s  w900
(the more or less self-describing titles (or launch codes, if you prefer) do what they say they will).


from 290easybake.sendtoAhwAS.readme:

active and select resize scripts, active send-to, stick, and layer scripts, plus the code i found that made it easier to put together and why i recommend gexec:

grep -lr --exclude-dir=".excludedsub(repeat for each subtree)" -e "SELECT" . | xargs sed -i "s/SELECT/ACTIVE/g"

i used the above to flip a directory worth of files from select scripts to active scripts. here's the reverse, in case you find yourself making your own versions and want to spare yourself from needlessly doubling the effort involved getting a set for each:

grep -lr --exclude-dir=".excludedsub" -e "ACTIVE" . | xargs sed -i "s/ACTIVE/SELECT/g"

adapted from here:

http://www.isaacsukin.com/news/2013/06/ ... -directory

(i used the built-in gnfrename to batch rename a directory of copies, then copied the new scripts back into /root/my-applications/bin. remember to check the permissions if something won't run.)


--------------------
#!/bin/sh
for file in *
do
cat negones >> $file
done#!/bin/sh

#(negones being a file in the same directory consisting of:

#!/bin/sh
wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,-1,-1,-1,-1

# --a general way to make template files/fill a directory of files with given content)

#adapted from http://www.unix.com/shell-programming-a ... files.html
--------------------

find and replace (space) with (space)/root/my-applications/bin/
touch command to make them real files. [i typed out a series of numbers (200 -1800 by 25s; echo {200..1800..25} would've produced the same sequence), replaced the space (through geany's find and replace function) with space plus path, added touch infront of the resulting list, and got a batch of files that way. used gfnrename to rename copies of the originals in separate folders for height, width, select, and active (the included active send-tos were done with the grep line that starts this readme). included the content with the little script above, placed in and activated from the same folder that held the originals (spare yourself some work and copy them after the content's been added. to do: learn the code for transposing values after commas--that'd make the process more automated still...you could also i'm sure have sed/awk/grep (tr, cut?) take the values from a list and put them in the proper place in each file. this'll do for now...)

--------------------

gfnrename
--------------------

#!/bin/sh
#name fnr
findnrun
#--------------------
#^findnrun is probably the best thing to choose when you can only remember three characters in the title of the program, but it appears to only search the desktops files and so can't launch the terminal shortcuts. it gets a launch shortcut of its own, but i recommend gexec to launch the mini-scripts, whether resize, reposition, or just in general. the lack of a zealous highlight/replace-predict action may mean you need an extra tab-press to complete something like sak into sakura compared to say, gRun, but that same thing allows shorter two and three character scripts to be run without the launcher automatically predicting some longer-titled items, apparently by default interpreting those titles as fragments of longer titles outside /root/my-applications/bin--you won't be able to access them if there's a conflict. gexec's dropdown history window (which you can preload and make into a menu of sorts) also appears to work better than gRun's. i haven't done much testing with Prun, but it seems to work very well for all the non-resize/reposition shortcuts--it fails with them in the same way the terminals do (as discussed earlier, terminals are out for launching the resize reposition scripts on active windows since they'll only be resizing/repositioning themselves).
edit: pexec works as well as gexec (and also has a pull down menu you can preload)

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

The Gexec Pexack update to the terminal shortcuts

#152 Post by Puppus Dogfellow »

Puppus Dogfellow wrote:terminal_shortcuts.tar.gz
cadi close all instances on all desktops
ccdi close all instances on current desktop
cg close all current geany
cl close all current leafpad
closeallrox
close instances template and explanation
cm close all current mtpaint
cr close all current rox
cs close all current sakura
ct close all current rxvt
cu close all current urxvt
cx close all current xpad
d1
d10
d2
d3
d4
d5 [all the d- series will take you to the desktop number indicated]
d6
d7
d8
d9
hlx [launch htop and lx task at the same time]
mps exit to prompt
mrs reboot
mss shutdown [m-series are Mochi-Moppel's gentler shutdown scripts,which i've not yet used. mss is the original...]
mxs restart xserver
p0
p1
p2

p3 [p- series is a (configurable) four panel toggle--like a menu for all sides. good for cadi, ccdi, and the launching scripts. also the NWPT]
p4
p5
p7
p8
p9

wg wmctrl list plus window geometry
wh wmctrl help
wl wmctrl list
wmctrl-1.07-6_i386.pet [needed by most of the stuff here]
wmctrlh wmctrl help, clickable (thanks to disciple)
wmctrll wmctrl list plus window geometry, clickable (thanks to disciple) [these two make it somewhat easier to learn about this very useful program]

because i've now made my terminal the keyboard shortcut of spacebar+shift[<Key mask="S" key="space">exec:sakura</Key>], i'm finding it's actually faster to do many things through it. because "cs" entered into it closes it, it's also unobtrusive and the action flows as smoothly as typing in a document. i also just discovered that the up and down arrow keys will allow you to scroll back and forth through all the commands you've ever entered into a terminal, so you could get away with longer, more descriptive titles without too much loss in speed, though

Code: Select all

shift+space, two or three characters, cs. 
can be done while looking elsewhere or one's eyes closed. i decided to gain back some of my keyboard shortcuts (regained ten with the desktops) and made a few happy discoveries along the way, the main one being that you can use the terminal in the same way we've been customizing the menu to launch specific folders and files. here are two templates and three examples:

Code: Select all

#!/bin/bash

geany /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad1.txt /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad2.txt /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad3.txt /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad4.txt /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad5.txt /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad6.txt /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad7.txt /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad8.txt /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad9.txt /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad10.txt /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad11.txt

Code: Select all

#!/bin/bash
rox /mnt/mmcblk0p2/Dropbox/MMMMMMMMM /mnt/mmcblk0p2/Dropbox /mnt/mmcblk0p2/Dropbox/ANCN /mnt/mmcblk0p2/Dropbox/feb /mnt/sda2/downloadsFFFsda2 /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad 

Code: Select all

#!/bin/bash

leafpad /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad1.txt| leafpad /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad2.txt| leafpad /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad3.txt| leafpad /mnt/sda1/dropboxondell571/Dropbox/MMMMMMMMM/supl/leafpad/leafpad4.txt| leafpad /mnt/mmcblk0p2/Dropbox/MMMMMMMMM/supl/leafpad/leafpad5.txt
the first one and second share the same syntax--program name, then the files or folders you want to open. naming the geany one gl and copying it (i suppose symlinking would also do) to a bin folder (/bin, usr/bin, /root/my-applications/bin, etc--all of them need to be copied to a bin folder in order for the terminal to pick them up as commands) will launch geany with those files opened when "gl" is entered into a terminal. you could also make these things themselves into shortcut keys or menu items. the rox one will open up multiple rox folders. the leafpad situation is a bit different and some programs may need this technique. it's not merely a question of whether or not the program opens with a file list/tree or as individual windows, because for libreoffice, the geany syntax [#!/bin/sh
libreoffice4.2 --writer fileone'sfullpath filetwo'sfullpath] will work. anyway, for leafpad and others, making the shortcut file is a bit more involved than simply highlighting a bunch in a folder then dragging the list to a leafpad or xpad file and then adding the crunchbang and program name on top of it. you need to use the | character to separate the individual items you want launched. you can also add more than one program launching more than one file this way. once you're done or have done a few of these, you may find

Code: Select all

shift+space, two to five characters, ct
is faster than many other keyboard shortcuts (flows better, easier to remember, less hand contorting) and is an appreciable deal faster than hunting and pecking for things on the menus or panels.

...

of course, you could still use these scripts without ever having to touch the the terminal. if you've copied the contents of the downloaded zip into my-applications/bin, making <Key mask="A" key="space">exec:rox /root/my-applications/bin</Key> the alt+spacebar shortcut for that folder allows any of them to be activated at a click, including cr, which will then close all the open rox windows, including the one it itself is in. cadi and ccdi can't be used this way (beyond functioning as cr and closeallrox) as they will both just offer to shut the active window, which is in this case rox.

to further speed things along, you could add MochiMoppel's excellent ROX-Filer: Superfast bookmarks script to the folder, perhaps calling it m1 or something brief/terminal-route friendly. it's a good idea to get familiar with rox's built in speed dials anyway--it's the fastest way to open individual folders, but you need to already be in a rox window to use it. so anyway, you get 10 (with alt+spacebar as the eleventh and only two-key item) folders you can access with the press of 0-9 on your keyboard. these scripts, as well as individual folders or scripts made to launch batches of them, can also be dragged to a panel, which can be itself made into a button, a keyboard shortcut, or a terminal shortcut. they can't be instantly closed with a c- script, but reentering the name of/reclicking the script for the same panel as the one that's opened will close it (the other panel scripts will just cover the previous one). for this reason, dragging the folder that contains the panel scripts to the panels is a good idea.

edit: updated download to include accidentally omitted p6.
following updates nwp, the above, and the placement and size packs:

The_Gexec_Pexack.

further info


__________

some of the mini scripts are dependent on a particular jwm configuration. i will attach my double and single monitor jwmrc-personal files and the menus that go with these programs in the near future.
for now here's a the double monitor jwmrc.personal file:

Code: Select all

<!-- Personally configurable options for JWM: these override default settings and theme settings -->

<JWM>

 <Include>/root/traylvert</Include>
 <!-- <Include>/root/traymidvert</Include>-->
 <!-- <Include>/root/trayrt</Include>-->
 <Include>/root/bottomtrayr</Include>
  <Include>toprighttrayr2</Include>
   <!-- <Include>/root/bottomtrayr2</Include>-->
<Include>/root/root1menu</Include>
<Include>/root/root4menu</Include>
<Include>/root/root5menu</Include>
<Include>/root/root2menu</Include>
<Include>/root/root9menu</Include>
<Include>/root/root8menu</Include>
<Include>/root/root7menu</Include>
<Include>/root/root6menu</Include>
<Include>/root/root0menu</Include>
<!-- <TrayButton label="1">root:1</TrayButton> -->
<!-- <TrayButton label="4">root:4</TrayButton> -->
<!-- <TrayButton label="5">root:5</TrayButton> -->
<!-- <TrayButton label="7">root:7</TrayButton> -->
<!-- <TrayButton label="6">root:6</TrayButton> -->
<!-- <TrayButton label="2">root:2</TrayButton> -->
<!-- <TrayButton label="8">root:8</TrayButton> -->
<!-- <TrayButton label="9">root:9</TrayButton> -->
<!-- <TrayButton label="0">root:0</TrayButton> -->

    
<!-- Number of virtual desktops  BK: syntax change with jwm 500... -->
<Desktops width="8" height="3"/>

<!-- Double click speed (in milliseconds) -->
<DoubleClickSpeed>400</DoubleClickSpeed>

<!-- Double click delta (in pixels) -->
<DoubleClickDelta>3</DoubleClickDelta>

<!-- The focus model (sloppy or click) -->
<FocusModel>click</FocusModel>

<!-- The snap mode (none, screen, or border) -->
<SnapMode distance="10">none</SnapMode>

<!-- The move mode (outline or opaque) -->
<MoveMode>outline</MoveMode>

<!-- The resize mode (outline or opaque) -->
<ResizeMode>outline</ResizeMode>


	<!-- keycode 22 BackSpace -->
<!-- Key bindings -->

<Key key="Up">up</Key>
<Key key="Down">down</Key>
<Key key="Right">right</Key>
<Key key="Left">left</Key>

<Key key="h">left</Key>
<Key key="j">down</Key>
<Key key="k">up</Key>
<Key key="l">right</Key>

<Key mask="AC" key="g">exec:geany /root/.jwm/jwmrc-personal /usr/share/applications/appsastext</Key>
<Key mask="SAC" key="g">exec:xdotool key alt+1 Down Return</Key>

<Key mask="A" key="z">exec:xdotool key alt+1 Down Return</Key>	
<Key mask="AC" key="z">exec:geany /usr/share/applications/appsastext /root/.jwm/jwmrc-personal</Key>



<Key key="F8">window</Key>


<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>


<Key mask="AC" key="h">window</Key>
<Key mask="AC" key="j">move</Key>
<Key mask="AC" key="k">resize</Key>
<Key mask="AC" key="l">exec:leafpad</Key>


<Key mask="SC" key="h">exec:winswitcher</Key>
<Key mask="SC" key="j">exec:closeallrox</Key>
<Key mask="SC" key="k">maximize</Key>
<Key mask="SC" key="l">minimize</Key>

<Key mask="SC" key="a">exec:lxtask</Key>
<Key mask="SC" key="s">exec:lxterminal</Key>
<Key mask="SC" key="d">exec:grun</Key>
<Key mask="SC" key="f">exec:gexec</Key>





<Key mask="SA" key="h">exec:ccdi</Key>
<Key mask="SA" key="j">close</Key>
<Key mask="SA" key="k">exec:kill</Key>
<Key mask="SA" key="l">exec:cadi</Key>


<Key mask="SAC" key="h">ldesktop</Key>
<Key mask="SAC" key="j">ddesktop</Key>
<Key mask="SAC" key="k">udesktop</Key>
<Key mask="SAC" key="l">rdesktop</Key>



<Key mask="AC" key="F1">exec:d1</Key>
<Key mask="AC" key="F2">exec:d2</Key>
<Key mask="AC" key="F3">exec:d3</Key>	
<Key mask="AC" key="F4">exec:d4</Key>	
<Key mask="AC" key="F5">exec:d5</Key>	
<Key mask="AC" key="F6">exec:d6</Key>
<Key mask="AC" key="F7">exec:d7</Key>
<Key mask="AC" key="F8">exec:d8</Key>
<Key mask="AC" key="F9">exec:d9</Key>	
<Key mask="AC" key="F10">exec:d10</Key>
<Key mask="AC" key="F11">exec:d11</Key>
<Key mask="AC" key="F12">exec:d12</Key>	
<Key mask="SA" key="F1">exec:d13</Key>
<Key mask="SA" key="F2">exec:d14</Key>
<Key mask="SA" key="F3">exec:d15</Key>	
<Key mask="SA" key="F4">exec:d16</Key>	
<Key mask="SA" key="F5">exec:d17</Key>	
<Key mask="SA" key="F6">exec:d18</Key>
<Key mask="SA" key="F7">exec:d19</Key>
<Key mask="SA" key="F8">exec:d20</Key>
<Key mask="SA" key="F9">exec:d21</Key>	
<Key mask="SA" key="F10">exec:d22</Key>
<Key mask="SA" key="F11">exec:d23</Key>
<Key mask="SA" key="F12">exec:d24</Key>




<Key mask="SC" key="F1">exec:wmctrl -r :ACTIVE: -t0</Key>
<Key mask="SC" key="F2">exec:wmctrl -r :ACTIVE: -t1</Key>
<Key mask="SC" key="F3">exec:wmctrl -r :ACTIVE: -t2</Key>	
<Key mask="SC" key="F4">exec:wmctrl -r :ACTIVE: -t3</Key>	
<Key mask="SC" key="F5">exec:wmctrl -r :ACTIVE: -t4</Key>	
<Key mask="SC" key="F6">exec:wmctrl -r :ACTIVE: -t5</Key>
<Key mask="SC" key="F7">exec:wmctrl -r :ACTIVE: -t6</Key>
<Key mask="SC" key="F8">exec:wmctrl -r :ACTIVE: -t7</Key>
<Key mask="SC" key="F9">exec:wmctrl -r :ACTIVE: -t8</Key>	
<Key mask="SC" key="F10">exec:wmctrl -r :ACTIVE: -t9</Key>
<Key mask="SC" key="F11">exec:wmctrl -r :ACTIVE: -t10</Key>
<Key mask="SC" key="F12">exec:wmctrl -r :ACTIVE: -t11</Key>	
<Key mask="SAC" key="F1">exec:wmctrl -r :ACTIVE: -t12</Key>
<Key mask="SAC" key="F2">exec:wmctrl -r :ACTIVE: -t13</Key>
<Key mask="SAC" key="F3">exec:wmctrl -r :ACTIVE: -t14</Key>	
<Key mask="SAC" key="F4">exec:wmctrl -r :ACTIVE: -t15</Key>	
<Key mask="SAC" key="F5">exec:wmctrl -r :ACTIVE: -t16</Key>	
<Key mask="SAC" key="F6">exec:wmctrl -r :ACTIVE: -t17</Key>
<Key mask="SAC" key="F7">exec:wmctrl -r :ACTIVE: -t18</Key>
<Key mask="SAC" key="F8">exec:wmctrl -r :ACTIVE: -t19</Key>
<Key mask="SAC" key="F9">exec:wmctrl -r :ACTIVE: -t20</Key>	
<Key mask="SAC" key="F10">exec:wmctrl -r :ACTIVE: -t21</Key>
<Key mask="SAC" key="F11">exec:wmctrl -r :ACTIVE: -t22</Key>
<Key mask="SAC" key="F12">exec:wmctrl -r :ACTIVE: -t23</Key>





<Key mask="AC" key="m">move</Key>
<Key mask="AC" key="w">exec:window</Key>

<Key mask="AC" key="r">resize</Key>

<Key mask="AC" key="p">exec:/root/.Pup-Shots/.PupShots</Key>


<Key mask="AC" key="x">exec:xpad</Key>

<Key mask="AC" key="e">exec:mtpaint "/mnt/mmcblk0p2/Dropbox/small empty.png"</Key>
<Key mask="AC" key="d">exec:"/mnt/sda2/downloadsFFFsda2/GoldenDict 1.5.0-RC-154-gc7cc9e4-i386"</Key>
<Key mask="AC" key="n">exec:notecase /mnt/mmcblk0p2/Dropbox/ANCN/Scaffolding/ncdSCAFF01/ncdSCAFF01.ncd</Key>
<Key mask="AC" key="s">exec:sakura</Key>
<Key mask="AC" key="t">exec:rxvt</Key>

<Key mask="AC" key="b">exec:sd</Key>
<Key mask="AC" key="v">exec:partview</Key>
<Key mask="AC" key="u">exec:urxvt</Key>

<Key mask="AC" key="o">exec:libreoffice4.4 --writer /mnt/mmcblk0p2/Dropbox/ANCN/OOoODT1CLAMSILVER.odt /mnt/mmcblk0p2/Dropbox/ANCN/sc3.odt</Key>


<Key mask="SAC" key="d">showdesktop</Key>

<Key mask="SAC" key="c">exec:closeallrox</Key>
<Key mask="SAC" key="s">exec:s0a</Key>
<Key mask="SAC" key="r">exec:roxterm</Key>
<Key mask="SAC" key="m">move</Key>
<Key mask="SAC" key="p">exec:tas</Key>
<Key mask="SAC" key="w">window</Key>




<Key mask="A" key="1">root:1</Key>
<Key mask="A" key="2">root:2</Key>
<Key mask="A" key="3">root:3</Key>
<Key mask="A" key="4">root:4</Key>
<Key mask="A" key="5">root:5</Key>
<Key mask="A" key="6">root:6</Key>
<Key mask="A" key="7">root:</Key>
<Key mask="A" key="8">root:8</Key>
<Key mask="A" key="9">root:9</Key>
<Key mask="A" key="0">root:0</Key>

<Key mask="AC" key="1">exec:a1</Key>
<Key mask="AC" key="2">exec:a2</Key>
<Key mask="AC" key="3">exec:a3</Key>
<Key mask="AC" key="4">exec:a4</Key>
<Key mask="AC" key="5">exec:a5</Key>
<Key mask="AC" key="6">exec:a6</Key>
<Key mask="AC" key="7">exec:a7</Key>
<Key mask="AC" key="8">exec:a8</Key>
<Key mask="AC" key="9">exec:a9</Key>
<Key mask="AC" key="0">exec:a10</Key>

<Key mask="AS" key="1">exec:b1</Key>
<Key mask="AS" key="2">exec:b2</Key>
<Key mask="AS" key="3">exec:b3</Key>
<Key mask="AS" key="4">exec:b4</Key>
<Key mask="AS" key="5">exec:b5</Key>
<Key mask="AS" key="6">exec:b6</Key>
<Key mask="AS" key="7">exec:b7</Key>
<Key mask="AS" key="8">exec:b8</Key>
<Key mask="AS" key="9">exec:b9</Key>
<Key mask="AS" key="0">exec:b10</Key>



<Key mask="SC" key="1">exec:winswitcher</Key>
<Key mask="SC" key="2">exec:vgt</Key>
<Key mask="SC" key="3">exec:3but</Key>
<Key mask="SC" key="4">window</Key>
<Key mask="SC" key="5">move</Key>
<Key mask="SC" key="6">resize</Key>
<Key mask="SC" key="7">minimize</Key>
<Key mask="SC" key="8">maximize</Key>
<Key mask="SC" key="9">prev</Key>
<Key mask="SC" key="0">next</Key>	


<Key mask="SAC" key="1">exec:laa</Key>
<Key mask="SAC" key="2">exec:lma</Key>
<Key mask="SAC" key="3">exec:lba</Key>
<Key mask="SAC" key="4">exec:wmctrl -r :ACTIVE: -b add,sticky</Key>
<Key mask="SAC" key="5">exec:wmctrl -r :ACTIVE: -b remove,sticky</Key>
<Key mask="SAC" key="6">exec:wmctrl -r :ACTIVE: -b toggle,shaded</Key>
<Key mask="SAC" key="7">showdesktop</Key>
<Key mask="SAC" key="8">fullscreen</Key>
<Key mask="SAC" key="9">minimize</Key>
<Key mask="SAC" key="0">maximize</Key>




<Key mask="A" key="Tab">next</Key>
<Key mask="C" key="Tab">prev</Key>
<Key mask="AC" key="Tab">window</Key>
<Key mask="AS" key="Tab">exec:xdotool key alt+1 Down Return</Key>
<Key mask="CS" key="Tab">fullscreen</Key>
<Key mask="SAC" key="Tab">showdesktop</Key>


<Key mask="A" key="space">exec:rox</Key>
<Key mask="C" key="space">exec:winswitcher</Key>
<Key mask="S" key="space">exec:gexec</Key>
<Key mask="CA" key="space">exec:lxterminal</Key>
<Key mask="CS" key="space">exec:sd</Key>
<Key mask="AS" key="space">exec:rb</Key>
<Key mask="CAS" key="space">exec:closeallrox</Key>





<Key mask="A" key="Up">exec:supup</Key>
<Key mask="A" key="Down">exec:supdown</Key>
<Key mask="A" key="Right">exec:supright</Key>
<Key mask="A" key="Left">exec:supleft</Key>

<Key mask="AC" key="Up">exec:rb1</Key>
<Key mask="AC" key="Down">exec:sd</Key>
<Key mask="AC" key="Right">exec:rb</Key>
<Key mask="AC" key="Left">exec:rr</Key>

<Key mask="AS" key="Up">exec:xdotool click 2</Key>
<Key mask="AS" key="Down">showdesktop</Key>
<Key mask="AS" key="Right">exec:xdotool click 3</Key>
<Key mask="AS" key="Left">exec:xdotool click 1</Key>


<Key mask="SAC" key="Up">exec:xdotool mousemove_relative -- 0 -50</Key>
<Key mask="SAC" key="Down">exec:xdotool mousemove_relative -- 0 50</Key>
<Key mask="SAC" key="Right">exec:xdotool mousemove_relative -- 50 0</Key>
<Key mask="SAC" key="Left">exec:xdotool mousemove_relative -- -50 0</Key>


<Key mask="A" key="Escape">fullscreen</Key>
<Key mask="C" key="Escape">showdesktop</Key>
<Key mask="S" key="Escape">exec:3b</Key>
<Key mask="AC" key="Escape">exec:winswitcher</Key>
<Key mask="AS" key="Escape">exec:rox /usr/share/applications</Key>
<Key mask="CS" key="Escape">window</Key>   
<Key mask="SAC" key="Escape">exec:partview| rox /mnt</Key> 



      <Tray x="300" y="1">
      <Spacer width="1" height="1"/>
   </Tray>

   <Tray x="1" y="300">
      <Spacer width="1" height="1"/>
   </Tray>

   	<Group>
		<Name>roxterm</Name>
	<Option>sticky</Option>
		<Option>notitle</Option>
		<Option>noborder</Option>
	</Group>
	
<Group>
 <Name>xpad</Name>
 <Option>sticky</Option>
 </Group>
 
 <Group>
 <Name>libreoffice4.4 --writer</Name>
 <Option>sticky</Option>
 </Group>
 
 


</JWM>
here's the nwp and the single and double monitor submenus (comment out the appropriate one) that fit on it:

nwp:

Code: Select all

<JWM>
<Menu label="nwp" icon="" height="16">
<Program label="poetry" icon="">htmltemplatepref</Program>
<Program label="other" icon="">htmltxtwptemplate</Program>
<Program label="#!/bin/sh" icon="">scripttemplate</Program>
<Separator/>
<Program label="NWP/VGT help" icon="">geany /root/my-applications/bin/nwp.readme /root/my-applications/bin/vgt.readme</Program>
<Menu label="paste and place" icon="" height="16">
<Program label="Bold" icon="">swnwpb</Program>
<Program label="Italics" icon="">swnwpi</Program>
<Program label="Underline" icon="">swnwpu</Program>
<Program label="Subscript" icon="">swnwpsub</Program>
<Program label="Superscript" icon="">swnwpsup</Program>
<Program label="Strikethrough" icon="">swnwpstrk</Program>
<Program label="Big" icon="">swnwpbig</Program>
<Program label="Small" icon="">swnwpsm</Program>
<Program label="linebreak" icon="">linebreak</Program>
<Program label="comment" icon="">snwpcomment</Program>
<Separator/>
<Program label="preserved breaks and spaces" icon="">preotry</Program>
<Separator/>
<Program label="paragraph" icon="">paragraph</Program>
<Program label="parleft" icon="">parleft</Program>
<Program label="parright" icon="">parright</Program>
<Program label="parcenter" icon="">parcenter</Program>
<Program label="parjustify" icon="">parjustify</Program>
<Separator/>
<Program label="nwpbkmrk" icon="">nwpbkmrk</Program>
<Program label="blockquote" icon="">nwpblockquote</Program>
<Program label="quote" icon="">quote</Program>
<Separator/>
<Program label="heading1" icon="">snwph1</Program>
<Program label="heading2" icon="">snwph2</Program>
<Program label="heading3" icon="">snwph3</Program>
<Program label="heading4" icon="">snwph4</Program>
<Program label="heading5" icon="">snwph5</Program>
<Program label="heading6" icon="">snwph6</Program>
</Menu>
<Program label="get css codes" icon="">defaultbrowser http://www.w3schools.com/html/html_css.asp</Program>
<Separator/>
<Program label="5 copies template--directories">xdotool type 'for f in TTT{2..6} ; do cp -r TTT ; done'</Program>
<Program label="5 copies template">xdotool type 'for f in TTT{2..6}.txt ; do cp TTT.txt ; done'</Program>
<Separator/>
<Separator/>
<Menu label="highlight text then click to apply" icon="" height="16">
<Program label="preserved breaks and spaces" icon="">preformatted</Program>
<Program label="heading1" icon="">nwph1</Program>
<Program label="heading2" icon="">nwph2</Program>
<Program label="heading3" icon="">nwph3</Program>
<Program label="heading4" icon="">nwph4</Program>
<Program label="heading5" icon="">nwph5</Program>
<Program label="heading6" icon="">nwph6</Program>
<Separator/>
<Program label="comment" icon="">nwpcomment</Program>
<Program label="Bold" icon="">nwpb</Program>
<Program label="Italics" icon="">nwpi</Program>
<Program label="Underline" icon="">nwpu</Program>
<Program label="Subscript" icon="">nwpsub</Program>
<Program label="Superscript" icon="">nwpsup</Program>
<Program label="Strikethrough" icon="">nwpstrk</Program>
<Program label="Big" icon="">nwpbig</Program>
<Program label="Small" icon="">nwpsm</Program>
<Program label="paragraph" icon="">paragraphhl</Program>
<Program label="nwpleft" icon="">nwpleft</Program>
<Program label="nwpright" icon="">nwpright</Program>
<Program label="nwpcenter" icon="">nwpcenter</Program>
<Program label="nwpjustify" icon="">nwpjust</Program>
</Menu>
<Menu label="NWP supplemental" icon="" height="16">
<Program label="xpad--backup" icon="">xpad-backup</Program>
<Program label="xpad--clear" icon="">xpad-clear</Program>
<Program label="xpad" icon="">xpad</Program>
<Program label="geany" icon="">geany</Program>
<Program label="leafpad" icon="">leafpad</Program>
<Program label="Search_files_databases" icon="/usr/share/icons/sportsbag32-vert.png">/root/my-applications/SLocate/SrchFilesLst-01l.sh</Program>
<Program label="Update_files_databases" icon="/usr/share/icons/sportsbag32-vert.png">/root/my-applications/SLocate/MntFilesLst-01l.sh</Program>
<Program label="pfind" icon="">pfind</Program>
<Program label="recoll" icon="">recoll</Program>
<Program label="pm css" icon="">palemoon http://www.w3schools.com/html/html_css.asp</Program>
<Program label="ffdrive" icon="">firefox https://docs.google.com/document/u/0/</Program>
<Program label="pmdrive" icon="">palemoon https://docs.google.com/document/u/0/</Program>
<Program label="goldendict" icon="">goldendict</Program>
<Program label="gFnRenam" icon="">gfnrename</Program>
<Program label="gfontsel" icon="">gfontsel</Program>
<Program label="gcolor" icon="">gcolor2</Program>
<Program label="overview 1: mnt, partview, treesize" icon="">treesize| rox /mnt| partview</Program>
<Program label="overview2: lxtask, Pup Control" icon="">lxtask| PupControl</Program>
<Program label="hardinfo" icon="">hardinfo</Program>
</Menu>
<Menu label="menus submenu" icon="" height="16">
<Program label="VTG" icon="">vtg</Program>
<Program label="showdesktop" icon="" >xdotool key alt+shift+Down</Program>
<Program label="windows menu" icon="" >xdotool key alt+ctrl+shift+w</Program>
<Program label="winswitcher" icon="">winswitcher</Program>
<Include>/root/places_submenu</Include>
<Desktops></Desktops>
<Program label="r1" icon="" >xdotool key alt+1</Program>
<Program label="r2" icon="" >xdotool key alt+2</Program>
<Program label="r3" icon="" >xdotool key alt+3</Program>
<Program label="r4" icon="" >xdotool key alt+4</Program>
<Program label="r5" icon="" >xdotool key alt+5</Program>
<Program label="r6" icon="" >xdotool key alt+6</Program>
<Program label="r7" icon="" >xdotool key alt+7</Program>
<Program label="r8" icon="" >xdotool key alt+8</Program>
<Program label="r9" icon="" >xdotool key alt+9</Program>
<Program label="r0" icon="" >xdotool key alt+0</Program>
<Program label="3but" icon="">3but</Program>
<Menu label="jwm config switch" icon="" height="16">
<Program label="gjwm">gjwm</Program>
<Program label="my3">my3</Program>
<Program label="my30">my30</Program>
<Program label="my31">my31</Program>
<Program label="my32">my32</Program>
<Program label="my33">my33</Program>
<Program label="my34">my34</Program>
<Program label="my35">my35</Program>
<Program label="my36">my36</Program>
<Program label="my37">my37</Program>
<Program label="my38">my38</Program>
<Program label="my39">my39</Program>
<Program label="orig3">orig3</Program>
</Menu>
<Menu label="terminals and launchers" icon="" height="16">
<Program label="ROXTerm" icon="roxterm.xpm">roxterm</Program>
<Program label="lxterminal" icon="console.xpm">lxterm</Program>
<Program label="urxvt" icon="console.xpm">urxvt</Program>
<Program label="rxvt" icon="console.xpm">rxvt</Program>
<Program label="evilvte" icon="console.xpm">evilvte</Program>
<Program label="sakura" icon="console.xpm">sakura</Program>
<Program label="prun" icon="console.xpm">prun</Program>
<Program label="pupcontrol" icon="console.xpm">pcp</Program>
<Program label="grun" icon="console.xpm">grun</Program>
<Program label="gexec" icon="console.xpm">prun</Program>
<Program label="pexec" icon="console.xpm">pcp</Program>
<Program label="findnrun" icon="console.xpm">grun</Program>
<Program label="NWP/VGT help2" icon="">geany /root/my-applications/bin/nwp.readme /root/my-applications/bin/vgt.readme</Program>
<Program label="applications folder" icon="">rox /usr/share/applications</Program>
</Menu>
<Menu label="panels" icon="" height="16">
<Program label="p1">p1</Program>
<Program label="p2">p2</Program>
<Program label="p3">p3</Program>
<Program label="p4">p4</Program>
<Program label="p5">p5</Program>
<Program label="p6">p6</Program>
<Program label="p7">p7</Program>
<Program label="p8">p8</Program>
<Program label="p9">p9</Program>
</Menu>
<Menu label="pinboards" icon="" height="16">
<Program label="pp1">pp1</Program>
<Program label="pp2">pp2</Program>
<Program label="ppold">ppo</Program>
<Program label="pp3">pp3</Program>
<Program label="pp4">pp4</Program>
<Program label="pp5">pp5</Program>
<Program label="pp6">pp6</Program>
</Menu>
<Menu label="make bookmarks and launchables" icon="" height="16">
<Program label="template: list dir paths as txt" icon="">xdotool type 'find $PWD /root/my-applications/bin > /root/myapbin1; geany /root/myapbin1'</Program>
<Program label="template: list dir contents by name (all, w/ subdir)" icon="">xdotool type 'ls -a -R /usr/share/applications > /root/pupaps1; geany /root/pupaps1'</Program>
<Program label="template: list dir contents by name" icon="">xdotool type 'ls /usr/share/applications > /root/pupaps1; geany /root/pupaps1'</Program>
<Program label="to open with rox" icon="">rxmkr</Program>
<Program label="to open with geany" icon="">gmkr</Program>
<Program label="to open with leafpad" icon="">lpmkr</Program>
<Program label="to open with libreoffice--writer" icon="">lowmkr</Program>
<Program label="plain quotation marks around path" icon="">plainquotesmkr</Program>
<Program label="to open with firefox" icon="">ffmkr</Program>
<Program label="to open with palemoon" icon="">pmmkr</Program>
<Program label="to open with seamonkey " icon="">smmkr</Program>
<Program label="to open with mtpaint" icon="">mtmkr</Program>
<Program label="to open with viewnoir" icon="">vnmkr</Program>
<Program label="to open with vlc" icon="">vlcmkr</Program>
</Menu>
 <Menu label="Send To, Layer, Stick--SELECT"> 
 <Menu label="Send To">
 <Program label="1">wmctrl -r :SELECT: -t0</Program>
 <Program label="2">wmctrl -r :SELECT: -t1</Program>
 <Program label="3">wmctrl -r :SELECT: -t2</Program>
 <Program label="4">wmctrl -r :SELECT: -t3</Program>
 <Program label="5">wmctrl -r :SELECT: -t4</Program>
 <Program label="6">wmctrl -r :SELECT: -t5</Program>
 <Program label="7">wmctrl -r :SELECT: -t6</Program>
 <Program label="8">wmctrl -r :SELECT: -t7</Program>
 <Program label="9">wmctrl -r :SELECT: -t8</Program>
 <Program label="10">wmctrl -r :SELECT: -t9</Program>
 <Program label="11">wmctrl -r :SELECT: -t10</Program>
 <Program label="12">wmctrl -r :SELECT: -t11</Program>
 <Program label="13">wmctrl -r :SELECT: -t12</Program>
 <Program label="14">wmctrl -r :SELECT: -t13</Program>
 <Program label="15">wmctrl -r :SELECT: -t14</Program>
 <Program label="16">wmctrl -r :SELECT: -t15</Program>
 <Program label="17">wmctrl -r :SELECT: -t16</Program>
 <Program label="18">wmctrl -r :SELECT: -t17</Program>
 <Program label="19">wmctrl -r :SELECT: -t18</Program>
 <Program label="20">wmctrl -r :SELECT: -t19</Program>
 <Program label="21">wmctrl -r :SELECT: -t20</Program>
 <Program label="22">wmctrl -r :SELECT: -t21</Program>
 <Program label="23">wmctrl -r :SELECT: -t22</Program>
 <Program label="24">wmctrl -r :SELECT: -t23</Program>
 </Menu> 
 
 
 <Menu label="Layer">
 <Program label="below">wmctrl -r :SELECT: -b add,below</Program>
 <Program label="normal">wmctrl -r :SELECT: -b remove,above,below</Program>
 <Program label="above">wmctrl -r :SELECT: -b add,above</Program>
 </Menu>
 
<Program label="Stick/Unstick">wmctrl -r :SELECT: -b toggle,sticky</Program>
 <Program label="Stick">wmctrl -r :SELECT: -b add,sticky</Program>
 <Program label="Unstick">wmctrl -r :SELECT: -b remove,sticky</Program>
<Minimize/>
<Maximize/>
<Close/>
<Kill/>
</Menu>
<Menu label="Send To, Layer, Stick--ACTIVE" icon="" height="16">
<Program label="showdesktop" icon="" >xdotool key alt+shift+Down</Program>
<Program label="windows menu" icon="" >xdotool key alt+ctrl+shift+w</Program>
 <Menu label="Send To" icon="" height="16">
 <Program label="1">wmctrl -r :ACTIVE: -t0</Program>
 <Program label="2">wmctrl -r :ACTIVE: -t1</Program>
 <Program label="3">wmctrl -r :ACTIVE: -t2</Program>
 <Program label="4">wmctrl -r :ACTIVE: -t3</Program>
 <Program label="5">wmctrl -r :ACTIVE: -t4</Program>
 <Program label="6">wmctrl -r :ACTIVE: -t5</Program>
 <Program label="7">wmctrl -r :ACTIVE: -t6</Program>
 <Program label="8">wmctrl -r :ACTIVE: -t7</Program>
 <Program label="9">wmctrl -r :ACTIVE: -t8</Program>
 <Program label="10">wmctrl -r :ACTIVE: -t9</Program>
 <Program label="11">wmctrl -r :ACTIVE: -t10</Program>
 <Program label="12">wmctrl -r :ACTIVE: -t11</Program>
 <Program label="13">wmctrl -r :ACTIVE: -t12</Program>
 <Program label="14">wmctrl -r :ACTIVE: -t13</Program>
 <Program label="15">wmctrl -r :ACTIVE: -t14</Program>
 <Program label="16">wmctrl -r :ACTIVE: -t15</Program>
 <Program label="17">wmctrl -r :ACTIVE: -t16</Program>
 <Program label="18">wmctrl -r :ACTIVE: -t17</Program>
 <Program label="19">wmctrl -r :ACTIVE: -t18</Program>
 <Program label="20">wmctrl -r :ACTIVE: -t19</Program>
 <Program label="21">wmctrl -r :ACTIVE: -t20</Program>
 <Program label="22">wmctrl -r :ACTIVE: -t21</Program>
 <Program label="23">wmctrl -r :ACTIVE: -t22</Program>
 <Program label="24">wmctrl -r :ACTIVE: -t23</Program>
 
 <Program label="Stick/Unstick">wmctrl -r :ACTIVE: -b toggle,sticky</Program>
 </Menu> 
 <Program label="Stick">wmctrl -r :ACTIVE: -b add,sticky</Program>
 <Program label="Unstick">wmctrl -r :ACTIVE: -b remove,sticky</Program>
 
 <Menu label="Layer">
 <Program label="below">wmctrl -r :ACTIVE: -b add,below</Program>
 <Program label="normal">wmctrl -r :ACTIVE: -b remove,above,below</Program>
 <Program label="above">wmctrl -r :ACTIVE: -b add,above</Program>
 </Menu>
 </Menu>
</Menu>
<Program label="close all active instances of program" icon="">cadi</Program>
<Program label="close all current desktop's instances of program" icon="">ccdi</Program>
<Include>/root/singmon2</Include>
<!-- <Include>/root/singmon2</Include> -->
<!-- <Include>/root/dubmon2</Include> -->
<Program label="close all rox windows" icon="">rox -D /</Program>
</Menu>
</JWM>

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

(updated) singmon and dubmon menus

#153 Post by Puppus Dogfellow »

dubmon:

Code: Select all

<JWM>

<Menu label="dub mon 2 Double Monitors Menu" icon="" height="16">
   <Menu label="for double monitors ACTIVE " icon="" height="16">

<Program label="upper left quadrant of left screen" icon="a1.png">a1</Program>
<Program label="upper right quadrant of left screen " icon="a2.png">a2</Program>
<Program label="lower left quadrant of left screen " icon="a3.png">a3</Program>
<Program label="lower right quadrant of left screen " icon="a4.png">a4</Program>
<Program label="quadrant-sized window placed at center of left screen " icon="a5.png">a5</Program>
 <Separator/>
<Program label="upper left quadrant of right screen" icon="a6.png">a6</Program>
<Program label="upper right quadrant of right screen" icon="a7.png">a7</Program>
<Program label="lower left quadrant of right screen " icon="a8.png">a8</Program>
<Program label="lower right quadrant of right screen" icon="a9.png">a9</Program>
<Program label="quadrant-sized window placed at center of right screen " icon="a10.png">a10</Program>
 <Separator/>
 
<Menu label="size and placement 2, active">
<Menu label="Left to Right" icon="" height="16">   
<Program label="x=0" icon="">x0a</Program>
<Program label="x=100" icon="">x100</Program>
<Program label="x=200" icon="">x200</Program>
<Program label="x=300" icon="">x300</Program>
<Program label="x=400" icon="">x400</Program>
<Program label="x=500" icon="">x500</Program>
<Program label="x=600" icon="">x600</Program>
<Program label="x=700" icon="">x700</Program>
<Program label="x=800" icon="">x800</Program>
<Program label="x=900" icon="">x900</Program>
<Menu label="more" icon="" height="16">
<Program label="x=1000" icon="">x1000</Program>
<Program label="x=1100" icon="">x1100</Program>
<Program label="x=1200" icon="">x1200</Program>
<Program label="x=1300" icon="">x1300</Program>
<Program label="x=1400" icon="">x1400</Program>
<Program label="x=1500" icon="">x1500</Program>
<Program label="x=1600" icon="">x1600</Program>
<Program label="x=1800" icon="">x1800</Program>
<Program label="x=2000" icon="">x2000</Program>
<Program label="x=2200" icon="">x2200</Program>
</Menu>
</Menu>
 
<Menu label="Top to Bottom" icon="" height="16">
<Program label="y=0" icon="">y0</Program>
<Program label="y=50" icon="">y50</Program>
<Program label="y=100" icon="">y100</Program>
<Program label="y=150" icon="">y150</Program>
<Program label="y=200" icon="">y200</Program>
<Program label="y=250" icon="">y250</Program>
<Program label="y=300" icon="">y300</Program>
<Program label="y=350" icon="">y350</Program>
<Program label="y=400" icon="">y400</Program>
<Program label="y=450" icon="">y450</Program>
<Menu label="more" icon="" height="16">
<Program label="y=550" icon="">y550</Program>
<Program label="y=650" icon="">y650</Program>
<Program label="y=750" icon="">y750</Program>
<Program label="y=850" icon="">y850</Program>
<Program label="y=950" icon="">y950</Program>
</Menu>
</Menu> 

 <Menu label="Square" icon="" height="16">
<Program label="250" icon="">250</Program>
<Program label="300" icon="">300</Program>
<Program label="350" icon="">350</Program>
<Program label="450" icon="">450</Program>
<Program label="500" icon="">500</Program>
<Program label="550" icon="">550</Program>
<Program label="650" icon="">650</Program>
<Program label="750" icon="">750</Program>
<Program label="850" icon="">850</Program>   
</Menu>
   
<Menu label="Landscape" icon="" height="16">
<Program label="w400h300" icon="">w400h300a</Program>
<Program label="w450h300" icon="">w450h300a</Program>
<Program label="w500h400" icon="">w500h400a</Program>
<Program label="w550h400" icon="">w550h400a</Program>
<Program label="w600h500" icon="">w600h500a</Program>
<Program label="w650h500" icon="">w650h500a</Program>
 </Menu> 
       
<Menu label="Portrait" icon="" height="16">
<Program label="w300h400" icon="">w300h400a</Program>
<Program label="w300h450" icon="">w300h450a</Program>
<Program label="w400h500" icon="">w400h500a</Program>
<Program label="w400h550" icon="">w400h550a</Program>
<Program label="w500h600" icon="">w500h600a</Program>
<Program label="w500h650" icon="">w500h650a</Program>
</Menu>
   
<Menu label="Window Size and Placement" icon="" height="16">
<Menu label="Left Side Placement" icon="" height="16">
<Program label="upper left /2" icon="">upl2a</Program>
<Program label="upper left /3" icon="">upl3a</Program>
<Program label="upper left /4" icon="">upl4a</Program>
<Program label="upper left /5" icon="">upl5a</Program>
<Program label="lower left /2" icon="">lwl2a</Program>
<Program label="lower left /3" icon="">lwl3a</Program>
<Program label="lower left /4" icon="">lwl4a</Program>
<Program label="lower left /5" icon="">lwl5a</Program>
</Menu>
<Menu label="Right Side Placement" icon="" height="16">
<Program label="upper right /2" icon="">upr2a</Program>
<Program label="upper right /3" icon="">upr3a</Program>
<Program label="upper right /4" icon="">upr4a</Program>
<Program label="upper right /5" icon="">upr5a</Program>
<Program label="lower right /2" icon="">lwr2a</Program>
<Program label="lower right /3" icon="">lwr3a</Program>
<Program label="lower right /4" icon="">lwr4a</Program>
<Program label="lower right /5" icon="">lwr5a</Program>
</Menu>

</Menu>
</Menu>

    <Separator/>
 
<Program label="left half of left screen" icon="b1.png">b1</Program>
<Program label="right half of left screen" icon="b2.png">b2</Program>
<Program label="top half of left screen" icon="b3.png">b3</Program>
<Program label="bottom half of left screen" icon="b4.png">b4</Program>
<Program label="full screen left " icon="b5.png">b5</Program>
 <Separator/>
<Program label="left half of right screen" icon="b6.png">b6</Program>
<Program label="right half of right screen" icon="b7.png">b7</Program>
<Program label="top half of right screen " icon="b8.png">b8</Program>
<Program label="bottom half of right screen" icon="b9.png">b9</Program>
<Program label="full screen right  " icon="b10.png">b10</Program>

<Menu label="Send To, Layer, Stick--ACTIVE" icon="" height="16">
 <Menu label="Send To" icon="" height="16">
   <Program label="1">wmctrl -r :ACTIVE: -t0</Program>
   <Program label="2">wmctrl -r :ACTIVE: -t1</Program>
      <Program label="3">wmctrl -r :ACTIVE: -t2</Program>
   <Program label="4">wmctrl -r :ACTIVE: -t3</Program>
      <Program label="5">wmctrl -r :ACTIVE: -t4</Program>
   <Program label="6">wmctrl -r :ACTIVE: -t5</Program>
      <Program label="7">wmctrl -r :ACTIVE: -t6</Program>
   <Program label="8">wmctrl -r :ACTIVE: -t7</Program>
      <Program label="9">wmctrl -r :ACTIVE: -t8</Program>
   <Program label="10">wmctrl -r :ACTIVE: -t9</Program>
         <Program label="11">wmctrl -r :ACTIVE: -t10</Program>
   <Program label="12">wmctrl -r :ACTIVE: -t11</Program>
      <Program label="13">wmctrl -r :ACTIVE: -t12</Program>
   <Program label="14">wmctrl -r :ACTIVE: -t13</Program>
      <Program label="15">wmctrl -r :ACTIVE: -t14</Program>
   <Program label="16">wmctrl -r :ACTIVE: -t15</Program>
      <Program label="17">wmctrl -r :ACTIVE: -t16</Program>
   <Program label="18">wmctrl -r :ACTIVE: -t17</Program>
      <Program label="19">wmctrl -r :ACTIVE: -t18</Program>
   <Program label="20">wmctrl -r :ACTIVE: -t19</Program>
   <Program label="21">wmctrl -r :ACTIVE: -t20</Program>
      <Program label="22">wmctrl -r :ACTIVE: -t21</Program>
   <Program label="23">wmctrl -r :ACTIVE: -t22</Program>
      <Program label="24">wmctrl -r :ACTIVE: -t23</Program>
   
    <Program label="Stick/Unstick">wmctrl -r :ACTIVE: -b toggle,sticky</Program>
 </Menu>   

 <Program label="Stick">wmctrl -r :ACTIVE: -b add,sticky</Program>
 <Program label="Unstick">wmctrl -r :ACTIVE: -b remove,sticky</Program>
 
 <Menu label="Layer">
   <Program label="below">wmctrl -r :ACTIVE: -b add,below</Program>
   <Program label="normal">wmctrl -r :ACTIVE: -b remove,above,below</Program>
   <Program label="above">wmctrl -r :ACTIVE: -b add,above</Program>
 </Menu>

 </Menu>
</Menu>
   
   
   
<Menu label="for double monitors: SELECT (crosshairs) version" icon="" height="16">

<Program label="upper left quadrant of left screen" icon="as1.png">as1</Program>
<Program label="upper right quadrant of left screen " icon="as2.png">as2</Program>
<Program label="lower left quadrant of left screen " icon="as3.png">as3</Program>
<Program label="lower right quadrant of left screen " icon="as4.png">as4</Program>
<Program label="quadrant-sized window placed at center of left screen " icon="as5.png">as5</Program>
   <Separator/>
<Program label="upper left quadrant of right screen" icon="as6.png">as6</Program>
<Program label="upper right quadrant of right screen" icon="as7.png">as7</Program>
<Program label="lower left quadrant of right screen " icon="as8.png">as8</Program>
<Program label="lower right quadrant of right screen" icon="as9.png">as9</Program>
<Program label="quadrant-sized window placed at center of right screen " icon="as10.png">as10</Program>
   <Separator/>
   
   
   
<Menu label="size and placement 2, select">



<Menu label="Left to Right" icon="" height="16">   
<Program label="x=0" icon="">x0</Program>
<Program label="x=100" icon="">x100s</Program>
<Program label="x=200" icon="">x200s</Program>
<Program label="x=300" icon="">x300s</Program>
<Program label="x=400" icon="">x400s</Program>
<Program label="x=500" icon="">x500s</Program>
<Program label="x=600" icon="">x600s</Program>
<Program label="x=700" icon="">x700s</Program>
<Program label="x=800" icon="">x800s</Program>
<Program label="x=900" icon="">x900s</Program>
<Menu label="more" icon="" height="16">
<Program label="x=1000" icon="">x1000s</Program>
<Program label="x=1100" icon="">x1100s</Program>
<Program label="x=1200" icon="">x1200s</Program>
<Program label="x=1300" icon="">x1300s</Program>
<Program label="x=1400" icon="">x1400s</Program>
<Program label="x=1500" icon="">x1500s</Program>
<Program label="x=1600" icon="">x1600s</Program>
<Program label="x=1800" icon="">x1800s</Program>
<Program label="x=2000" icon="">x2000s</Program>
<Program label="x=2200" icon="">x2200s</Program>
</Menu>
</Menu>
 
<Menu label="Top to Bottom" icon="" height="16">
<Program label="y=0" icon="">y0s</Program>
<Program label="y=50" icon="">y50s</Program>
<Program label="y=100" icon="">y100s</Program>
<Program label="y=150" icon="">y150s</Program>
<Program label="y=200" icon="">y200s</Program>
<Program label="y=250" icon="">y250s</Program>
<Program label="y=300" icon="">y300s</Program>
<Program label="y=350" icon="">y350s</Program>
<Program label="y=400" icon="">y400s</Program>
<Program label="y=450" icon="">y450s</Program>
<Menu label="more" icon="" height="16">
<Program label="y=550" icon="">y550s</Program>
<Program label="y=650" icon="">y650s</Program>
<Program label="y=750" icon="">y750s</Program>
<Program label="y=850" icon="">y850s</Program>
<Program label="y=950" icon="">y950s</Program>
</Menu>
</Menu> 

 <Menu label="Square" icon="" height="16">
<Program label="250" icon="">250s</Program>
<Program label="300" icon="">300s</Program>
<Program label="350" icon="">350s</Program>
<Program label="450" icon="">450s</Program>
<Program label="500" icon="">500s</Program>
<Program label="550" icon="">550s</Program>
<Program label="650" icon="">650s</Program>
<Program label="750" icon="">750s</Program>
<Program label="850" icon="">850s</Program>   
</Menu>
   
<Menu label="Landscape" icon="" height="16">
<Program label="w400h300" icon="">w400h300</Program>
<Program label="w450h300" icon="">w450h300</Program>
<Program label="w500h400" icon="">w500h400</Program>
<Program label="w550h400" icon="">w550h400</Program>
<Program label="w600h500" icon="">w600h500</Program>
<Program label="w650h500" icon="">w650h500</Program>
 </Menu> 
       
<Menu label="Portrait" icon="" height="16">
<Program label="w300h400" icon="">w300h400</Program>
<Program label="w300h450" icon="">w300h450</Program>
<Program label="w400h500" icon="">w400h500</Program>
<Program label="w400h550" icon="">w400h550</Program>
<Program label="w500h600" icon="">w500h600</Program>
<Program label="w500h650" icon="">w500h650</Program>
</Menu>
   
<Menu label="Window Size and Placement" icon="" height="16">
<Menu label="Left Side Placement" icon="" height="16">
<Program label="upper left /2" icon="">upl2</Program>
<Program label="upper left /3" icon="">upl3</Program>
<Program label="upper left /4" icon="">upl4</Program>
<Program label="upper left /5" icon="">upl5</Program>
<Program label="lower left /2" icon="">lwl2</Program>
<Program label="lower left /3" icon="">lwl3</Program>
<Program label="lower left /4" icon="">lwl4</Program>
<Program label="lower left /5" icon="">lwl5</Program>
</Menu>
<Menu label="Right Side Placement" icon="" height="16">
<Program label="upper right /2" icon="">upr2</Program>
<Program label="upper right /3" icon="">upr3</Program>
<Program label="upper right /4" icon="">upr4</Program>
<Program label="upper right /5" icon="">upr5</Program>
<Program label="lower right /2" icon="">lwr2</Program>
<Program label="lower right /3" icon="">lwr3</Program>
<Program label="lower right /4" icon="">lwr4</Program>
<Program label="lower right /5" icon="">lwr5</Program>
</Menu>   
<Separator/>

</Menu>
</Menu>
<Program label="left half of left screen" icon="bs1.png">bs1</Program>
<Program label="right half of left screen" icon="bs2.png">bs2</Program>
<Program label="top half of left screen" icon="bs3.png">bs3</Program>
<Program label="bottom half of left screen" icon="bs4.png">bs4</Program>
<Program label="full screen left " icon="bs5.png">bs5</Program>
   <Separator/>
<Program label="left half of right screen " icon="bs6.png">bs6</Program>
<Program label="right half of right screen" icon="bs7.png">bs7</Program>
<Program label="top half of right screen " icon="bs8.png">bs8</Program>
<Program label="bottom half of right screen" icon="bs9.png">bs9</Program>
<Program label="full screen right  " icon="bs10.png">bs10</Program>


 <Menu label="Send To, Layer, Stick--SELECT">   
 <Menu label="Send To">
   <Program label="1">wmctrl -r :SELECT: -t0</Program>
   <Program label="2">wmctrl -r :SELECT: -t1</Program>
    <Program label="3">wmctrl -r :SELECT: -t2</Program>
    <Program label="4">wmctrl -r :SELECT: -t3</Program>
    <Program label="5">wmctrl -r :SELECT: -t4</Program>
    <Program label="6">wmctrl -r :SELECT: -t5</Program>
     <Program label="7">wmctrl -r :SELECT: -t6</Program>
    <Program label="8">wmctrl -r :SELECT: -t7</Program>
    <Program label="9">wmctrl -r :SELECT: -t8</Program>
     <Program label="10">wmctrl -r :SELECT: -t9</Program>
      <Program label="11">wmctrl -r :SELECT: -t10</Program>
   <Program label="12">wmctrl -r :SELECT: -t11</Program>
    <Program label="13">wmctrl -r :SELECT: -t12</Program>
    <Program label="14">wmctrl -r :SELECT: -t13</Program>
    <Program label="15">wmctrl -r :SELECT: -t14</Program>
    <Program label="16">wmctrl -r :SELECT: -t15</Program>
     <Program label="17">wmctrl -r :SELECT: -t16</Program>
    <Program label="18">wmctrl -r :SELECT: -t17</Program>
    <Program label="19">wmctrl -r :SELECT: -t18</Program>
     <Program label="20">wmctrl -r :SELECT: -t19</Program>
         <Program label="21">wmctrl -r :SELECT: -t20</Program>
    <Program label="22">wmctrl -r :SELECT: -t21</Program>
    <Program label="23">wmctrl -r :SELECT: -t22</Program>
     <Program label="24">wmctrl -r :SELECT: -t23</Program>
  </Menu>   
     
   
      <Menu label="Layer">
   <Program label="below">wmctrl -r :SELECT: -b add,below</Program>
   <Program label="normal">wmctrl -r :SELECT: -b remove,above,below</Program>
   <Program label="above">wmctrl -r :SELECT: -b add,above</Program>
 </Menu>
 
<Program label="Stick/Unstick">wmctrl -r :SELECT: -b toggle,sticky</Program>
 <Program label="Stick">wmctrl -r :SELECT: -b add,sticky</Program>
 <Program label="Unstick">wmctrl -r :SELECT: -b remove,sticky</Program>

<Minimize/>
<Maximize/>
<Close/>
<Kill/>
</Menu>


</Menu>
</JWM>




singmon:

Code: Select all


	
<JWM>
<Menu label="Single Monitor Menu (alt version)" icon="" height="16">
<Menu label="for single monitors :ACTIVE:" icon="" height="16">
<Program label="top half" icon="tha.png">tophalf2</Program>
<Program label="bottom half" icon="bha.png">bottomhalf2</Program>
<Program label="left half" icon="lha.png">lefthalf2</Program>
<Program label="right half" icon="rha.png">righthalf2</Program>
<Program label="full" icon="fulla.png">fulla</Program>
<Separator/>


<Menu label="size and placement 2, active">
<Menu label="Left to Right" icon="" height="16">
<Program label="x=0" icon="">x0</Program>
<Program label="x=100" icon="">x100</Program>
<Program label="x=200" icon="">x200</Program>
<Program label="x=300" icon="">x300</Program>
<Program label="x=400" icon="">x400</Program>
<Program label="x=500" icon="">x500</Program>
<Program label="x=600" icon="">x600</Program>
<Program label="x=700" icon="">x700</Program>
<Program label="x=800" icon="">x800</Program>
<Program label="x=900" icon="">x900</Program>
<Menu label="more" icon="" height="16">
<Program label="x=1000" icon="">x1000</Program>
<Program label="x=1100" icon="">x1100</Program>
<Program label="x=1200" icon="">x1200</Program>
<Program label="x=1300" icon="">x1300</Program>
<Program label="x=1400" icon="">x1400</Program>
<Program label="x=1500" icon="">x1500</Program>
<Program label="x=1600" icon="">x1600</Program>
<Program label="x=1800" icon="">x1800</Program>
<Program label="x=2000" icon="">x2000</Program>
<Program label="x=2200" icon="">x2200</Program>
</Menu>
</Menu>

<Menu label="Top to Bottom" icon="" height="16">
<Program label="y=0" icon="">y0</Program>
<Program label="y=50" icon="">y50</Program>
<Program label="y=100" icon="">y100</Program>
<Program label="y=150" icon="">y150</Program>
<Program label="y=200" icon="">y200</Program>
<Program label="y=250" icon="">y250</Program>
<Program label="y=300" icon="">y300</Program>
<Program label="y=350" icon="">y350</Program>
<Program label="y=400" icon="">y400</Program>
<Program label="y=450" icon="">y450</Program>
<Menu label="more" icon="" height="16">
<Program label="y=550" icon="">y550</Program>
<Program label="y=650" icon="">y650</Program>
<Program label="y=750" icon="">y750</Program>
<Program label="y=850" icon="">y850</Program>
<Program label="y=950" icon="">y950</Program>
</Menu>
</Menu>

<Menu label="Square" icon="" height="16">
<Program label="250" icon="">250</Program>
<Program label="300" icon="">300</Program>
<Program label="350" icon="">350</Program>
<Program label="450" icon="">450</Program>
<Program label="500" icon="">500</Program>
<Program label="550" icon="">550</Program>
<Program label="650" icon="">650</Program>
<Program label="750" icon="">750</Program>
<Program label="850" icon="">850</Program>
</Menu>

<Menu label="Landscape" icon="" height="16">
<Program label="w400h300" icon="">w400h300a</Program>
<Program label="w450h300" icon="">w450h300a</Program>
<Program label="w500h400" icon="">w500h400a</Program>
<Program label="w550h400" icon="">w550h400a</Program>
<Program label="w600h500" icon="">w600h500a</Program>
<Program label="w650h500" icon="">w650h500a</Program>
</Menu>

<Menu label="Portrait" icon="" height="16">
<Program label="w300h400" icon="">w300h400a</Program>
<Program label="w300h450" icon="">w300h450a</Program>
<Program label="w400h500" icon="">w400h500a</Program>
<Program label="w400h550" icon="">w400h550a</Program>
<Program label="w500h600" icon="">w500h600a</Program>
<Program label="w500h650" icon="">w500h650a</Program>
</Menu>

<Menu label="Window Size and Placement" icon="" height="16">
<Menu label="Left Side Placement" icon="" height="16">
<Program label="upper left /2" icon="">upl2a</Program>
<Program label="upper left /3" icon="">upl3a</Program>
<Program label="upper left /4" icon="">upl4a</Program>
<Program label="upper left /5" icon="">upl5a</Program>
<Program label="lower left /2" icon="">lwl2a</Program>
<Program label="lower left /3" icon="">lwl3a</Program>
<Program label="lower left /4" icon="">lwl4a</Program>
<Program label="lower left /5" icon="">lwl5a</Program>
</Menu>
<Menu label="Right Side Placement" icon="" height="16">
<Program label="upper right /2" icon="">upr2a</Program>
<Program label="upper right /3" icon="">upr3a</Program>
<Program label="upper right /4" icon="">upr4a</Program>
<Program label="upper right /5" icon="">upr5a</Program>
<Program label="lower right /2" icon="">lwr2a</Program>
<Program label="lower right /3" icon="">lwr3a</Program>
<Program label="lower right /4" icon="">lwr4a</Program>
<Program label="lower right /5" icon="">lwr5a</Program>
</Menu>

</Menu>
</Menu>
<Separator/>


<Program label="upper left quadrant" icon="ul.png">upperleftquadrant2</Program>
<Program label="upper right quadrant" icon="ur.png">upperrightquadrant2</Program>
<Program label="lower left quadrant" icon="ll.png">lowerleftquadrant2</Program>
<Program label="lower right quadrant" icon="lr.png">lowerrightquadrant2</Program>
<Program label="centered" icon="c.png">lp5a</Program>




<Menu label="Send To, Layer, Stick--ACTIVE" icon="" height="16">
<Menu label="Send To" icon="" height="16">
<Program label="1">wmctrl -r :ACTIVE: -t0</Program>
<Program label="2">wmctrl -r :ACTIVE: -t1</Program>
<Program label="3">wmctrl -r :ACTIVE: -t2</Program>
<Program label="4">wmctrl -r :ACTIVE: -t3</Program>
<Program label="5">wmctrl -r :ACTIVE: -t4</Program>
<Program label="6">wmctrl -r :ACTIVE: -t5</Program>
<Program label="7">wmctrl -r :ACTIVE: -t6</Program>
<Program label="8">wmctrl -r :ACTIVE: -t7</Program>
<Program label="9">wmctrl -r :ACTIVE: -t8</Program>
<Program label="10">wmctrl -r :ACTIVE: -t9</Program>
<Program label="11">wmctrl -r :ACTIVE: -t10</Program>
<Program label="12">wmctrl -r :ACTIVE: -t11</Program>
<Program label="13">wmctrl -r :ACTIVE: -t12</Program>
<Program label="14">wmctrl -r :ACTIVE: -t13</Program>
<Program label="15">wmctrl -r :ACTIVE: -t14</Program>
<Program label="16">wmctrl -r :ACTIVE: -t15</Program>
<Program label="17">wmctrl -r :ACTIVE: -t16</Program>
<Program label="18">wmctrl -r :ACTIVE: -t17</Program>
<Program label="19">wmctrl -r :ACTIVE: -t18</Program>
<Program label="20">wmctrl -r :ACTIVE: -t19</Program>
<Program label="21">wmctrl -r :ACTIVE: -t20</Program>
<Program label="22">wmctrl -r :ACTIVE: -t21</Program>
<Program label="23">wmctrl -r :ACTIVE: -t22</Program>
<Program label="24">wmctrl -r :ACTIVE: -t23</Program>

<Program label="Stick/Unstick">wmctrl -r :ACTIVE: -b toggle,sticky</Program>
</Menu>

<Program label="Stick">wmctrl -r :ACTIVE: -b add,sticky</Program>
<Program label="Unstick">wmctrl -r :ACTIVE: -b remove,sticky</Program>

<Menu label="Layer">
<Program label="below">wmctrl -r :ACTIVE: -b add,below</Program>
<Program label="normal">wmctrl -r :ACTIVE: -b remove,above,below</Program>
<Program label="above">wmctrl -r :ACTIVE: -b add,above</Program>
</Menu>

</Menu>




</Menu>

<Menu label="for single monitors :SELECT:" icon="" height="16">
<Program label="top half" icon="th.png">tophalf</Program>
<Program label="bottom half" icon="bh.png">bottomhalf</Program>
<Program label="left half" icon="lh.png">lefthalf</Program>
<Program label="right half" icon="rh.png">righthalf</Program>
<Program label="full" icon="fulls.png">fulls</Program>

<Separator/>

<Menu label="size and placement 2, select">



<Menu label="Left to Right" icon="" height="16">
<Program label="x=0" icon="">x0s</Program>
<Program label="x=100" icon="">x100s</Program>
<Program label="x=200" icon="">x200s</Program>
<Program label="x=300" icon="">x300s</Program>
<Program label="x=400" icon="">x400s</Program>
<Program label="x=500" icon="">x500s</Program>
<Program label="x=600" icon="">x600s</Program>
<Program label="x=700" icon="">x700s</Program>
<Program label="x=800" icon="">x800s</Program>
<Program label="x=900" icon="">x900s</Program>
<Menu label="more" icon="" height="16">
<Program label="x=1000" icon="">x1000s</Program>
<Program label="x=1100" icon="">x1100s</Program>
<Program label="x=1200" icon="">x1200s</Program>
<Program label="x=1300" icon="">x1300s</Program>
<Program label="x=1400" icon="">x1400s</Program>
<Program label="x=1500" icon="">x1500s</Program>
<Program label="x=1600" icon="">x1600s</Program>
<Program label="x=1800" icon="">x1800s</Program>
<Program label="x=2000" icon="">x2000s</Program>
<Program label="x=2200" icon="">x2200s</Program>
</Menu>
</Menu>

<Menu label="Top to Bottom" icon="" height="16">
<Program label="y=0" icon="">y0s</Program>
<Program label="y=50" icon="">y50s</Program>
<Program label="y=100" icon="">y100s</Program>
<Program label="y=150" icon="">y150s</Program>
<Program label="y=200" icon="">y200s</Program>
<Program label="y=250" icon="">y250s</Program>
<Program label="y=300" icon="">y300s</Program>
<Program label="y=350" icon="">y350s</Program>
<Program label="y=400" icon="">y400s</Program>
<Program label="y=450" icon="">y450s</Program>
<Menu label="more" icon="" height="16">
<Program label="y=550" icon="">y550s</Program>
<Program label="y=650" icon="">y650s</Program>
<Program label="y=750" icon="">y750s</Program>
<Program label="y=850" icon="">y850s</Program>
<Program label="y=950" icon="">y950s</Program>
</Menu>
</Menu>

<Menu label="Square" icon="" height="16">
<Program label="250" icon="">250s</Program>
<Program label="300" icon="">300s</Program>
<Program label="350" icon="">350s</Program>
<Program label="450" icon="">450s</Program>
<Program label="500" icon="">500s</Program>
<Program label="550" icon="">550s</Program>
<Program label="650" icon="">650s</Program>
<Program label="750" icon="">750s</Program>
<Program label="850" icon="">850s</Program>
</Menu>

<Menu label="Landscape" icon="" height="16">
<Program label="w400h300" icon="">w400h300</Program>
<Program label="w450h300" icon="">w450h300</Program>
<Program label="w500h400" icon="">w500h400</Program>
<Program label="w550h400" icon="">w550h400</Program>
<Program label="w600h500" icon="">w600h500</Program>
<Program label="w650h500" icon="">w650h500</Program>
</Menu>

<Menu label="Portrait" icon="" height="16">
<Program label="w300h400" icon="">w300h400</Program>
<Program label="w300h450" icon="">w300h450</Program>
<Program label="w400h500" icon="">w400h500</Program>
<Program label="w400h550" icon="">w400h550</Program>
<Program label="w500h600" icon="">w500h600</Program>
<Program label="w500h650" icon="">w500h650</Program>
</Menu>

<Menu label="Window Size and Placement" icon="" height="16">
<Menu label="Left Side Placement" icon="" height="16">
<Program label="upper left /2" icon="">upl2</Program>
<Program label="upper left /3" icon="">upl3</Program>
<Program label="upper left /4" icon="">upl4</Program>
<Program label="upper left /5" icon="">upl5</Program>
<Program label="lower left /2" icon="">lwl2</Program>
<Program label="lower left /3" icon="">lwl3</Program>
<Program label="lower left /4" icon="">lwl4</Program>
<Program label="lower left /5" icon="">lwl5</Program>
</Menu>
<Menu label="Right Side Placement" icon="" height="16">
<Program label="upper right /2" icon="">upr2</Program>
<Program label="upper right /3" icon="">upr3</Program>
<Program label="upper right /4" icon="">upr4</Program>
<Program label="upper right /5" icon="">upr5</Program>
<Program label="lower right /2" icon="">lwr2</Program>
<Program label="lower right /3" icon="">lwr3</Program>
<Program label="lower right /4" icon="">lwr4</Program>
<Program label="lower right /5" icon="">lwr5</Program>
</Menu>
</Menu>


<Separator/>

</Menu>
<Program label="upper left quadrant" icon="uls.png">upperleftquadrant</Program>
<Program label="upper right quadrant" icon="urs.png">upperrightquadrant</Program>
<Program label="lower left quadrant" icon="lls.png">lowerleftquadrant</Program>
<Program label="lower right quadrant" icon="lrs.png">lowerrightquadrant</Program>
<Program label="centered" icon="cs.png">lp5</Program>



<Menu label="Send To, Layer, Stick--SELECT">
<Menu label="Send To">
<Program label="1">wmctrl -r :SELECT: -t0</Program>
<Program label="2">wmctrl -r :SELECT: -t1</Program>
<Program label="3">wmctrl -r :SELECT: -t2</Program>
<Program label="4">wmctrl -r :SELECT: -t3</Program>
<Program label="5">wmctrl -r :SELECT: -t4</Program>
<Program label="6">wmctrl -r :SELECT: -t5</Program>
<Program label="7">wmctrl -r :SELECT: -t6</Program>
<Program label="8">wmctrl -r :SELECT: -t7</Program>
<Program label="9">wmctrl -r :SELECT: -t8</Program>
<Program label="10">wmctrl -r :SELECT: -t9</Program>
<Program label="11">wmctrl -r :SELECT: -t10</Program>
<Program label="12">wmctrl -r :SELECT: -t11</Program>
<Program label="13">wmctrl -r :SELECT: -t12</Program>
<Program label="14">wmctrl -r :SELECT: -t13</Program>
<Program label="15">wmctrl -r :SELECT: -t14</Program>
<Program label="16">wmctrl -r :SELECT: -t15</Program>
<Program label="17">wmctrl -r :SELECT: -t16</Program>
<Program label="18">wmctrl -r :SELECT: -t17</Program>
<Program label="19">wmctrl -r :SELECT: -t18</Program>
<Program label="20">wmctrl -r :SELECT: -t19</Program>
<Program label="21">wmctrl -r :SELECT: -t20</Program>
<Program label="22">wmctrl -r :SELECT: -t21</Program>
<Program label="23">wmctrl -r :SELECT: -t22</Program>
<Program label="24">wmctrl -r :SELECT: -t23</Program>
</Menu>


<Menu label="Layer">
<Program label="below">wmctrl -r :SELECT: -b add,below</Program>
<Program label="normal">wmctrl -r :SELECT: -b remove,above,below</Program>
<Program label="above">wmctrl -r :SELECT: -b add,above</Program>
</Menu>

<Program label="Stick/Unstick">wmctrl -r :SELECT: -b toggle,sticky</Program>
<Program label="Stick">wmctrl -r :SELECT: -b add,sticky</Program>
<Program label="Unstick">wmctrl -r :SELECT: -b remove,sticky</Program>

<Minimize/>
<Maximize/>
<Close/>
<Kill/>
</Menu>





</Menu>
</JWM>

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

single monitor setup's jwmrc-personal

#154 Post by Puppus Dogfellow »

dash-0.5.6.pet, which is required by pexec-001.pet.

gexec-0.4-pup1.pet

wmctrl-1.07-6_i386.pet

(check your package manager if you need the 64 bit wmctrl).

xdotool-2.20110530.1-3.pet

xdotool-2.20110530.1-3.1.2.x86_64.rpm

____

single monitor setup jwmrc-personal. vgt, ten menus, etc:

Code: Select all

<!-- Personally configurable options for JWM: these override default settings and theme settings -->

<JWM>
<!--<Include>/root/trayv67</Include>-->
<Include>/root/topright</Include>	
<!--<Include>/root/vtray2</Include>-->
<Include>/root/vtray1</Include>
<!--<Include>/root/topmid</Include>-->
<!--<Include>/root/topleft</Include>-->
<Include>/root/trayv6</Include>
<Include>/root/root0menu</Include>
<Include>/root/root1menu</Include>
<Include>/root/root2menu</Include>
<Include>/root/root4menu</Include>
<Include>/root/root5menu</Include>
<Include>/root/root6menu</Include>
<Include>/root/root7menu</Include>
<Include>/root/root8menu</Include>
<Include>/root/root9menu</Include>

<!-- <TrayButton label="1">root:1</TrayButton> -->
<!-- <TrayButton label="2">root:2</TrayButton> -->
<!-- <TrayButton label="4">root:4</TrayButton> -->
<!-- <TrayButton label="5">root:5</TrayButton> -->
<!-- <TrayButton label="6">root:6</TrayButton> -->
<!-- <TrayButton label="7">root:7</TrayButton> -->
<!-- <TrayButton label="8">root:8</TrayButton> -->
<!-- <TrayButton label="9">root:9</TrayButton> -->
<!-- <TrayButton label="0">root:0</TrayButton> --> 
<Key mask="CA" key="r">exec:prun</Key>

<Group>
     <Name>urxvt</Name>
        <Option>noborder</Option> 
        <Option>notitle</Option>
		<Option>sticky</Option>
    </Group>
    
  <Group>

     <Name>libreoffice4.3 --writer </Name>

		<Option>sticky</Option>
    </Group>  
    
  <Group>
     <Name>geany</Name>
         
       
		<Option>sticky</Option>
    </Group>     
    



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

<!-- Double click speed (in milliseconds) -->
<DoubleClickSpeed>400</DoubleClickSpeed>

<!-- Double click delta (in pixels) -->
<DoubleClickDelta>3</DoubleClickDelta>

<!-- The focus model (sloppy or click) -->
<FocusModel>click</FocusModel>

<!-- The snap mode (none, screen, or border) -->
<SnapMode distance="10">none</SnapMode>

<!-- The move mode (outline or opaque) -->
<MoveMode>outline</MoveMode>

<!-- The resize mode (outline or opaque) -->
<ResizeMode>outline</ResizeMode>

<WindowStyle>
  <Height>16</Height>
</WindowStyle>

<!-- Key bindings -->
<Key key="F1">window</Key>
<Key key="F2">exec:xdotool key alt+1 Down Return</Key>
<Key mask="A" key="z">exec:xdotool key alt+1 Down Return</Key> 
<Key mask="AC" key="z">exec:geany /usr/share/applications/aplist /root/.jwm/jwmrc-personal</Key> 
<Key key="F3">exec:geany /root/.jwm/jwmrc-personal /usr/share/applications/aplist</Key>
<Key key="Up">up</Key>
<Key key="Down">down</Key>
<Key key="Right">right</Key>
<Key key="Left">left</Key>
<Key key="h">left</Key>
<Key key="j">down</Key>
<Key key="k">up</Key>
<Key key="l">right</Key>
<Key key="Return">select</Key>
<Key key="Escape">escape</Key>	
<Key key="F12">root:3</Key>
<Key mask="A" key="BackSpace">exec:xdotool key alt+1 Down Return</Key>	
<Key mask="C" key="Tab">prev</Key>
<Key mask="A" key="Tab">next</Key>
<Key mask="A" key="F4">close</Key>

<Key mask="A" key="F1">root:3</Key>
<Key mask="SAC" key="w">window</Key>
<Key mask="A" key="F3">root:1</Key>
<Key mask="AC" key="w">window</Key>
<Key mask="S" key="F2">root:2</Key>
<Key mask="S" key="F1">showdesktop</Key>


 <Key mask="AC" key="r">resize</Key>
 <Key mask="AC" key="m">move</Key>
  <Key mask="SAC" key="r">resize</Key>
 <Key mask="SAC" key="m">move</Key>
 
 
 
<Key mask="C" key="F12">exec:lp25</Key
<Key mask="C" key="F11">exec:lp24</Key>
<Key mask="C" key="F10">exec:lp23</Key>
<Key mask="C" key="F9">exec:lp22</Key
<Key mask="C" key="F8">exec:lp21</Key>
<Key mask="C" key="F7">exec:righthalf2</Key>
<Key mask="C" key="F6">exec:lefthalf2</Key
<Key mask="C" key="F5">exec:bottomhalf2</Key>
<Key mask="C" key="F4">exec:tophalf2</Key>
<Key mask="C" key="F3">exec:sakura</Key
<Key mask="C" key="F2">exec:cr</Key>
<Key mask="C" key="F1">exec:3but</Key>
<Key mask="4" key="p">exec:partview</Key>
<Key mask="4" key="v">exec:xdotool key alt+1 Down Return</Key>

<Key mask="A" key="Escape">showdesktop</Key>
<Key mask="C" key="Escape">window</Key>
<Key mask="S" key="Escape">exec:xdotool key alt+1 Down Return</Key>
<Key mask="AC" key="Escape">root:6</Key>
<Key mask="AS" key="Escape">root:7</Key>
<Key mask="CS" key="Escape">root:8</Key>   
<Key mask="SAC" key="Escape">root:9</Key> 

<Key keycode="160">exec:amixer sset Master toggle</Key>
<Key keycode="176">exec:amixer sset Master 1+,1+</Key>
<Key keycode="174">exec:amixer sset Master 1-,1-</Key>
<Key keycode="178">exec:defaultbrowser</Key>
<Key keycode="236">exec:defaultbrowser</Key>
<Key keycode="111">exec:defaultscreenshot</Key>

<Key mask="A" key="Up">exec:supup</Key>
<Key mask="A" key="Down">exec:supdown</Key>
<Key mask="A" key="Right">exec:supright</Key>
<Key mask="A" key="Left">exec:supleft</Key> 

<Key mask="AC" key="Up">maximize</Key>
<Key mask="AC" key="Down">minimize</Key>
<Key mask="AC" key="Right">next</Key>
<Key mask="AC" key="Left">prev</Key> 

<Key mask="CAS" key="Up">fullscreen</Key>
<Key mask="CAS" key="Down">showdesktop</Key>
<Key mask="CAS" key="Right">resize</Key>
<Key mask="CAS" key="Left">move</Key> 

<Key mask="SA" key="Up">exec:xdotool mousemove_relative -- 0 -10</Key>
<Key mask="SA" key="Down">exec:xdotool mousemove_relative -- 0 10</Key>
<Key mask="SA" key="Right">exec:xdotool mousemove_relative -- 10 0</Key>
<Key mask="SA" key="Left">exec:xdotool mousemove_relative -- -10 0</Key> 


<Key mask="A" key="1">root:1</Key>
<Key mask="A" key="2">root:2</Key>
<Key mask="A" key="3">root:3</Key>
<Key mask="A" key="4">root:4</Key>
<Key mask="A" key="5">root:5</Key>
<Key mask="A" key="6">root:6</Key>
<Key mask="A" key="7">root:7</Key>
<Key mask="A" key="8">root:8</Key>
<Key mask="A" key="9">root:9</Key>
<Key mask="A" key="0">root:0</Key>



<Key mask="SA" key="1">exec:cr</Key>
<Key mask="SA" key="2">exec:sakura</Key>
<Key mask="SA" key="3">exec:3but</Key>
<Key mask="SA" key="4">exec:lma</Key>
<Key mask="SA" key="5">exec:laa</Key>
<Key mask="SA" key="6">exec:lba</Key>
<Key mask="SA" key="7">exec:ccdi</Key>
<Key mask="SA" key="8">close</Key>
<Key mask="SA" key="9">exec:kill</Key>
<Key mask="SA" key="0">exec:cadi</Key>


<Key mask="SC" key="1">exec:lefthalf2</Key>
<Key mask="SC" key="2">exec:righthalf2</Key>
<Key mask="SC" key="3">exec:tophalf2</Key>
<Key mask="SC" key="4">exec:bottomhalf2</Key>
<Key mask="SC" key="5">exec:fulla</Key>
<Key mask="SC" key="6">exec:lp21</Key>
<Key mask="SC" key="7">exec:lp22</Key>
<Key mask="SC" key="8">exec:lp23</Key>
<Key mask="SC" key="9">exec:lp24</Key>
<Key mask="SC" key="0">exec:lp25</Key>



<Key mask="SAC" key="1">exec:wmctrl -r :ACTIVE: -t0</Key>
<Key mask="SAC" key="2">exec:wmctrl -r :ACTIVE: -t1</Key>
<Key mask="SAC" key="3">exec:wmctrl -r :ACTIVE: -t2</Key>
<Key mask="SAC" key="4">exec:wmctrl -r :ACTIVE: -t3</Key>
<Key mask="SAC" key="5">exec:wmctrl -r :ACTIVE: -t4</Key>
<Key mask="SAC" key="6">exec:wmctrl -r :ACTIVE: -t5</Key>
<Key mask="SAC" key="7">exec:wmctrl -r :ACTIVE: -t6</Key>
<Key mask="SAC" key="8">exec:wmctrl -r :ACTIVE: -t7</Key>
<Key mask="SAC" key="9">exec:wmctrl -r :ACTIVE: -t8</Key>
<Key mask="SAC" key="0">exec:wmctrl -r :ACTIVE: -t9</Key>

#sendto d#



<Key key="h">left</Key>
<Key key="j">down</Key>
<Key key="k">up</Key>
<Key key="l">right</Key>

<Key mask="A" key="h">prev</Key>
<Key mask="A" key="j">next</Key>
<Key mask="A" key="k">move</Key>
<Key mask="A" key="l">resize</Key>

<Key mask="SC" key="h">exec:cr</Key>
<Key mask="SC" key="j">exec:winswitcher</Key>
<Key mask="SC" key="k">maximize</Key>
<Key mask="SC" key="l">minimize</Key>

<!-- exec:wmctrl -r :ACTIVE: -b add,sticky-->
<Key mask="AC" key="h">window</Key>
<Key mask="AC" key="j">exec:gexec</Key>
<Key mask="AC" key="k">showdesktop</Key>
<Key mask="AC" key="l">exec:leafpad</Key>


<Key mask="SA" key="h">exec:ccdi</Key>
<Key mask="SA" key="j">close</Key>
<Key mask="SA" key="k">exec:kill</Key>
<Key mask="SA" key="l">exec:cadi</Key>



<Key mask="SAC" key="h">fullscreen</Key>
<Key mask="SAC" key="j">exec:3but</Key>
<Key mask="SAC" key="k">maximize</Key>
<Key mask="SAC" key="l">minimize</Key> 



<Key mask="A" key="space">exec:rox</Key>
<Key mask="C" key="space">exec:winswitcher</Key>
<Key mask="S" key="space">exec:gexec</Key>
<Key mask="CA" key="space">window</Key>
<Key mask="CS" key="space">exec:sakura</Key>
<Key mask="AS" key="space">exec:closeallrox</Key>



<ButtonClose>/usr/share/pixmaps/close.png</ButtonClose>
<ButtonMax>/usr/share/pixmaps/max.png</ButtonMax>
<ButtonMaxActive>/usr/share/pixmaps/maxact.png</ButtonMaxActive>
<ButtonMin>/usr/share/pixmaps/min.png</ButtonMin>

   <Tray x="200" y="1">
      <Spacer width="1" height="1"/>
   </Tray>
#t



   <Tray x="1" y="200">
      <Spacer width="1" height="1"/>
   </Tray>
#l

   <Tray x="-1" y="200">
      <Spacer width="1" height="1"/>
   </Tray>
   #r

<!--<Tray x="200" y="-27">-->
 <!--      <Spacer width="1" height="1"/>-->
 <!--   </Tray> -->
#d


   <Tray x="200" y="-1">
      <Spacer width="1" height="1"/>
   </Tray>
#d

</JWM>
final :roll:/ :wink: / :? jwm tweak pack shortly after i get the trays and extra menus together/sorted out. change the personal files,menus, keys, scripts the keys and menus point to continually it seems. i spend an awful lot of time thinking of ways to save time...

:P

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#155 Post by greengeek »

I feel lost when I read your recent posts :-) I wish I could keep up with them but sadly my brain is too small. Anyhow, I keep watching them because something in my head tells me that your methods will help spawn some way that use of a mouse could be replaced by variations on mouseclicks represented by a finger press on a touchscreen.

Android works because a single touch on the screen is interpreted in more ways than a simple left click, and I feel that there may be some way to use your methods to make puppy interpret a leftclick as much more than just a leftclick - which I consider the major barrier to using touchsceens in puppy.

In my mind I see some method where a press on a touchscreen would trigger a script that would then interpret the next press as an 'argument' by which the first press would be defined (almost like the "NextClick" menu that appears when you rightclick the open space in a directory). Maybe the second press could be above, below, or to left or right of the first click and thereby trigger a selection of menus or functions depending on direction. (First tap = location, second tap = function etc etc).

It would be a new concept in driving a touchscreen without needing multitouch detection - and it could apply to mouse use aswell.

Maybe I'm not expressing this clearly, but oh well, never mind. I shouldn't be on the keyboard when I'm this tired :)
Time for bed...

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

#156 Post by Puppus Dogfellow »

greengeek wrote:I feel lost when I read your recent posts :-) I wish I could keep up with them but sadly my brain is too small. Anyhow, I keep watching them because something in my head tells me that your methods will help spawn some way that use of a mouse could be replaced by variations on mouseclicks represented by a finger press on a touchscreen.

Android works because a single touch on the screen is interpreted in more ways than a simple left click, and I feel that there may be some way to use your methods to make puppy interpret a leftclick as much more than just a leftclick - which I consider the major barrier to using touchsceens in puppy.

In my mind I see some method where a press on a touchscreen would trigger a script that would then interpret the next press as an 'argument' by which the first press would be defined (almost like the "NextClick" menu that appears when you rightclick the open space in a directory). Maybe the second press could be above, below, or to left or right of the first click and thereby trigger a selection of menus or functions depending on direction. (First tap = location, second tap = function etc etc).

It would be a new concept in driving a touchscreen without needing multitouch detection - and it could apply to mouse use aswell.

Maybe I'm not expressing this clearly, but oh well, never mind. I shouldn't be on the keyboard when I'm this tired :)
Time for bed...
not sure if this is what you mean, but if you can make it so that each direction out of hub (say every 30 or 45 degree slice of pie) was like the jwm up and down four and five root menus, you could have eight or nine menus pop up, each with it's own set of submenus or as possibly that same type of action could be eight or nine modifiers for subsequent "keycuts" that are really finger gestures.

or you could use one, two, or three fingers down and now you have 24-27 additional primary menus...

:D


as far as recent posts, the most recent thing is just mostly an update to what i used to refer to as "terminal shortcuts." turns out the terminal can't send wmctrl commands to resize and move the active window because it itself is the active window. i discovered gexec and pexec don't have this limitation, so i'm offering an expanded select-to-move or resize set and adding an active version for each. i use jwm to access gexec/pexec, so shift+space pops it up (it appears and autocloses basically instantly on three of four machines) and (apologize for quoting myself--i really could use some sleep myself):

naming convention's a little different for these. first part (with or without the s for select, the 1-16 part that comes before the dot) is rung down the y axis, 100 pixels per step (i.e first rung is y=0, second is y=100, etc). the second part is x-axis times 100. so,

1.20 and 5s.16 are active window to 2000x,0y and selected window to 1600x,400y. 1.0 is upper left corner.

seems to me i could've started at 0 for the y value and the period is unnecessary for the select values, but it already more or less feels natural to me, though i've discovered that some windows, or, sometimes windows can in fact be pushed past the screen edge...

pack includes active and select versions of x2300,2500,2800,and 3000 and the 1._ series goes to 30 (the others go to 20 and the y# scripts from earlier cover down to 2000 (which'd be 21._).
so that's a bunch of mini scripts that attempts to grid out the screen. many things are pretty self explanatory--bare numbers are squares-- you can make 100 to 1200 pixel squares (increments of 10 pixels) by entering 100 to 1200 into gexec or pexec. 1140s will give you cross hairs that will square the next thing you click. w800 h455s--make the window 800 pixels wide, make the next window i click 455 pixels high.

convention is:

i've come to rely on a shortcut key (shift plus space) for gexec quite a bit lately and so i decided to use it to make it as quick and easy as possible (given what little i know about computers, that is) to resize and reposition windows with the keyboard. send along the x axis and y axis go from 0-2000 by tens, height and width go from 200 to 2000 by fives. basic launch code is

x# move along x axis to #
y# move along y axis to #
w# adjust width to #pixels
h# adjust height to #pixels

add an s to make the code work on a window to be clicked rather than the active one (examples: x440, y750s, w435, h1275s)

caveat: the only two launchers i've found to work with this type of script are pexec and gexec--all the others morph and send themselves for a walk.

s# send active window to desktop#
s#s send next clicked window to desktop#
d# go to desktop#
c plus a single letter is normally a close command--cr, close rox; cu, close urxvt terminals; ct, close rxvt Terminal.
pp# --change pinboard
p# --change/toggle four panel set frame (can be altered down to one)
my# --swap out custom jwm configurations
gea3 --edit custom jwm configurations
la, lb, lm ---layer above, below, middle/normal for active window
las,lbs, lms ---layer above, below, middle/normal for selected window
stk, ustk --stick unstick active (add an s for the click to select version)
pv2--partview and rox /mnt
rr --rox recently visited
rb1 --four (iirc) rungs down on the rox bookmarks menu
rup --three rungs up from the bottom of the rox bookmarks menu
wp-- access the nwp area of one of the root menus
w5 --access the quadrants, halves, and wholes area of one of the menus
pcp --access pup control
fnr --find and run
hlx -- htop in an urvxt window and lx task ...
ppm is a built in for package manager...

1.0-1.20 grid out the screen. first number is down the y axis in steps of 100, starting with 0; second number is x axis divided by 100. select versions place an s before the dot: 1.0 is upper left corner, 7s.20 sends the next thing clicked to 600y, 2000x. increments of 100 for the grid, 10 for movement along x and y axes, 5 for height and width though square presets are by tens.

sd -- speeddials
sdr -- speed dials recent list only
gnysys -- open a slew of config files in geany
3but -- speed dials and a version of winswitcher

^ recommend also making a ws shortcut from a copy of winswitcher (i've already got it ingrained as ctrl plus spacebar).
...

keyboard's the full machine's strength and the tablet/phone's weakness. not sure if there's as much overlap as you're hoping for, greengreek...think 9 menus may be a bit much, but i suppose there's no reason why there couldn't be versions of gexec/pexec that pop up along with one of those swypey virtual keyboards...different strokes in different guis/guis launched from different menus have different results from given input...haven't played around with virtual keyboards enough to say (i buy phones with slide out keyboards and don't spend much time with tablets), but you may be onto something...

---

another possibility for the miniscripts is to use them as building blocks for your own custom resize/relocate scripts:

Code: Select all

#!/bin/sh 

w555| h765| x900| y300

is a much simpler syntax than the original
(which would be

Code: Select all

 wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
wmctrl -r :ACTIVE: -e 0,900,300,555,765
and which would need to always receive values (though here unrestricted in practical range and specificity) in a specific order.)

for the vgt (launch a line with geany) version you'd need to use the s versions unless you want to move geany around:

Code: Select all

w555s| h765s| x900s| y300s
____

in writing this post, i used the nwp "xdotool type ' '" menu entry for script to get the #!/bin/sh entered. i then tried to do it with gexec, found "scripttemplate" too long a name, changed it to scrept, used it for this paragraph, am contemplating renaming it scrz even though it's now in the gexec history....scz is better...scz enter and i wouldn't even need to look up at the screen...
Last edited by Puppus Dogfellow on Thu 21 May 2015, 16:21, edited 8 times in total.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#157 Post by greengeek »

Puppus Dogfellow wrote:not sure if this is what you mean, but if you can make it so that each direction out of hub (say every 30 or 45 degree slice of pie) was like the jwm up and down four and five root menus, you could have eight or nine menus pop up, each with it's own set of submenus or as possibly that same type of action could be eight or nine modifiers for subsequent "keycuts" that are really finger gestures. .
Yes, that sounds like the sort of concept that popped into my head.

I had another thought too - and this is something i have tried to do in the past without success - imagine your desktop wallpaper was an image that contained a picture of a machine (eg a moog synthesiser or similar) and it was possible to "activate" each of the buttons/controls on the image to do something that a mouse normally would.
Example: say you pressed the slider that says "vol" - it would bring up retrovol.
Say you pressed (or clicked) the big red button - it would bring up the power down menu
- so this would be a way of allowing the user to "visualise" the function rather than "textualise" it. I reckon this might have application for people who struggle with words (maybe some aspergers? People with dyslexia, stroke, or in systems where foreign language speakers would prefer to navigate by image/icon rather than text...)

The image would become a doorway into the functionality - using jwm instead of html.

Anyway - just spitballin' here..
Attachments
moog_backgrnd.jpg
(85.68 KiB) Downloaded 825 times

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

#158 Post by Puppus Dogfellow »

greengeek wrote:
I had another thought too - and this is something i have tried to do in the past without success - imagine your desktop wallpaper was an image that contained a picture of a machine (eg a moog synthesiser or similar) and it was possible to "activate" each of the buttons/controls on the image to do something that a mouse normally would.
Example: say you pressed the slider that says "vol" - it would bring up retrovol.
Say you pressed (or clicked) the big red button - it would bring up the power down menu
- so this would be a way of allowing the user to "visualise" the function rather than "textualise" it. I reckon this might have application for people who struggle with words (maybe some aspergers? People with dyslexia, stroke, or in systems where foreign language speakers would prefer to navigate by image/icon rather than text...)

The image would become a doorway into the functionality - using jwm instead of html.

Anyway - just spitballin' here..
well, other than maybe limiting the choice of wallpaper/pinboard and involving rox, that seems pretty doable through jwm. you could have invisible icons (link's a blank 100 pixel square--i'm so terrible with mtpaint that i've been using versions of the same hollowed out moblin stark desktop icon for two years--i still don't know how to make one from scratch) overlay the image in places and set them to activate a program, script, or menu no problem (menus and submenus can be activated with a script calling xdotool). you can populate the menus with whatever you want (optionally making them large and giving each slot some large, illustrative icon) and set it so a central/obvious/consistent part of the desktop swaps out pinboards--not many other ways around being able to have more than one backdrop and still be able to use it the way you describe (unless they make a memory game out of it or simply get used to the positions. i suppose they could learn to make their own custom fit jobbies, work a given set of features into their designs and come up with backdrops based on set(s) of programs shown or icon forms they've come up with for functions they've come up with, or...). i figure if you make the icons/areas large enough, there's not much danger of them being accidentally moved out of position (perhaps there could be a lock out/some file (the pinboards?) can be made read only).

the pinboards could swap the menu sets and themselves, the menus could swap the pinboards and themselves, the panels could do either and contain their own images or color coded areas...

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

more launcher shortcuts

#159 Post by Puppus Dogfellow »

make each of the following into individual files/scripts (suggested launch code/title after the second #) and copy to /root/my-applications/bin:

Code: Select all

#!/bin/sh
#min
xdotool key alt+shift+Escape
_______________________________________

#!/bin/sh
#max
xdotool key ctrl+shift+Escape
_______________________________________
#!/bin/sh
#fs   --full screen (my function keys are messed up and/or remapped)
xdotool key alt+Escape
_______________________________________
#!/bin/sh
#desk --show desktop (this one usually needs two passes, especially if there are many windows open)
xdotool key ctrl+Escape

_______________________________________
#!/bin/sh
#mov --move active window 
xdotool key alt+ctrl+Escape
_______________________________________
#!/bin/sh
#res --resize active window
xdotool key shift+alt+ctrl+Escape
_______________________________________
#!/bin/sh
#win --windows menu
xdotool key shift+Escape
_______________________________________

and add the following keyboard codes (what the scripts are pressing for you) to your jwmrc-personal file (make sure it's not conflicting with older keyboard shortcuts).


Code: Select all

<Key mask="A" key="Escape">fullscreen</Key>
<Key mask="C" key="Escape">showdesktop</Key>
<Key mask="S" key="Escape">window</Key>
<Key mask="AC" key="Escape">move</Key>
<Key mask="AS" key="Escape">minimize</Key>
<Key mask="CS" key="Escape">maximize</Key>   
<Key mask="SAC" key="Escape">resize</Key> 



you'll get:

fs --full screen
win --windows menu
res --resize active window
mov --move active window
min --minimize active window
max --maximize active window
desk --show desktop

__________

@greengreek: the above is basically the same script you would use to access the menus with (images overlaid by) invisible icons. add Down Left Up Right to go deeper into the menus/access submenus, repeating when necessary (i.e. Up Up Up). you could also put the dock, volume slider, and pager on the lowest level, basically making them part of the wallpaper. you can make a newbie or custom interface by having text or arrows nearby explaining what the things do. you can also make it so that there is more than one jwm configuration coming into play...

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

an attempt to automate the making of jwm menus and submenus

#160 Post by Puppus Dogfellow »

thanks to musher0 for the ae menu tutorial. for the aemenu method, you'll need aemenu.tar.bz2, unpacked and placed in a /bin.

the following menu and the two letter launching code that will pop it up should be placed in /root and /root/my-applications/bin respectively. in addition to the defaults, some rox items, and the supplemental menus, you'll get a submenu that makes it easy to make your own ae or jwm menus from executable commands or full paths to progs/scripts, etc.

Code: Select all

menu "defaults/original puppy desktop"
cmd " audiomixer" defaultaudiomixer
cmd " audioplayer" defaultaudioplayer
cmd " browser" defaultbrowser
cmd " calendar" defaultcalendar
cmd " cdplayer" defaultcdplayer
cmd " chat" defaultchat
cmd " chmviewer" defaultchmviewer
cmd " ~ 'Chooser' ~" /usr/bin/defaults-chooser
cmd " connect" defaultconnect
cmd "console" "urxvt"
cmd " contact" defaultcontact
cmd " draw" defaultdraw
cmd " email" defaultemail
cmd " htmleditor" defaulthtmleditor
cmd " htmlviewer" defaulthtmlviewer
cmd " imageviewer" defaultimageviewer
cmd " mediaplayer" defaultmediaplayer
cmd " notecase" notecase
cmd " paint" defaultpaint
cmd "puppy package manager" "ppm"
cmd "puppy control panel" "pcp"
cmd " spreadsheet" defaultspreadsheet
cmd "screen shot" "tas"
cmd " texteditor" defaulttexteditor
cmd " textviewer" defaulttextviewer
cmd " videoplayer" defaultvideoplayer
cmd " wizardwizard" wizardwizard
cmd " wordprocessor" defaultwordprocessor
cmd "Xlock setup" "/usr/local/apps/Xlock/AppRun -configure"
cmd  "Xlock lock screen" "/usr/local/apps/Xlock/AppRun -locknow"
end

 menu "rox"
 cmd "rox /" "rox /"
  cmd " ~ ROX-Filer ~" "rox ~"
 cmd " Close All Rox" "cr"
  cmd "  rox Recents  " "rr"
  cmd " rox Bookmarks" "rb"
  cmd "applications" "rox /usr/share/applications" 
  cmd "/etc" "rox /etc"
 cmd "/mnt" "rox /mnt"
 cmd "/mnt/home" "rox /mnt/home"
cmd "my-applications" "rox /root/my-applications/bin"
cmd "my-documents" "rox /root/my-documents"
cmd "rox /tmp" "rox /tmp"
cmd "rox /root/.Trash" "rox /root/.Trash"

end   
 
menu "launchers and consoles" # beginning of menu
cmd "findnrun" "fnr"
cmd "gexec" "gexec"
cmd "grun" "grun"
cmd "lxterminal" "lxterminal"
 cmd "pexec" "pexec"
cmd "prun" "prun"
cmd "roxterm" "roxterm"
cmd "rxvt" "rxvt"
cmd "sakura" "sakura" # program to launch
cmd "urxvt" "urxvt"
end # end of menu   



menu "supplemental 1" # beginning of menu
cmd "close all desktop instances" "cadi" # program to launch
cmd "close current desktop instances" "ccdi" # program to launch
cmd "partview" "partview" # program to launch
cmd "lxtask" "lxtask" # program to launch
cmd "htop" "htop" # program to launch
cmd "winswitcher" "winswitcher"
cmd "jwm -restart" "jwm -restart"
cmd "5copies" "5copies"
cmd "5copiesDir" "5copiesDir"
cmd "nwp" "wp"
cmd "left full" "b5"
cmd "right full" "b10"
cmd "slocate search all" "slac"
cmd "slocate search limited" "sloc"
cmd "slocate update databases" "sluc"
cmd "spacefm" "spacefm"
end # end of menu   

menu "supplemental 2" # beginning of menu
cmd "chromium" "chromium"
cmd "firefox" "firefox"
cmd "galculator" "galculator"
cmd "gcolor2" "gcolor2"
cmd "gfnrename" "gfnrename"
cmd "gfontsel" "gfontsel"
cmd "goldendict" "goldendict"
cmd "google-chrome" "google-chrome"
cmd "palemoon" "palemoon"
cmd "pfind" "pfind"
cmd "recoll" "recoll"
cmd "xpad-backup" "xpad-backup"
cmd "xpad-clear" "xpad-clear"
cmd "xpad" "xpad"
end # end of menu
 menu "jwm menu maker" # beginning of menu
cmd "jwmxx-leafpad-grab executables" "cd  /usr/share/applications; grep Exec= *.desktop | grep -o 'Exec=.*' | cut -f2- -d'=' > /root/my-documents/Text/jwmxx; leafpad /root/my-documents/Text/jwmxx
cmd "jwmxx-geany-grab executables" "cd  /usr/share/applications; grep Exec= *.desktop | grep -o 'Exec=.*' | cut -f2- -d'=' > /root/my-documents/Text/jwmxx; geany /root/my-documents/Text/jwmxx
 cmd "make a menu entry" "jwmkr"
cmd "add the menu template" "jwmenuplate"

 menu "ae menu maker"
cmd "ae menu item maker" "aeae"
cmd "ae menu slot maker" "aeaem"
end


end # end of menu 

#menu "supplemental 3" # beginning of menu

#end # end of menu


#name mushu1 and place in /root to be able to launch it with the mm script below/change location in mm to reflect change in location or title of mushu1

#launcher

Code: Select all

#!/bin/sh

#aemenu -rc /root/mushu1   
#name mm and place in /root/my-applications/bin/
killall -q aemenu
sleep 0.1s
aemenu -rc /root/mushu1    

the jwmxx scripts strip the executable commands from /usr/share/applications and open a file (saved in my-documents/Text) containing them in either leafpad or geany. highlight and choose which type of menu item you want to make.


convenient to launch with a gexec or terminal shortcut, but it's so easy to modify you may want to have even more direct access and give it proper keycut---alt+ctrl plus a used for anything?

further details here. i wasn't able to get the jwmkr, jwmenuplate, aeae, or aeaem scripts to work correctly from either a jwm menu or an ae menu as bare code, but they all work fine if you call them from /root/my-applications/bin by the titles the above ae menu uses.


aeae

Code: Select all

#! /bin/sh
# name aeae
# turn an executable into a menu item (aemenu)

xclip -o | sed 's/^/cmd "title-here" "/' | sed 's/$/\"/' | xclip -selection clipboard
xdotool type "`xclip -out -selection clipboard`"	



aeaem

Code: Select all

#! /bin/sh
# name aeaem
# ae menu slot template


xdotool type 'menu "title"
(your menu here)
end
'
jwmkr

Code: Select all

#! /bin/sh
# name jwmkr
#  use on executables/ paths to executables
# adds jwm menu tags around a selection of text in any text editor
xclip -o | sed 's/^/<Program label="" icon="">/' | sed 's/$/<\/Program>/' | xclip -selection clipboard
xdotool type "`xclip -out -selection clipboard`"



jwmenuplate


Code: Select all

#! /bin/sh
 #name jwmenuplate

xdotool type "<Menu label="pick a better title" icon="/path/to/img_wots_opt_icon.jpgpngsvg" height="16">


[delete this and place your entries here]

</Menu>
"



the two jwmxx entries (jwmxx-leafpad/geany-grab executables) strip the executable commands from the .desktop files in usr/share/applications. to make an off PATH executable, program, or script into a menu item for either aemenu or jwm, highlight its full path and click the appropriate menu-item maker. works for individual commands/paths or batches, separated by line break or space doesn't seem to matter though i usually rely on the former and i'm relying on memory to attest the latter works. you can mix commands and paths--the script (based on miriam's ht-b) appears to be looking for breaks in the continuity of the text...(i think this is called whitespace)


:D


---------------

for the jwm menu, add the following two scripts to /root/my-applications/bin/
(more to play it safe--the code may actually work when directly added to the menu between <program> tags, but i know for sure it works this way...

Code: Select all

#! /bin/sh 
#name gge (for geany-grabexec) and place in /root/my-applications/bin
cd  /usr/share/applications; grep Exec= *.desktop | grep -o 'Exec=.*' | cut -f2- -d'=' > /root/my-documents/Text/jwmxx; geany /root/my-documents/Text/jwmxx

Code: Select all

#! /bin/sh 
#name lge (for leafpad-grabexec) and place in /root/my-applications/bin
cd  /usr/share/applications; grep Exec= *.desktop | grep -o 'Exec=.*' | cut -f2- -d'=' > /root/my-documents/Text/jwmxx; leafpad /root/my-documents/Text/jwmxx


highlighting
aeae
aeaem
lge
gge
jwmkr
jwmenuplate

and then using the aemenu to select "make a menu entry" yields:

Code: Select all

<Program label="" icon="">aeae</Program>
<Program label="" icon="">aeaem</Program>
<Program label="" icon="">lge</Program>
<Program label="" icon="">gge</Program>
<Program label="" icon="">jwmkr</Program>
<Program label="" icon="">jwmenuplate</Program>

the jwmenutemplate is just typing/remembering the following for you when you select "add the menu template":

Code: Select all

<Menu label="pick a better title" icon="/path/to/img_wots_opt_icon.jpgpngsvg" height="16">


[delete this and place your entries here]

</Menu> 

for both the menu and its entries, the icon="" slot will take the path to an image of your choice and use it to add it to the menu, whether huge or small, jpg, png, svg--so far every image i've tried works (don't expect to see many details if you're squishing a screen or two down to a pinky nail).

the default is to fill in the program (you could alter it to do the name or image on the menu instead), leaving the name and icon slots blank. fill those in and optionally surround the whole thing with <JWM> at the beginning and </JWM> at the end. this will allow you to paste the singe line <Include>path/to/menu</Include> into the target root menu instead of having to paste the whole thing/open the whole thing to edit this one piece.

so, putting the two pieces together and adding titles for the menu slots gives us

Code: Select all

<Menu label="JWM Menu Maker" icon="" height="16">


<Program label="make an aewm menu item" icon="">aeae</Program>
<Program label="make an aewm menu/submenu" icon="">aeaem</Program>
<Program label="leafpad--grab execs" icon="">lge</Program>
<Program label="geany--grab execs" icon="">gge</Program>
<Program label="make a JWM menu item" icon="">jwmkr</Program>
<Program label="make an JWM menu/submen" icon="">jwmenuplate</Program>

</Menu> 

a menu that will make menu making even easier.

:D


______


path gathering tip:

when making menus, it's often helpful to be able to easily grab the paths of one or more files (full paths always work if the permissions are set and the file's okay--the bare name may not). an easy way using a combination of rox filer and either leafpad or xpad is to highlight the file(s) you want in a rox window and then either middle click-pasting or dragon dropping the highlight to the x- or leafpad window. for geany, only the middle click pasting method works--dragging the files to the geany window will open them in geany (i.e. same behavior as a desktop icon).

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

nearly all the custom packs in one folder that can be left

#161 Post by Puppus Dogfellow »

Gaexec_Paexack-jwm.tar.xz


nine extra root menus, ten other configurations you can switch to, the vgt geany line launcher, the nooby ethereal word processor, all the terminal shortcuts, some configurations for you to choose or not, windows repositioning and resizing scripts and shortcuts, rox bookmarks (at least three versions), MochiMoppel's WinSwitcher and SpeedDials, and very little for you to do and very little footprint left behind:

copy the nwp folder in the compressed folder to / (create a new top level directory, /nwp). will fill in details a bit later, but this is pretty much all the customizations that have come from this thread but redone in a way so as not to rely so heavily on the /root/my-applications/bin folder.

haven't tested yet but the menus were made with a series of text substition in geany-- a method that so far has proven at least as reliabe as manually creating the files. the ae menus they're based on and the original jwm menus those are based on (coming full circle/basically swapping two parts of a path) all work fine.

...nwp, vgt, sing, dub menus all work...the ae stuff works...

requires the following (all included as separate pets):

aemenu, wmctrl, xdotool, pexec, dash, gexec (optional. the main launcher (aside from aemenu and jwm) is pexec set to pop open having pretyped "/nwp/", which will allow you to use the terminal shortcuts therein even though they were never placed in the PATH. or on the PATH--the machine doesn't know to look for them, so if you want to use a launcher for some quick tab-completion access to stuff, type fnr into the pexec popup (at least one of the included jwmrc-personal files has pxc (this modified pexec launcher) binded to shift+spacebar--it's pretty convenient to type three or four characters to do just about anything you need done as far as opening files, positioning and resizing windows, etc.

i added a slot to auto generate the six puppypins needed for the puppypin switcher, and fixed some bad program links. see the following threads for further details. if something won't run, check the files in rox--they should be green. change permissions if they're not.


vgt

nwp


---------

short version: this is the gaexec paexack from the nwp thread but with forty or so jwm specific files. aemenu's ability to popup from keys or the terminal complements jwm well, i think. anyway, it's here if you want it:

Gaexec_Paexack-jwm.tar.xz


whole thing is basically a drop in. pxc goes to root/my-applications/bin, nwp goes under /, and there's a simple little tray (10but, which is in the root3 folder in /nwp) that's set to autohide over the top middle--here's the readme:
easiest way to get the nine other jwm root menus is probably to paste the following into your /root/.jwm/jwmrc-personal file:

<Include>/nwp/root3/10but<Include>



the above will use the nine menu blanks folder--the nine extra menus aren't exactly blank, but they're a lot more sparse than the ones off my precise 55 machine (trays and jwm config files included if you're interested--that was a dual monitor set up. the single is from a ~572 installation (a derivative of precise 571). they are a lot more involved and customized--i figured you may want to start from scratch, but 4 and 5 are the single monitor and dual monitor menus, 0 will give you a chance to get familiar with some of the ae menus that can be activated a number of ways, and 1 is the nwp menu...



following is the original readme to the config switch with some of the "/root/my-applications/root3" swapped out for "/nwp/root3/"--nothing to be done; this is just here for background and the above.


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 /nwp/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:


<Menu label="jwm config switch" icon="" height="16">



<Menu label="jwm config switch" icon="" height="16">
<Program label="gjwm">/nwp/gjwm</Program>
<Program label="my3">/nwp/my3</Program>
<Program label="my30">/nwp/my30</Program>
<Program label="my31">/nwp/my31</Program>
<Program label="my32">/nwp/my32</Program>
<Program label="my33">/nwp/my33</Program>
<Program label="my34">/nwp/my34</Program>
<Program label="my35">/nwp/my35</Program>
<Program label="my36">/nwp/my36</Program>
<Program label="my37">/nwp/my37</Program>
<Program label="my38">/nwp/my38</Program>
<Program label="my39">/nwp/my39</Program>
<Program label="orig3">/nwp/orig3</Program>
<Program label="make 6 puppy pins">/nwp/mk6p</Program>
</Menu>






# nwp menu entry for aemenu: cmd "make 6 puppy pins for pp# series" "/nwp/mk6p"
# nwp menu entry for jwm: <Program label="make 6 puppy pins">/nwp/mk6p</Program>
</Menu>

ae menu version:

menu "jwm config switch"
cmd "gjwm" "/nwp/gjwm"
cmd "my3" "/nwp/my3"
cmd "my30" "/nwp/my30"
cmd "my31" "/nwp/my31"
cmd "my32" "/nwp/my32"
cmd "my33" "/nwp/my33"
cmd "my34" "/nwp/my34"
cmd "my35" "/nwp/my35"
cmd "my36" "/nwp/my36"
cmd "my37" "/nwp/my37"
cmd "my38" "/nwp/my38"
cmd "my39" "/nwp/my39"
cmd "orig3" "/nwp/orig3"
cmd "make 6 puppy pins for pp# series" "/nwp/mk6p"
end



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 /nwp/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.)

---------


new shortcuts (off PATH so no conflicts with cryptic system scripts and utilities with this method; you could use pretty much any character(s) the system deems allowable as file names to launch programs and scripts) with the above pxc script searching through/acting on /nwp/ (this is what's on the root0 menu if you're using the 10but includes line (remember to restart jwm to see the changes). if you use either jwmrc-personal in /nwp/root/3 (there's one in the 572 folder and another in the 55 folder), alt+0-9 activate the menus. on blank desktop, the mouse is also the first five root menus (left click is root 1, middle click is root2, right is root3 (main menu), scroll up is root4, scroll down is 5), so moving (change your jwmrc-tray setting from x=0 to x=1) your tray right by one pixel allows you to throw the mouse in/slide your finger to the lower left corner to access roots 1-5, which in turn allows you to make the top autohide tray shorter (menus 6-0 plus now more room for whatever you want to add.)

the aemenu (pxc script plus the emboldened below or) pop ups on root0 (text coming from http://www.murga-linux.com/puppy/viewto ... 881#850881 and the post above it):


1 single monitor menu
2 double monitor menu
g grid menu
x x axis menu
y y axis menu
w width menu
h height menu
mv move
wn windows menu
mx maximize window
o old windows manipulation menu
s new version of supplemental menus


n is the original nwpus menu, n1 is the full word-processing menu without any of the supplementals. it has n2 and n3 as submenus but gives some prominence to the overall document formatting commands from from n3; n2 is just the highlight and click to apply word processing/html code section, and n3 is the paste and place section of the main (word processing) menu.



it's often quicker to have the machine spit out the tags and leave the placement to you rather than have it auto delete then recreate the the text with the tags in place. the following menu just pastes the beginning and end tags for various formatting functions--it's up to you to paste them and/or follow the instructions that get printed along with them ("instructions" usually something no more than "delete this and put your text here to preserve breaks and spaces. all this other stuff is not visible when the document is viewed in a browser," and frequently something a good deal less.)
all items are set to work on active window.


some other useful pxc shortcuts (enter the bold text in the modified pexec launcher to by-pass the menu popups and enter the commands to their right directly (adapted from the earlier http://www.murga-linux.com/puppy/viewto ... 711#846711)):
some pxc shortcuts of note:

s# send active window to desktop#
s#s send next clicked window to desktop#
d# go to desktop#
c plus a single letter is normally a close command--cr, close rox; cu, close urxvt terminals; ct, close rxvt Terminal.
pp# --change pinboard
p# --change/toggle four panel set frame (can be altered down to one)
my# --swap out custom jwm configurations
gea3 --edit custom jwm configurations
la, lb, lm ---layer above, below, middle/normal for active window
las,lbs, lms ---layer above, below, middle/normal for selected window
stk, ustk --stick unstick active (add an s for the click to select version)
pv2--partview and rox /mnt
rr --rox recently visited
rb1 --four (iirc) rungs down on the rox bookmarks menu
rup --three rungs up from the bottom of the rox bookmarks menu
wp-- access the nwp area of one of the root menus
w5 --access the quadrants, halves, and wholes area of one of the root (jwm) menus
pcp --access pup control
fnr --find and run
hlx -- htop in an urvxt window and lx task ...
ppm is a built in for package manager (will work without pxc launcher or anything having been symlinked to /root/my-applications/bin)
x# move to # on x-axis (increments of 10)
y# move to # on y-axis (increments of 10)
h# width (increments of 5)
w# width (increments of 5)
rs resize
sd -- speeddials
sdr -- speed dials recent list only
gnysys -- open a slew of config files in geany
3but -- speed dials and a version of winswitcher
ws -- winswitcher (also ctrl plus spacebar).
1g0-1g30 grid out the screen. first number is down the y axis in steps of 100, starting with 0; second number is x axis divided by 100. select versions replace the g with an s: 1g0 is upper left corner, 7s20 sends the next thing clicked to 600y, 2000x. increments of 100 for the grid, 10 for movement along x and y axes, 5 for height and width though square presets (bare #) are by tens.

add an s to make the code work on a window to be clicked rather than the active one (examples: x440, y750s, w435, h1275s)
screenshots of two of the configurations available in the /nwp/root3 directory:

screen shot of the custom Precise 5.5 JWM configuration, dual monitors (asymmetrical). additional left and top autohidden trays not shown but are same as below

screen shot of 572 JWM configuration, single monitor


272kb download for the version w/o the jwm additions, 293kb for the -jwm. (smaller version is in the pupli repo as The Gaexec Paexack).


--------

edit/bugfix: to get the trays in the 55 dual monitor configuration to work, you'll need to swap out the beginning of the jwmrc-personal file in /nwp/root3/dub55 with the following:

Code: Select all

 <Include>/nwp/root3/dub55/traylvert</Include>

 <Include>/nwp/root3/dub55/bottomtrayr</Include>
  <Include>toprighttrayr2</Include>

<Include>/nwp/root3/ninemenus55/root1menu</Include>
<Include>/nwp/root3/ninemenus55/root4menu</Include>
<Include>/nwp/root3/ninemenus55/root5menu</Include>
<Include>/nwp/root3/ninemenus55/root2menu</Include>
<Include>/nwp/root3/ninemenus55/root9menu</Include>
<Include>/nwp/root3/ninemenus55/root8menu</Include>
<Include>/nwp/root3/ninemenus55/root7menu</Include>
<Include>/nwp/root3/ninemenus55/root6menu</Include>
<Include>/nwp/root3/ninemenus55/root0menu</Include>
.


you'll also need to provide your own icons (next full upgrade will have better icon management).
Last edited by Puppus Dogfellow on Fri 19 Jun 2015, 01:16, edited 3 times in total.

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

alternate version of the pexec/pxc launcher

#162 Post by Puppus Dogfellow »

more legible font for the comments:

modified version of pexec launcher to use with the gaexec paexack and the nwp/nwpus directory/word processing/"word processing" functions. use if the original pxc is giving you time delay grief; this version doesn't have xdotool type anything, so timing and system idiosyncrasies don't come into play. arrow right to access the scripts in /nwp, type to enter a regular run command ("/nwp/" is already entered, but it's highlighted. typing overwrites it, the arrow key brings you to the end so you can enter the short script name). i suggest adding the two scripts that follow this one to your chosen PATH location or /nwp. since there doesn't appear to be any system conflict with a program named f or t, this would be the simplest way to quickly make up for the autoclosing pexec's lack of tab complete--findandrun does a nice job of that and you can choose whatever shortcut you want to be able to quickly reach a terminal from pxc or np, which is what i'm calling this script at the moment.

Code: Select all

#!/bin/dash

#modified version of pexec launcher to use with the gaexec paexack and the nwp/nwpus directory/word processing/"word processing" functions. use especially if the original pxc is giving you time delay grief; this version doesn't have xdotool type anything. arrow right to access the scripts in /nwp, type to enter a regular run command. i suggest adding the two scripts that follow this one to your chosen PATH location or /nwp. since there doesn't appear to be any system conflict with a program named f or t, this would be the simplest way to quickly make up for the autoclosing pexec's lack of tab complete--findandrun does a nice job of that and you can chose whatever shortcut you want to be able to quickly reach a terminal from pxc or nwpp (which is what i'm calling the script at the moment, though i suppose pwn and np are both arguably more inspirational).


# edit line below to preload other commands, i.e. history=/nwp/s1/ will start the search in a subdirectory of nwp...
[ -z "$history" ] && history="/nwp/"

# create and run dialog
CMDLINE=$(yad --width=350 --skip-taskbar --center --on-top --fixed --sticky \
              --title="nwpp" --window-icon="gtk-execute" \
              --entry --entry-label="Run command:" --editable \
              --column="command" --entry-text $history)

# if the command line is empty, exit now
[ -z "$CMDLINE" ] && exit 0

 

# run the command
$CMDLINE &

exit 0

Code: Select all

#!/bin/sh
#name t and place in root/my-applications/bin  and/or /nwp
#lxterminal
#roxterminal
#urxvt
#sakura
#evilvte
#vte
#uncomment the terminal of your choice
rxvt

Code: Select all

#!/bin/sh
#name f and place in root/my-applications/bin  and/or /nwp
findnrun
#grun
#pexec
#pxc
#prun
#gexec
#uncomment the launcher of your choice
here's the original pexec thread


-----

2 add-on packs (the missing 5 increment steps):

x5y53000.tar.xz

x5y53000s.tar.xz

from the readme:

the missing 5 increment steps for 100--1205 (px) squares, a 0-2005 y axis, a 0-3000 x axis (ten steps fleshing out from 2000-3000 also added, which will overwrite five or six files in /nwp), an alternate, non xdotool-dependent launcher, and launcher shortcuts for goldendict (gd), findnrun (f), the new launcher (np, pwn, nwpp--all the same; use as a template to search in specific folders for executables), and notecase (nc).

s version of this folder contains the click-to-select versions of the scripts

copy or symlink files to nwp. 19kb compressed, 130kb uncompressed. (30 with gz compression, if anyone's interested. 925 files (x2) not including the readme).

--------

most up to date version, 6/18/15

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

an easy way to get tiny or huge icons and text on the menus

#163 Post by Puppus Dogfellow »

Code: Select all

geany /root/.jwm/jwmrc-theme
or

Code: Select all

leafpad /root/.jwm/jwmrc-theme
in a terminal and look for
<MenuStyle>
<Font>Open Sans-11</Font>
<Foreground>#000000</Foreground>
<Background>#d0d0d0</Background>
<ActiveForeground>#ffff00</ActiveForeground>
<ActiveBackground>#535353:#000000</ActiveBackground>
</MenuStyle>
The menus are forced to fit the font size--width and height will shrink or grow to fit the text you set and the icons will stretch or shrink to fit their menus.

for further control, enter

Code: Select all

geany /etc/xdg/templates/_root_.jwmrc
or

Code: Select all

leafpad /etc/xdg/templates/_root_.jwmrc
in a terminal and look for height="16" and similar in that file--usually there's another for the main menu set at 24 or so. change those settings too if you want, for example, menu and submenu titles to have different size text and icons from each other and/or their entries.


you'll need to restart jwm for the changes to show. to get the changes made to _root_.jwmrc to show, enter fixmenus into a terminal and restart jwm. if the icons look distorted, restart x.

.....

you could also mix up and make hybrid themes this way, since you've already got jwmrc-theme open. as an example, i like the aurora theme but prefer the gray pager from dark gray rounded, so i commented out (surrounded with <!-- -->) the pager settings from that theme and pasted in the <PagerStyle> </PagerStyle> bit from the other below it. jwm restart and the switch is made.

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

#164 Post by technosaurus »

I have used and abused jwm's menus in much worse ways: as a package manager, drive mounter, bookmarks manager, you name it. Jwm's menus are extremely fast and good enough to handle a lot of things.

It's trays can also replace things like wbar and even desktop icons to some extent ... or even as a crude image viewer. If you don't like its default menu, you can just add a traybutton to exec an external one. With the latest releases though it gets even better. Many tray focus related issues are fixed and a simple yet extremely useful feature added ( this is where I get back to the thread topic ) tray buttons can now recognize right and middle clicks as well as scroll wheel up and down. Combine that with the ability to do a jwm -reload in the background and you have the making of some pretty powerful (and hacky) stuff to replace tray applets and possibly some desktop widgets.

You can swallow any random app too, so its easy to drop in a searchbar or any kind of tray applets using just a gtkdialog wrapper.

Jwm can even set different backgrounds for each desktop, but that uses a lot of resources (well over 10 times what jwm uses otherwise) but did you know that if you set a solid background color it is much lighter. You can add a tray at a specific location containing an image with the same background color (easy to do now that jwm supports svg) and save quite a bit of ram. (Note that images have to be decompressed to be displayed, so a full screen background on a new 4096*2048*32bpp display ends up using an extra 32mb just to have the image.) If you place a 1024*1024 image instead, it would only use ~4mb... Granted if you have a 4k display, RAM is probably not an issue.

As soon as jwm gets working menu tooltips, I will revisit my jwm-tools and add things like contexts so it can be in tablet mode, desktop mode, constrained desktop mode, phone etc... using default settings on 640*480 or smaller screen looks horrible. It uses yad (or simple text editor without xml) for configuration, I know puppy uses gtkdialog, but yad seems to be more widely available.
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
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

#165 Post by Puppus Dogfellow »

technosaurus wrote:I have used and abused jwm's menus in much worse ways: as a package manager, drive mounter, bookmarks manager, you name it. Jwm's menus are extremely fast and good enough to handle a lot of things.

It's trays can also replace things like wbar and even desktop icons to some extent ... or even as a crude image viewer. If you don't like its default menu, you can just add a traybutton to exec an external one. With the latest releases though it gets even better. Many tray focus related issues are fixed and a simple yet extremely useful feature added ( this is where I get back to the thread topic ) tray buttons can now recognize right and middle clicks as well as scroll wheel up and down. Combine that with the ability to do a jwm -reload in the background and you have the making of some pretty powerful (and hacky) stuff to replace tray applets and possibly some desktop widgets.

You can swallow any random app too, so its easy to drop in a searchbar or any kind of tray applets using just a gtkdialog wrapper.

Jwm can even set different backgrounds for each desktop, but that uses a lot of resources (well over 10 times what jwm uses otherwise) but did you know that if you set a solid background color it is much lighter. You can add a tray at a specific location containing an image with the same background color (easy to do now that jwm supports svg) and save quite a bit of ram. (Note that images have to be decompressed to be displayed, so a full screen background on a new 4096*2048*32bpp display ends up using an extra 32mb just to have the image.) If you place a 1024*1024 image instead, it would only use ~4mb... Granted if you have a 4k display, RAM is probably not an issue.

As soon as jwm gets working menu tooltips, I will revisit my jwm-tools and add things like contexts so it can be in tablet mode, desktop mode, constrained desktop mode, phone etc... using default settings on 640*480 or smaller screen looks horrible. It uses yad (or simple text editor without xml) for configuration, I know puppy uses gtkdialog, but yad seems to be more widely available.
as long as it's using jwm to accomplish something new or in a new way, or augments, improves, or reveals a feature, it's on topic. welcome to the thread, technosaurus.
:)

i'm putting together a folder of stuff to launch through jwm keys and menus--it's more or less a mouse replacement (mostly less--i don't have an aversion to it as much as i used to, though ergonomically speaking, this mouse on an adjacent bookcase setup isn't really working out too well (and speaking of off topic)) and an attempt to turn text editors into passable word processors with the aid of browsers and xdotool (mostly wmctrl for the movement and resizing). it's also a collection of utilities and quick links.

anyway, getting back on to the topics of your post, i remember seeing a tray you'd made that had drive icons--it looked cool (though i can't remember if it was jwm). i sometimes drag them to rox panels, but a slide out panel coming from a jwm tray button was really what i was after, i think. can this be done? also, can any of the current pups or quirkies use the multi-mouse input on the tray buttons function? is it already built in?

as to the tray of the same color or that blends into the background, i usually would just use a clear icon that executed a menu if i wanted that--basically no additional resources that way.

still limited to ten root menus?

(i tried eleven and crashed precise 5.7.1. haven't tried since, though multi-button again opens the possibility).

User avatar
MochiMoppel
Posts: 2084
Joined: Wed 26 Jan 2011, 09:06
Location: Japan

#166 Post by MochiMoppel »

Puppus Dogfellow wrote:still limited to ten root menus?
No. New limit:36

User avatar
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

#167 Post by Puppus Dogfellow »

MochiMoppel wrote:
Puppus Dogfellow wrote:still limited to ten root menus?
No. New limit:36
Add support for more than 10 menus. Now 26 additional menus can be defined using the letters a through z.
http://joewing.net/projects/jwm/release ... tml#v2.3.2

i sense a tremendous time-sink in my not too distant future.

:D

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

#168 Post by technosaurus »

Puppus Dogfellow wrote: still limited to ten root menus?
nope, Joe added at least 26 more (maybe 52) via letters IIRC
Edit: as of this commit time menu supports tooltips :)
Please test.
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
Puppus Dogfellow
Posts: 1667
Joined: Tue 08 Jan 2013, 01:39
Location: nyc

#169 Post by Puppus Dogfellow »

technosaurus wrote:
Puppus Dogfellow wrote: still limited to ten root menus?
nope, Joe added at least 26 more (maybe 52) via letters IIRC
Edit: as of this commit time menu supports tooltips :)
Please test.

i have no idea how to git, technosaurus. i'm not even sure what i'm looking at on that page.
that a script?
:oops:

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

#170 Post by technosaurus »

It's on github so you can just get the zip file or tarball from the main page.... I just put the exact commit in case anyone wants to patch a specific version
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