The wmx window manager, version 8, is now available.

News, happenings
Message
Author
musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

The wmx window manager, version 8, is now available.

#1 Post by musher0 »

Edit, March 8, 2015: Has it been six years already? :) You'll find the
download URL and a short description of the new wmx version 8 here.
The key bindings and docs are the same.

Edit, March 12, 2015: We now have blue and green variants also.
Enjoy! musher0

~~~~~~~~~~~~
Hello, all!

I've uploaded a pet archive containing the most recent wmx window
manager, v. 7 (Jan. 2009) here.

It's my own build, with incorporation or "revision" if you like from a
fedora rpm.

The three posts are in French; however I'm willing to translate into
English if there is any interest. Two screenshots are included.

In short, wmx v.7 is as small as JWM, but centered more on keyboard
combinations and easy mouse buttons clicks. This makes managing the
windows as easy as playing the accordeon. (:-) At least with wmx you can
make your program windows behave like an accordeon.

Comparison from Windows : to me, wmx is reminiscent of the LiteShell
shell, with a touch of FreeShade. (If this say anything to anyone.) Or
maybe Liteshell was inspired by wm2 or wmx, I'll have to check.

Among other advantages,
  • * wmx is easier on the wrist, if any of you are sensitive to that or have
    __ had that problem. (Only my opinion, of course, I'm not a doctor.)
    * window edges never go off screen unless you put them there
    * focus is easy to follow (2-3 ways to do it)
    * easy change of screen
    * automatically adds a screen if you use the last one.
    __ Example: you have three screens. Two are full, you start using the
    __ third screen. A fourth one is automatically created. To me, that's
    __ brilliant, since it sorts of think ahead of what you're doing.
I've incorporated add-ons that I have found useful such as stalone-tray,
aemenu, aedesk, aepanel-gtk (from aewm) with some "ready-made"
scripts and menus -- that you can adapt and/or change, of course.

Other notes:
  • * Use of fbpanel is strongly recommended to retain access to the usual
    __ puppy (jwm) menu, especially if you're a newbie. Yes, wmx has its
    __ own menu and I've included aemenu, but you have to populate them
    __ (which is simple to do, but still.)

    * use of at least one ROX panel is recommended, to facilitate access to
    __ your programs and directories. Rox is not only a filer, ther is such a
    __ thing as the ROX desktop. Puppy users should proudly use their ROX
    __ desktop to the max, just as Mandriva or Pardus users use their KDE
    __ desktop to the max. It should be part of our "trademark", so to speak.
As usual you download and use at your own risk, but I've been using
wmx and these additional programs successfully on my Puppy 4.12 set-up
for the past two weeks. I don't know if it works on earlier puppies, maybe
someone can tell us.

I hope you will enjoy this fantastic discovery as much as I have.

musher0
Last edited by musher0 on Mon 07 Nov 2016, 21:02, edited 11 times in total.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
ttuuxxx
Posts: 11171
Joined: Sat 05 May 2007, 10:00
Location: Ontario Canada,Sydney Australia
Contact:

#2 Post by ttuuxxx »

Interesting WM, nice port to puppy :) good job
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#3 Post by musher0 »

Coming from you, that's quite a compliment. Many thanks!
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

keystrokes in wmx

#4 Post by musher0 »

Summary of keystrokes in wmx, v.7 (Jan. 2009), by Chris Cannam et al.
(excerpted from README file.)
=-=-=-=-=
To facilitate understanding, please note that in wmx, the term
"channel" is used instead of what is usually called a "desktop".
=-=-=-=-=
[...]

-- To raise a window: click on its tab or frame, unless you have
auto-raise on focus set in Config.h.

-- To move a window: make sure it's in focus, then click and drag
on its tab, or Alt-click and drag anywhere on it (see Keyboard
controls, below, for more about Alt combinations).

-- To hide a window: make sure it's in focus, then click on the
button at the top of its tab.

-- To recover a hidden window: hold down left button on the root
window for the root menu, and choose the window you want.

-- To start a new xterm: use the first item on the left-button root
menu ("New"), unless you've disabled it in Config.h.

-- To delete a window: make sure it's in focus, click on the
button on the tab, hold the mouse button for at least a
second and a half until the cursor changes to a cross, then
release. (I know, it's not very easy. On the other hand,
things like Windows-95 tend to obscure the fact that most
windows already have a perfectly good Close option. If the
default delay doesn't suit you, change it in Config.h and
recompile.)

-- To resize a window: make sure it's in focus, then click and
drag on its bottom-right corner. For a constrained resize,
click and drag on the bottom-left or top-right corner of
the enclosing window frame.

-- To flip around amongst the windows on-screen: click with the right
mouse button on the root window or on any window's frame or tab.
[You can also use Alt-Tab.]

-- To switch between desktops (or "Channels"): click with the middle
mouse button towards the top-right corner of the root window. A
big green number will be displayed showing which channel you are
currently on. Click again before this number disappears to change
to the next channel. If you click with the left button after the
first middle-button click, you will move down a channel instead
of up.

-- To move a window from one channel [desktop] to another: click with the
middle mouse button on its frame, and then keep clicking until you
reach the channel you want to move it to.

-- To start a new application of your choice: use the middle mouse
button on the root window, anywhere other than the top-right
corner of the root window. If you have any executable programs in
your $HOME/.wmx directory -- or other directory named in
CONFIG_COMMAND_MENU -- they will be listed on a menu and you can
choose one to be started up. (You can add and remove programs
while wmx is running.) REMEMBER, $HOME/.wmx IS A DIRECTORY, not
a file, so please don't write to me asking what the file format is.

[...]

Keyboard controls
=================

By popular request, there are now some keyboard controls available.
The key combinations are configurable in Config.h -- the most
important one is that for the Alt modifier. The default bindings are:

-- To raise the focused window in the stacking order: Alt/cursor-Up

-- To lower the focused window: Alt/cursor-Down

-- To flip through the windows on screen: Alt/Tab (equivalent to
clicking the right mouse-button on the focused window's frame)

-- To hide the focused window: Alt/Return

-- To delete the focused window: Alt/BackSpace

-- To expand the focused window to the full height of the screen:
Alt/PageUp

-- To contract the focused window after expanding it: Alt/PageDown

-- To expand the focused window to the full screen (maximise):
Alt/Home

-- To contract the focused window after expanding it (unmaximise):
Alt/End

-- To expand the focused window to the full width of the screen:
Alt/KP_Add (numeric pad +)

-- To contract the focused window after expanding it:
Alt/KP_Subtract (numeric pad -)

-- If you want the same key to maximise/unmaximise set
CONFIG_SAME_KEY_MAX_UNMAX to True

-- To switch channels: Alt/cursor-Left and Alt/cursor-Right

-- To switch directly to channel number N, provided there is
a channel N (i.e. some client has been created there already):
Alt plus F-key N. Thus for channel 2 press Alt/F2 and so on.

-- To make the currently focused window "sticky", so it appears on
all channels: Alt/Pause. Repeat to unstick the window.

[...]
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#5 Post by jemimah »

Here's a script that will generate the menu using the jwmrc.
You can call it at the end of /usr/sbin/fixmenus to have the menu dynamically update when you install stuff. I wrote it for flwm but it will work with wmx.
#!/bin/bash
mkdir /root/.wmx
cd /root/.wmx
rm -rf /root/.wmx/Menu/
mkdir Menu
cd Menu
cat /root/.jwmrc | while read LINE ; do
#echo $LINE
if [[ "$LINE" =~ "<Menu label*" ]] ; then
dir=`echo $LINE | cut -f2 -d\"`
mkdir $dir
cd $dir
fi
if [[ "$LINE" =~ "</Menu*" ]] ; then
cd ..
fi
if [[ "$LINE" =~ "<Program label*" ]] ; then
file=`echo $LINE | cut -f2 -d\" |sed 's/\//_/g'`
prog=`echo $LINE | cut -f2 -d\> | cut -f1 -d\<`
echo "#!/bin/bash" > "$file"
echo "$prog" >> "$file"
chmod 755 "$file"
#cp "$file" /root/.dmenu

fi


done

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

menu generator for wmx

#6 Post by musher0 »

Many thanks, Jememiah.

Tried your script, it works... in spite of a chmod error.
I'm not a programmer, so I can't explain why it pops up.
Perhaps we don't need to "chmod" in Puppy?
But your script works nonetheless.

With your script we can now -- theoretically, at least -- do
away with a complement such as fbpanel to sync the
newly installed programs in the menu.

Thanks again.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#7 Post by jemimah »

What error did you get? The chmod shouldn't cause a problem and is necessary to make the files executable.

You should get a mkdir error if .wmx exists, but that's not a problem.

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#8 Post by jemimah »

Just a quick note, it's trivial to modify wmx so it doesn't sort the menu alphabetically - that way it will look like the menu in JWM. If you still have the source, just edit Menu.C and comment out both lines that start with "qsort", then recompile.

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#9 Post by jemimah »

Another cool hack you can do is add a clock and battery status monitor to the menu (actually pretty much any monitor you want). Since wmx rereads the menu every time you change it, all you need to do is have a script that periodically updates a file in the .wmx directory.

Unfortunately the wmx menus are pretty much unusable on my netbook trackpad - clicking both buttons while dragging is quite difficult. Wmx does look a lot cooler than flwm though. I may try to modify the source and see if I can fix it.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#10 Post by musher0 »

Hello, again, Jemimah
(sorry for getting your nick wrong last time)

Here's what I get when I run it:
Attachments
erreur_chmod_gen_menu_wmx.png
chmod error in gen_menu_wmx.sh
(5.91 KiB) Downloaded 1993 times
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#11 Post by jemimah »

I wonder if one of your menu entries has some funny characters in it that I didn't anticipate - perhaps one that starts with a hyphen or something.

If you add the line
echo "$file"
right before the the chmod command, you'll be able to see what it's choking on.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#12 Post by musher0 »

jemimah wrote:Just a quick note, it's trivial to modify wmx so it doesn't sort the menu alphabetically - that way it will look like the menu in JWM. If you still have the source, just edit Menu.C and comment out both lines that start with "qsort", then recompile.
As for me, I prefer to keep it alphabetical.
An alphabetical sort means that you can
rely on it to find your way around the
menu and your computer using a commonly
accepted logic.

Not a subjective logic, such as what the
programmer (or anyone, for that matter)
thinks should be grouped together.

The Puppy menu has always thrown me off.
Shortly after posting wmx here, I decided
in favour of aemenu-gtk and built my own
menuS (capital S intentional) in a simple editor.

one for easy access to disks
one for easy access of the linux directories (that was a great help)
one for my own often accessed programs
one mirroring the Puppy menu (obviously -- otherwise you're cooked!).

(By default Puppy offers no menu access to disks and to the linux structure. You have to find workarounds, such as aemenu-gtk or symlinks in a folder, etc.)

Also, it's been a while since I've worked with
the wmx codes and docs, but I believe you can
put and use an "options" file in the .wmx directory
for sorting and such.

Finally, once your script has created the submenus,
I've started including a symlink to it (recursive) within
the submenus. So you don't have to get out of the
menu while you're searching for a program.

Being recursive, this symlink means that you're back to the black console
with an error after 2-3 reruns of the wmx menu. So beware. but it does help, to a point.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#13 Post by musher0 »

jemimah wrote:I wonder if one of your menu entries has some funny characters in it that I didn't anticipate - perhaps one that starts with a hyphen or something.

If you add the line
echo "$file"
right before the the chmod command, you'll be able to see what it's choking on.
Well, I've incorporated and am using the French translation of the Puppy 4.12 menu provided by JJMoulinier (aka esmourguit in the forums) for "ToutouLinux" (which is the localisation in French of PuppyLinux). The first character of some line may have an accented character.

But I'll try your suggestion and see what happens.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#14 Post by musher0 »

Yeah, sometimes chmod flags the accented characters as errors and sometimes not. Probably the switch between ISO (in console) and UTF-8 (in X-Window) character sets is to blame?

(See excerpt of listing attached. You'll see the chmod error message appearing after some lines with accented characters, but some lines with same type of characters are not flagged.)

Non-anglophones would find it annoying in an editor, for example, but here it's nothing too serious.

We live with it all the time, and we're not dead yet! (:-)
Attachments
erreur2_chmod_gen_menu_wmx.png
chmod error with accented characters in menu
(22.45 KiB) Downloaded 2872 times
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#15 Post by jemimah »

It's probably the hyphen that's confusing it, it seems to be coping ok with the accents. Try this fix:

Change this line

file=`echo $LINE | cut -f2 -d\" |sed 's/\//_/g'`

to

file=`echo $LINE | cut -f2 -d\" |sed -e 's/\//_/g' -e 's/^-//'`
Have you heard of dmenu? It's keyboard driven - you hit the hotkey, then type what you want, and dmenu shows you matching apps. Therefore menus need no structure at all. It's like a super lightweight version of quicksilver or launchy.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#16 Post by musher0 »

Yep, your modified line did the trick! No more errors with chmod.
Many thanks!

As to demnu, at one point, I tried to compile it and it wouldn't.
Maybe I was too much of a Linux newbie at that time.
I still would like to try it, out of curiosity, but it's not urgent.
I've invested a lot of time in my 4+ aemenu "concepts" (:-)
and these serve me quite well for now.

Once you find a menu system you can adapt to your own
"logic", you get hooked, I suppose.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#17 Post by jemimah »

If you create a .dmenu directory, and uncomment the following line, and rerun the script:
#cp "$file" /root/.dmenu
you can try my vertical version of dmenu.

Installing the attached dmenu and xbindkeys pets and running the xbindkeys command will bring up dmenu when you press F10. It's not a menu replacement, more of an augmentation, so you loose nothing of your investment. :)

(these are the first pets I've tried to create, hopefully it works)
Attachments
dmenu-4.0-vertical.pet
(7.62 KiB) Downloaded 1317 times
xbindkeys-1.8.3-i486.pet
(13.58 KiB) Downloaded 872 times

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#18 Post by musher0 »

jemimah wrote:If you create a .dmenu directory, and uncomment the following line, and rerun the script:
#cp "$file" /root/.dmenu
you can try my vertical version of dmenu.
Rerun the script... Hmmm, do you mean the one for the wmx menu...
modified with the above line?

Also, upon download, the system says the dmenu pet attachment isn't there anymore?

I have to confess my powerful brain is not all that perceptive after a long day of work. :-)
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#19 Post by musher0 »

Ok, got the downloads. Trying...
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
jemimah
Posts: 4307
Joined: Wed 26 Aug 2009, 19:56
Location: Tampa, FL
Contact:

#20 Post by jemimah »

Yeah rerun the modified wmx script. The attachment disappeared because there was a problem with the first pet and you probably tried to download while I was trying upload the new one. :?

Post Reply