PekWM 1.15 Released

Window managers, icon programs, widgets, etc.
Message
Author
musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#76 Post by musher0 »

Hello, all.

I found this yesterday: http://akita.scottjarvis.com/pekwm-0.1.16-i486.pet
in the akita repo, and it works great in my PuppyPrecise-5.7.1. Just underneath that
entry, you will also find some pekwm themes and some pekwm documentation.

So, following the advice of my medieval buddy Ockham (see under my sig), I will not
be "needlessly creating" another logical entity for pekwm! :D

Of course: thanks to Scott Jarvis (aka "scottman") for this, and generally for his steady
work evolving Puppy 4.20 into the "akita" derivative.

BFN.

musher0
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

#77 Post by musher0 »

Hello, all.

I discovered that you could have an urxvt console "a la kuake" in pekm. "kuake-
type" consoles drop down from the top edge of the screen when you hover your
mouse at the very top (line 0).

Now it's not a clone, but close enough. I for one find it quite handy to have so to
speak immediate access to a terminal to do a files listing, or generally to use any
CLI utility, and always at the same place on the screen.

-- How-to --
A) The configuration file at /root/.pekwm/mouse. It's there expressly to allow the
customization of such mouse movements or key/mouse-button bindings.

1) I used the mouse scripting capacity that pekwm provides in its "mouse" config file.
I added the following in the mouse config file.

Code: Select all

ScreenEdge {
	Up {
	ButtonRelease = "Mod4 1" { Actions = "Exec /root/my-applications/bin/console.sh &" }
	}
}
2) I had to enter the full path and filename, because the variables in pekwm's
"vars" config file do not seem to work here. I have
$MBINS="~/my-applications/bin"
in my vars config file, but it didn't work. However the variables in vars work fine
in the pekwm menu.

2) You have to re-start pekwm from the initial black console with

Code: Select all

xwin pekwm
for the new mouse definition to be effective. The "Reload" and "Restart" in the
pekwm menu do not appear to be powerful enough to reinitialize pekwm's mouse
configuration.

3) "Mod4" designates the "window" key. The "1" after it means the left button of
the mouse.

So for this terminal to appear, you have to move your cursor to the very top of the
screen and press the window key on your keyboard and the left mouse button
at the same time.

B) An "on/off" script for urxvt.

Code: Select all

#!/bin/ash
# $MBINS/console.sh et $MBINS/console (lien)
# Also required (dependency): wmctrl
# musher0, 4 janv. 2015.
####
A="`wmctrl -lxp | grep "Console1" | cut -d'C' -f2`"
case $A in
	onsole1) 
	kill "`pidof -s urxvt`" &>/dev/null
	;;
    *)
     G="g 80x20+250+0"
	COL="bg #271F0C -fg black -bd #BDBDBD -tr -tint AntiqueWhite3 -sh 120"
	FNT="fn xft:Monaco:pixelsize=15:antialias=true:hinting=true"
	urxvt -cd /root -b 18 -sr -T "Console1" -$COL -$FNT -$G &
	sleep 1.5s
	;;
esac
Why I use wmctrl to define the title of the window in variable A, is because it allows
me to have a second terminal controlled (I mean opened and closed) the usual way,
and optionally with another type of background. You can find wmctrl at:
Image

Note: I find the MONACO fixed font the most appropriate for terminals, but each
user may have a preference. There are a number of "monaco" fonts on the web,
and the more recent ones seem to be proportional fonts -- in other words useless
in a terminal, proportional fonts turn a terminal into an accordeon. :)

Number 4 here http://lowing.org/fonts/ is the one I'm talking about. You
can download it from: http://www.gringod.com/wp-upload/MONACO.TTF
Other distinguishing features: Its name is all in caps, and it weighs 65K.

As I mentioned, the script above is an on/off switch. You use the same key /
mouse-button combination (< window key + left mouse button >) to open and
close this console in pekwm.

The result is illustrated below.

~~~~~~~~~

BFN

musher0
Attachments
urxvt-a-la-kuake.jpg
Open.
(30.8 KiB) Downloaded 650 times
urxvt-a-la-kuake(1).jpg
You can also shade it. Visually, it then balances the presence of your regular tray &amp;
bar at the bottom of the screen.
(8.09 KiB) Downloaded 645 times
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

#78 Post by musher0 »

Hello again, folks.

Here's another nicety, this time for the pekwm menu: RAM free.

The script goes in /root/.pekwm

Code: Select all

#!/bin/sh
# ~/.pekwm/mev-libr-pekwm.sh
# dynamic script for pekwm menu, to show the free RAM as you 
# progress through your pekwm session.
##
# musher0, 3 janv. 2015.
####
# Variables
MEMDISP="/tmp/MEV"
export MBINS="/root/my-applications/bin"
a="";a="`free | grep Mem | awk '{ print $2 }'`"
# ;echo $a
b="";b="`free | grep Mem | awk '{ print $4 }'`"
# ;echo $b
MEVDISP=`echo "scale=2;(($b / $a) * 100)" | bc -l`
# echo "$MEVDISP %"

# Langues # If not exist "fr", show entry in English.
if [ ${LANG:0:2} = "fr" ];then
	echo "Dynamic {"
	echo " Entry = \"   MEV : $MEVDISP %\" { Actions = \"Exec $MBINS/mem-libr.sh & \" } "
	echo " }"
	else
		echo "Dynamic {"
		echo " Entry = \"   RAM: $MEVDISP %\" { Actions = \"Exec $MBINS/mem-libr.sh & \" } "
		echo " }"
fi
The pekwm menu entry is as follows. You would place it normally second from the top,
right after the date & time dynamic menu entry

Code: Select all

	Entry = "" { Actions = "Dynamic $PEK/mev-libr-pekwm.sh"}
For the result, see the illustration below.

Now I've set it up to show the results of the "free" utility in less, but you could ask the
dynamic script to clean up RAM when it gets below a certain percentage. More about
this later.

I also made a variant for aewm's aemenu. More about this elsewhere. :)

BFN.

musher0
Attachments
Free_RAM_on_pekwm_menu.jpg
(21.95 KiB) Downloaded 624 times
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

#79 Post by musher0 »

Hello, people.

Just an important note to mention: open the pekwm doc and go to the very bottom.
18.20. Why is nvidia dual-head misbehaving?

The nvidia proprietary driver provides dual head information both in Xinerama and
RANDR form. The RANDR information given by the driver is in the form of one large
screen, the Xinerama is divided up into multiple heads. To work around this the
HonourRandr option has been introduced in the Screen section of the main
configuration file. Set it to False making pekwm only listen on the Xinerama
information.

Screen {
...
HonourRandr = "False"
...
}
I quote it here because people never read docs all the way down to the end... ;)

Except that if you don't set the above parm in pekwm's config file, there's a good
chance your pekwm will refuse to work. It happened to me the other day when I
replaced my nVidia card with a "née Radeon" card .

Not being able to run pekwm is no fun, whatever the video card.

BFN.

musher0
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

#80 Post by musher0 »

Hello again, Puppyists.

I just discovered that "Taskbar" is an undocumented but recognized parameter in the
pekwm's autoproperties file. This, for example,

Code: Select all

Property = "^xclock,^XClock" {
	ApplyOn = "Start New"
 	Border = "True"; Titlebar = "False"
 	Sticky = "True"
 	Layer = "Normal"
 	Skip = "Taskbar Menus FocusToggle Snap"
}
will prevent xclock from showing in bmpanel2's taskbar, and probably other bars as
well (to be checked).

Another parm that appears to be undocumented is "Shaded = True". The following,
for example, will shade an urxvt terminal bearing the title "Console1".

Code: Select all

Property = "^urxvt,^URxvt" {
	Title = "Console1"
 	ApplyOn = "Start New"
#  	ClientGeometry = "560x137+120-137"
 	Border = "True"; Titlebar = "True"
 	Sticky = "False"
 	Shaded = "True"
 	Layer = "Normal"
}
-- A word also on the lesser known "Title =" parameter. --
The "Title = Console1" parameter above will be checked agains a "-T Console1" parm
in the urxvt command line. If true, the window will shade (wrap up or shrink vertically)
to the windows's title bar.

That's fine-tuning, actually. The advantage of this is that the Title parameter enables
you to launch a second terminal with no particular title, and this last one will display
on your monitor as a regular, unshaded window.

Finally, in both examples, the ClientGeometry parm is not used. In the first case, it's
simply not there, and in the second case, it's commented out. That's because it's
controlled from the command line, not through pekwm. If you had both, I believe the
pekwm one would have precedence (to be checked).

BFN.

musher0
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

#81 Post by musher0 »

Hello, pekwm fans!

This code

Code: Select all

#!/bin/ash
# ~/.pekwm/mev-libr-pekwm.sh
# par musher0, 3 janv. & 4 févr. 2015.
####
MEVDISP="`grep Mem /proc/meminfo | tr -s ' ' | tr '\n' ' ' | awk '{ print $5/$2*100 }'`";MEVDISP="${MEVDISP:0:5} %"
# Langues
[ ${LANG:0:2} = "fr" ] && MV="MEV" || MV="RAM"

echo "Dynamic {"
echo " Entry = \"  $MV : $MEVDISP\" { Actions = \"Exec /root/my-applications/Systeme/cleanup_memory3 & \" } "
echo " }"

####################
# Ligne appellante dans le menu de pekwm :/ # Calling line in the pekwm menu:
#
# 	Entry = "" { Actions = "Dynamic $PEK/mev-libr-pekwm.sh"}
#
# Placer de préférence vers le haut du menu. / # Put preferably near the top of the menu.
####################
gets you this listing in the pekwm menu (see attached screen capture), provided
that you put this line:

Code: Select all

Entry = "" { Actions = "Dynamic $PEK/mev-libr-pekwm.sh"}
somewhere near the top of your pekwm menu.

The <cleanup_memory3> script (evolved from big_bass's original for Puppy 4.12
"Slaxer"), called by the pekwm menu "Entry" above, can be downloaded from:
http://murga-linux.com/puppy/viewtopic. ... ost#826070

Enjoy!

musher0
Attachments
MEV-dans-menu-pekwm.jpg
(22.93 KiB) Downloaded 579 times
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

#82 Post by musher0 »

Hello, pekwm fans.

pekwm-1.17 was made available last January (2015) by pekdon.

Here is a *.pet archive of it. I compiled it on PuppyPrecise-5.4.3.
I've included only a minimal set of themes, however.

I tested it on PuppyPrecise-5.4.3 and vividPup-6.5. Works fine on both.
Let us know your mileage on other pups?

Any questions, please ask. Thanks. BFN.

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

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#83 Post by torm »

Sounds interesting...

And looks good.
Maybe with some support -finetuned preconfiguration and graphical
setup utilities ( similar to JWM has) it would be more popular than JWM or
IceWM :wink:
And, it may probably need some "fallback" options
to make it more ..bulletproof
Must dig more into extra features it has, now.

User avatar
Colonel Panic
Posts: 2171
Joined: Sat 16 Sep 2006, 11:09

#84 Post by Colonel Panic »

PekWM is one of the best window managers out there IMO. Manjaro used to have a version based on PekWM, but I don't know if it's still current.
Gigabyte M68MT-52P motherboard, AMD Athlon II X4 630, 5.8 GB of DDR3 RAM and a 250 GB Hitachi hard drive running Ubuntu 16.04.6, MX-19.2, Peppermint 10, PCLinuxOS 20.02, LXLE 18.04.3, Pardus 19.2, exGENT 200119, Bionic Pup 8.0 and Xenial CE 7.5 XL.

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

#85 Post by musher0 »

Hello all.

I just published a compilation of pekwm-1.17 especially for the Puduan-6
Pup, here:
http://murga-linux.com/puppy/viewtopic. ... ost#934295.

Untested on other Puppies, because it's a specialized edition containing
the xprop utility that the Puduan does not have OOTB.

That said, you may want to download it anyway for the entirely new and
blazingly fast pekwm menu creator
and a couple of other goodies,
essentially in the /root/.pekwm directory.

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

#86 Post by musher0 »

Four new themes for pekwm, here.

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

TeX Dog
Posts: 287
Joined: Wed 06 Jul 2016, 17:57

#87 Post by TeX Dog »

Interesting in knowing more, getting a fast solution to understand this WM, I see some elements I personally like, which spinoff has this ready to go? Anything current beyond your own personal use?

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

#88 Post by musher0 »

TeX Dog wrote:Interesting in knowing more, getting a fast solution to understand this
WM, I see some elements I personally like, which spinoff has this ready
to go? Anything current beyond your own personal use?
Hi Tex_Dog.

I'm not sure I understand completely what you mean by "spinoff" in your
sentence "which spinoff has this ready to go". But off the top of my head
I'd say pekwm's distinctive features are:
  • -- list of running apps by left click on an empty space of the backdrop,
    plus clicking on one item of the list gets you to it, on any desktop (top of
    pic 1). Among comparable wm's, icewm has it, but not jwm;

    -- integrated command line (bottom of pic 1);

    -- it's very responsive;

    -- the menu has text-like syntax, not xml (like jwm has), so it's rather
    easy to understand / manipulate / edit;

    -- pekwm has an extensive and editable set of key combos for the speed-
    minded. I seldom use them personally, but they're there. You don't need
    an external utility like xbindkeys with pekwm;

    -- detachable submenus ("ShowMenu" directive from main menu). With
    this feature, the submenu displays separately instead of connected to the
    main menu. I've seldom used it (in a previous pet, not in this version),
    but again, it's there if the user has a need for it. Edit: Please see 2nd pic.

    AFAIK, it doesn't exist in jwm, and "it's a pain to obtain" in icewm;

    -- the menu can be called by right click on any screen border. This is very
    handy, say, when you're editing a picture in full screen and you need to
    launch another app. You don't need to reduce the size of the app you're
    working in to access the pekwm menu;

    -- various support scripts by non-pekwm-team developers such as
    urukrama and others provide "a la WhineDose" stacking / sticking of apps
    to occupy half-screen, plus other niceties.
I'm sure there's more, but as I said, this is "off the top of my head"!

~~~~

Regarding "anything current", version 1.18-rc1 was released about a
month ago. Please see https://www.pekwm.org, top of page. Pekwm's
publishing cycle seems to be one new version every year or 1½ year.

I'm testing v. 1-18-rc1 now. I'll provide a pet of it a bit later, after I'm
satisfied with the testing.

~~~

I hope this answers your questions. Any more, just "ring"!

BFN.
Attachments
pekwm-ShowMenu(s)_2016-12-07(2).JPG
Example of two menus at the same time in pekwm with the ShowMenu
directive: the main menu and the puppy menu, both with submenus open.
Menus are considered as semi-windows in pekwm so they are easier to work with.
(55.59 KiB) Downloaded 336 times
pekwm-list-of-apps-by-leftclick_2016-12-04(1).jpg
Running apps list at top, command utility at bottom.
(36.96 KiB) Downloaded 379 times
Last edited by musher0 on Wed 07 Dec 2016, 20:41, edited 1 time in total.
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

#89 Post by musher0 »

Hello all.

Here is an adaptation to pekwm of the "Delete Permanently or Sent to
Trash" routine by MochiMoppei (originally for jwm).

Also implemented as a stand-alone script, it can be quite handy.

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

#90 Post by musher0 »

(I just added an illustration of two menus at the same time in pekwm
in my 2nd post above.)
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

#91 Post by musher0 »

Hello all.

Heads up! I just discovered that the variables defined in pekwm's 'vars' file
for variables are not recognized in pekwm's 'mouse' configuration file.

In the pekwm configuration 'mouse' file, if you want to call, say, a
terminal configuration from a mouse+key combination, write the "Exec"
part with the full path to the file.

For ex., in pekwm's configuration file for the mouse, in the "Screen Edge"
section, "Up" subsection:

Code: Select all

ButtonRelease = "Mod4 1" { Actions = "Exec /root/my-applications/bin/terminaux/console.sh &" }
BFN.
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

#92 Post by musher0 »

Hello all.

A bilingual (FR-EN) respin of my new pekwm menu creator is now
available here. Its structure should facilitate translation of the
pekwm menu in other languages as well.

How-to:
Simply unpack the zip archive there in /root/.pekwm.
Then make the two *.sh scripts executable, and
run < menu-complet.sh >.
Launch pekwm and
reload the menu.

That's for the first run.

Once your new menu is set, any menu refresh can be done from entry
pekwm->menu->Gen./Refresh; wait 4-5 seconds until the little "Finished!"
panel shows up and Reload the menu.

Any question, please ask.

Please note: English-speakers do not have to change.

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

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#93 Post by torm »

With TahrPup605 noticed some random "freeze-up" , while
pressing the "Alt" key on keyboard somehow fixes that ... :?

Also some strange things with folders on ROX-pinboard,
where one needs to triple-click to open the folder... ( instead of double-click )
Is that a ROX or PEKWM issue?

btw,
there is no way to add app icon on window frame top.
Even if one can display these icons in minimized windows list. :?:

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

#94 Post by musher0 »

torm wrote:With TahrPup605 noticed some random "freeze-up" , while
pressing the "Alt" key on keyboard somehow fixes that ... :?

Also some strange things with folders on ROX-pinboard,
where one needs to triple-click to open the folder... ( instead of double-click )
Is that a ROX or PEKWM issue?

btw,
there is no way to add app icon on window frame top.
Even if one can display these icons in minimized windows list. :?:
Hello torm.

Thanks for your comment.

For your paragraphs 1 and 2, may I suggest you check your hardware
before blaming the software? Sounds as though the USB connectors for
your mouse and keyboard could be a bit loose? Or -- and I hate saying
this to a new forum member -- perhaps your keyboard and mouse need
some cleaning? ;)

In your paragraph 1, short system "freeze-ups" or "waits" are also typical
of a system about to overheat... Or your system is temporarily out of
RAM and your swap file is briefly being used.

In your paragraph 3, do you mean "the top of the frame of the program
window"? If so, common name for it in Linux is "title bar".

I'm not in the mind of the pekwm developers, I don't know why they did it
that way, but I'd say it's a pekwm feature: pekwm presents the title bar
differently than other window managers. Probably because in pekwm you
can have the close, min-max buttons, etc., on either side of the title bar.

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

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#95 Post by torm »

No. Hardware is clean and okay, these errors appear
only with PekWM ( not JWM, XFCE, Compiz, OpenBox, etc. )
ROX folders on pinboard are a problem, clicking on other
icons start programs just fine.

System is not running out of ressources/overload.
Mouse cursor can be moved around, while clicking anywhere does nothing.
Until I press "Alt"-key once and things are back to normal.
:?

Missing title bar icons are most likely somehow related to
window grouping feature. :roll:
There's nothing that user can do about it,
and it is not mentioned anywhere in the documentation.

Aside from the above..
Yes it is interesting window manager
with no special dependencies and great theme support.

Post Reply