Author |
Message |
Q5sys

Joined: 11 Dec 2008 Posts: 1126
|
Posted: Mon 07 Feb 2011, 16:29 Post subject:
Awesome Window Manager |
|
http://awesome.naquadah.org/
Has anyone attempted to build and run this on puppy? I've thought about tinkering around with it... but was wondering if anyone else had any experience with it.
example:
http://www.calmar.ws/awesome/awesome-wm.png
|
Back to top
|
|
 |
aragon
Joined: 15 Oct 2007 Posts: 1698 Location: Germany
|
Posted: Mon 07 Feb 2011, 16:40 Post subject:
|
|
yes, did it...but...
awesome2 builds, awesome3 was a pain i gave up.
interesting about awesome is, that i could configure everything (i don't need anytime). so for a configuration-freak it might be wonderful, for me not. if i use dwm with conky on the desk, most of my needs are fullfilled...
aragon
_________________ PUPPY SEARCH: http://wellminded.com/puppy/pupsearch.html
|
Back to top
|
|
 |
Q5sys

Joined: 11 Dec 2008 Posts: 1126
|
Posted: Mon 07 Feb 2011, 17:10 Post subject:
|
|
aragon wrote: | yes, did it...but...
awesome2 builds, awesome3 was a pain i gave up. |
Can you go into anymore details about why it was a pain? Was it a pain in configuring or in getting it to run in the first place?
|
Back to top
|
|
 |
technosaurus

Joined: 18 May 2008 Posts: 4787 Location: Kingwood, TX
|
Posted: Mon 07 Feb 2011, 18:15 Post subject:
|
|
lots of dependencies that are not installed by default in Puppy + lots of configuration and I was trying to build it with a static uclibc toolchain and it just ended up taking too long to finish it - I really wish autotools (read ./configure) would run all the way through and _then_ tell you _all_ the stuff you are missing ... or if sites would actually list all the dependencies in the first place
I ended up using a different xcb base wm instead
http://www.hack.org/mc/hacks/mcwm/
http://www.murga-linux.com/puppy/viewtopic.php?t=62050
next xcb tools up after awesomewm are compiz are unagi (compositing)
I'd like to see if unagi could replace xcompmgr/kcompmgr for translucency in jwm
_________________ Check out my github repositories. I may eventually get around to updating my blogspot.
|
Back to top
|
|
 |
Q5sys

Joined: 11 Dec 2008 Posts: 1126
|
Posted: Mon 07 Feb 2011, 21:04 Post subject:
|
|
technosaurus wrote: | I really wish autotools (read ./configure) would run all the way through and _then_ tell you _all_ the stuff you are missing ... or if sites would actually list all the dependencies in the first place
|
Amen to that. I hate tracking own one dep and thinking i'm ready... to only be told about another one... and then being on that yoyo for an hour or so. lol
In the past I've stolen another distros binary and run LDD on it to figure out what it needs... then go back and compile it manually myself. Yea maybe thats cheating... but i dont think anyone is keeping score.
|
Back to top
|
|
 |
technosaurus

Joined: 18 May 2008 Posts: 4787 Location: Kingwood, TX
|
Posted: Mon 07 Feb 2011, 22:04 Post subject:
|
|
Q5sys wrote: | In the past I've stolen another distros binary and run LDD on it to figure out what it needs... then go back and compile it manually myself. Yea maybe thats cheating... but i dont think anyone is keeping score.  | same here, but you can never know what dependencies are optional ... especially if they haven't linked with --as-needed.(then you can use objdump -x <binary> ¦grep NEEDED)
BTW I do this and remove all dependant libs from the final link.
-lgtk........-ldeps..... is replaced with just -lgtk so that if gtk is built without some dep, it will still run and run on more systems and load faster.(though it may be a fraction slower on the system with the exact libs it was linked with)
The easiest way to do this without having to hack it every time, is to simply remove them from the .pc file
_________________ Check out my github repositories. I may eventually get around to updating my blogspot.
|
Back to top
|
|
 |
Karl Godt

Joined: 20 Jun 2010 Posts: 4208 Location: Kiel,Germany
|
Posted: Tue 08 Feb 2011, 00:55 Post subject:
|
|
awesome-2.3.6 build on a puplet based on puppy430
needed
http://packages.debian.org/squeeze/libconfuse-dev
[http://packages.debian.org/lenny/libconfuse0]
./configure --with-x --with-gtk --prefix=/opt/Awesome/001
would like to have
checking for asciidoc... :
checking for xmlto... :
checking for python... /usr/bin/python
checking for doxygen... :
configure: WARNING: awesome man page generation requires asciidoc
configure: WARNING: awesome man page generation requires xmlto
configure: WARNING: awesome developer doc generation requires doxygen
checking whether xmlto can create a man page... no
configure: WARNING: awesome man page generation requires 'xmlto man', but it does not work.
Do you need to (properly) install http://docbook.sourceforge.net/projects/xsl/?
and
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
make only warning (gcc 4.2.2 ) :
client.c: In function 'client_focus':
client.c:187: warning: declaration of 'raise' shadows a global declaration
/usr/include/signal.h:129: warning: shadowed declaration is here
default make install installs to /usr/local
Docs as raw text files included at /usr/local/share/doc /man
`strip EXE`
would need something like
#exec $CURRENTWM
#v2.11 GuestToo suggested this improvement...
which $CURRENTWM && exec $CURRENTWM
[ -x $CURRENTWM ] && exec $CURRENTWM
exec awesome || jwm
###END###
at /root/.xinitrc [or `grep -r 'exec jwm' /`]
Fresh from compilation , not tested yet !
 |
Description |
test at your own risk !
|

Download |
Filename |
awesome-2.3.6-pup430.tar.gz |
Filesize |
119.57 KB |
Downloaded |
929 Time(s) |
|
Back to top
|
|
 |
Karl Godt

Joined: 20 Jun 2010 Posts: 4208 Location: Kiel,Germany
|
Posted: Tue 08 Feb 2011, 19:16 Post subject:
|
|
First day running awesome2 :
1. : it really needs the http://packages.debian.org/lenny/libconfuse0
to run which I installed first but ./configure still complained about libconfuse0 at the same point so i had to install the -dev for .h files .
2. : it likes to have a /root/.awesome directory for the awesomerc file
where the pathes from the ./configure --prefix=PREFIX still resides and have to be adjusted from /opt/Awesome/001 to /usr/local/share
3. : it uses the Win key much : modkey = {"Mod4"}
4. : no xload,freememapplet,retrovol,date&time etc in the taskbar
5. : no windowframe at the top of the windows ( no kill menu , etc )
6. : some apps like sakura and geany show a trace while moving around
7. : i am not able for the moment to get the taskbar to the bottom, left or right
8. : the only interesting feature are the different grid possibilities
9. : no crashes after several hours
I really don't think that awesome(2) can replace jwm for the moment .
|
Back to top
|
|
 |
technosaurus

Joined: 18 May 2008 Posts: 4787 Location: Kingwood, TX
|
Posted: Tue 08 Feb 2011, 20:48 Post subject:
|
|
Some users may not want those things, but most window managers won't run those "tray applets" because 1. They need to be swallowed and 2. They are started from jwm.
There is a bit of a learning curve to tweak the configuration,but you can start with some of the config files posted in the screenshot page.
_________________ Check out my github repositories. I may eventually get around to updating my blogspot.
|
Back to top
|
|
 |
Karl Godt

Joined: 20 Jun 2010 Posts: 4208 Location: Kiel,Germany
|
Posted: Tue 08 Feb 2011, 21:11 Post subject:
|
|
Quote: | 2. : it likes to have a /root/.awesome directory for the awesomerc file |
Found out that awsome created .awesomerc file at /root and adjusting
screen 0
{
styles
{
normal
{
font = "sans 12"
and
statusbar mystatusbar
{
position = "bottom"
worked .
Don't know why the messages from awesome at /tmp/xerrs.log vanished after I had put the rc-file at ~/.awsome/ dir .
|
Back to top
|
|
 |
Karl Godt

Joined: 20 Jun 2010 Posts: 4208 Location: Kiel,Germany
|
Posted: Wed 09 Feb 2011, 05:13 Post subject:
|
|
after reading and experimenting now a simple basic Menu for awesome2 :
(I hope the code is not too wrong)
Code: | mkdir /usr/local/desktopmanager
mkdir /usr/local/desktopmanager/awesome
mkdir /usr/local/desktopmanager/awesome/mainmenu
EXE="`cat /root/.jwmrc | grep 'Program label' | cut -f2 -d '>' | cut -f1 -d '<' | grep -v '/'`"
MENUS="`cat /root/.jwmrc | grep -w 'Menu label' | cut -f2 -d '"'`"
for i in $MENUS; do mkdir "/usr/local/desktopmanager/awesome/mainmenu/$i"; done
MENUB=`cat /root/.jwmrc | grep -n -w 'Menu label' | cut -f 1 -d ":"`
MENUE=`cat /root/.jwmrc | grep -n -w '</Menu>' | cut -f 1 -d ":"`
o=0
for i in $MENUB; do (( o++ )); echo $o;Progbegin=`echo $MENUB | cut -f $o -d " "`; echo ; echo $Progbegin ; echo ; PROGBEGIN=`expr $Progbegin + 1`; Progend=`echo $MENUE | cut -f $o -d " "`; PROGEND=`expr $Progend - 1`; sed -n "$PROGBEGIN,$PROGEND p" /root/.jwmrc > "/tmp/$i.menu"; cat "/tmp/$i.menu" | cut -f 2 -d '>' | cut -f 1 -d '<' | grep -v '/' | grep -v '\-e' | grep -v '%' | grep -v '\$' | grep -v '#' | cut -f 1 -d " " > "/tmp/SimpleBin.$i.menu"; cat "/tmp/SimpleBin.$i.menu" | tr -d " " | sed '/^$/d' > "/tmp/RefSM.$i.menu" ; done ; o=0
for i in $MENUS; do (( o++ )) ; echo $i; Menufile=`echo $MENUB | cut -f $o -d " "` ;echo $Menufile; EXES=`cat "/tmp/RefSM.$Menufile.menu"` ;echo $EXES; for j in $EXES ; do echo $j ;ln -s `which $j` "/usr/local/desktopmanager/awesome/mainmenu/$i/$j"; done; done; o=0 |
this should create the menu dir at /usr/local/---/awesome with subdirs and links to the executables without much clutter behind like "rxvt -font 7x14 -bg "#FFFFFF" -fg black -T htop -n htop -e htop"
now it is able to create an entry at .awesomerc like
Code: | key
{
key = "F12"
command = "spawn"
arg = "ln -s /usr/local/desktopmanager/awesome/mainmenu | awesome-menu -e "rox /usr/local/desktopmanager/awesome/mainmenu/$@" 'MAIN--MENU--:'"
} |
which echoes something like this:
Quote: | ln: creating symbolic link `./mainmenu': File exists
W: awesome: config_parse:186: no definition for menu MAIN--MENU--: in configuration file: using default |
I guess because the socket /root/.awesome_ctl.0 is located at ~/ . I think it should be possible to change the path in the code before compiling .
My keys are actually :
Code: | key
{
key = "F1"
command = "spawn"
arg = "exec rxvt"
}
key
{
key = "F2"
command = "spawn"
arg = "exec geany"
}
key
{
key = "F12"
command = "spawn"
arg = "exec sakura"
}
key
{
key = "F11"
command = "spawn"
arg = "exec nicoedit"
}
key
{
key = "F4"
command = "spawn"
arg = "exec rxvt -e pgprs-connect"
}
key
{
key = "F5"
command = "spawn"
arg = "exec firefox"
}
key
{
key = "F9"
command = "spawn"
arg = "exec aqualung"
}
key
{
key = "F8"
command = "client_kill"
} |
and it is possible to start several apps with one key .
|
Back to top
|
|
 |
Karl Godt

Joined: 20 Jun 2010 Posts: 4208 Location: Kiel,Germany
|
Posted: Wed 09 Feb 2011, 16:37 Post subject:
Tweaking AWESOME 2 Subject description: code to discuss |
|
Quote: | key
{
modkey = {"Mod4"}
key = "F2"
command = "spawn"
arg = "exec find /usr/bin -type f ! -empty | sed 's,.*/,,' | awesome-menu 'Execute :'"
} |
originally there is the parameter "-executable" to `find`
Quote: | key
{
key = "F12"
command = "spawn"
arg = 'ln -s /usr/local/desktopmanager/awesome/mainmenu | awesome-menu -e "rox /usr/local/desktopmanager/awesome/mainmenu/$@" "MainMenu"'
} |
works better than above post changed 'for" because $@ needs tyo be double quoted
Quote: | statusbar mystatusbar
{
position = "bottom"
textbox "clock"
{
mouse
{
button = 1
command = 'spawn'
arg = 'awesome-message "`date`"'
}
}
textbox "free"
{
mouse
{
button = "1"
command = "spawn"
arg = "exec /usr/local/desktopmanager/awesome/scripts/bigfree.shell"
}
width = 70
align = "right"
}
progressbar "diskusage"
{
data "disk"
{
bordercolor = "#006e96"
bg = "#e5e5e5"
fg = "#00ff00"
fg_center = "#daaf0a"
fg_end = "#ff0000"
}
width = 70
align = "right"
}
textbox "load"
{
mouse
{
button = "1"
command = "spawn"
arg = 'exec rxvt -e top'
}
width = 40
align = "right"
}
taglist mytaglist |
can create entries in the TAG-LAYOUT-TASKBAR.
Quote: | layoutinfo mylayoutinfo
{
mouse
{
button = "1"
command = "tag_setlayout"
arg = "+1"
}
mouse
{
button = "8"
command = "tag_setlayout"
arg = "-1"
} |
had to enable every button to get the mouse wheel scrolling backwards going ( 3 normal mouse buttons, 2 thumb mouse buttons , 2 buttons for scrolling forth and back ) and it these have to be done for every little feature of the taskbar as far as I can see.
Quote: | mouse
{
root
{
button = "1"
command = "spawn"
arg = "exec rxvt"
}
root
{
button = "2"
command = "spawn"
arg = "exec rox"
}
root
{
button = "3"
command = "spawn"
arg = "exec xterm"
}
root
{
button = "4"
command = "tag_viewnext"
}
root
{
button = "5"
command = "tag_viewprev"
} |
no action while clicking on the free desktop .. might be enableable but i dont know how, and for a/the WindowTitlebar with minimize/maximize buttons I have no parameters :
Quote: | [21:01 0 /bin/bash 7399 2 awesome-2.3.6 ]
[puppypc]# grep -n title * | grep toggle
titlebar.c:463:uicb_client_toggletitlebar(int screen __attribute__ ((unused)), char *arg __attribute__ ((unused)))
titlebar.h:35:Uicb uicb_client_toggletitlebar;
uicbgen.h:52: {"client_toggletitlebar", uicb_client_toggletitlebar},
|
"client" is mainly the ApplicationWindow , "layout" the GridLayouts , "tag" every single VirtualDesktop (9) , "task" the part of the TaskBar where the ApplicationWindows have their "entry" .
Code: | #!/bin/sh
while true
do
# if you start this from .xinitrc, the script will start before
# awesome, and will fail.
if [ -S ~/.awesome_ctl.0 ]; then
while true
do
S=`uptime | wc -w`
SR=`expr $S + 1`
CF=`expr $SR - 2`
echo "0 widget_tell mystatusbar load text `uptime | tr -s ' ' | cut -f $CF -d ' ' | sed 's/,//g'`"
echo "" # an empty line flushes data inside awesome
sleep 4
done | awesome-client
else
sleep 4
fi
done |
Code: | #!/bin/sh
while true
do
# if you start this from .xinitrc, the script will start before
# awesome, and will fail.
if [ -S ~/.awesome_ctl.0 ]; then
while true; do
usage=`df | grep -w '/'| tr -s " " | cut -f 5 -d " " | sed 's/\%//g'`
echo "0 widget_tell mystatusbar diskusage data disk ${usage}"
echo "" # an empty line flushes data inside awesome
echo "0 widget_tell mystatusbar free text "`expr 100 - $usage`' %' free""
sleep 6;
done | awesome-client
else
sleep 7
fi
done |
Code: | !/bin/sh
while true
do
# if you start this from .xinitrc, the script will start before
# awesome, and will fail.
if [ -S ~/.awesome_ctl.0 ]; then
while true
do
echo "0 widget_tell mystatusbar clock text `date +%H:%M:%a`"
echo "" # an empty line flushes data inside awesome
sleep 4
done | awesome-client
else
sleep 8
fi
done |
Code: | #!/bin/sh
#[[ "`pidof xconsole`" = "" ]] && killall xconsole
#xconsole &
#DF=`df`
#echo "$DF" >> /dev/console
DF=`df`
mkdir -p /tmp/awesome
sync
echo "$DF" > /tmp/awesome/df.txt
[[ "`which less`" != "" ]] && rxvt -e less /tmp/awesome/df.txt && exit
[[ "`which mp`" != "" ]] && rxvt -e e3 /tmp/awesome/df.txt && exit
[[ "`which e3`" != "" ]] && rxvt -e e3 /tmp/awesome/df.txt && exit
awesome-message "Sorry no suitable viewer (e3,mp,less) detected"
exit
|
these four scripts would create the clock,load,freemem applet .
Code: | iconbox RxVT
{
image = "/usr/local/lib/X11/mini-icons/xterm.png"
mouse
{
button = "1"
command = "spawn"
arg = "exec xterm"
}
}
iconbox gEANY
{
image = "/usr/local/lib/X11/mini-icons/geany.xpm"
mouse
{
button = "1"
command = "spawn"
arg = "exec geany"
}
}
iconbox logo
{
image = "/usr/local/share/awesome/icons/awesome16.png"
mouse
{
button = "1"
command = "spawn"
arg = "exec xterm -e man awesome"
}
}
}
}
rules |
this works to create clickable StartIcons in the taskbar.
first scouting is done, now I'll leave it for the moment .
AWESOME uptime :
[20:31 0 /bin/bash 8923 1 ~ ]
[puppypc]# uptime
21:28:04 up 1 day, 5:04, load average: 1.12, 1.14, 1.08
|
Back to top
|
|
 |
kerl
Joined: 16 Apr 2013 Posts: 152
|
Posted: Tue 07 Mar 2017, 10:36 Post subject:
|
|
These other window managers are similar
dwm
i3wm
notion
You can find a guy on youtube using notion on slackware.
I don't think I've ever seen something like this on my Microsoft native homeland. Maybe there is some program that tries to emulate "Tiling, Tabbing, Static"
Edit: yes, on dwm's site there are links for M$ too
|
Back to top
|
|
 |
|