Awesome Window Manager
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
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
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
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
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
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
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 [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
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. loltechnosaurus 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
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.
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
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)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.
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 [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
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 !
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 !
- Attachments
-
- awesome-2.3.6-pup430.tar.gz
- test at your own risk !
- (119.57 KiB) Downloaded 1170 times
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 .
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 .
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
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.
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 [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
Found out that awsome created .awesomerc file at /root and adjusting2. : it likes to have a /root/.awesome directory for the awesomerc file
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 .
after reading and experimenting now a simple basic Menu for awesome2 :
(I hope the code is not too wrong)
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
which echoes something like this:
My keys are actually :
and it is possible to start several apps with one key .
(I hope the code is not too wrong)
Code: Select all
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
now it is able to create an entry at .awesomerc like
Code: Select all
key
{
key = "F12"
command = "spawn"
arg = "ln -s /usr/local/desktopmanager/awesome/mainmenu | awesome-menu -e "rox /usr/local/desktopmanager/awesome/mainmenu/$@" 'MAIN--MENU--:'"
}
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 .ln: creating symbolic link `./mainmenu': File exists
W: awesome: config_parse:186: no definition for menu MAIN--MENU--: in configuration file: using default
My keys are actually :
Code: Select all
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"
}
Tweaking AWESOME 2
originally there is the parameter "-executable" to `find`key
{
modkey = {"Mod4"}
key = "F2"
command = "spawn"
arg = "exec find /usr/bin -type f ! -empty | sed 's,.*/,,' | awesome-menu 'Execute :'"
}
works better than above post changed 'for" because $@ needs tyo be double quotedkey
{
key = "F12"
command = "spawn"
arg = 'ln -s /usr/local/desktopmanager/awesome/mainmenu | awesome-menu -e "rox /usr/local/desktopmanager/awesome/mainmenu/$@" "MainMenu"'
}
can create entries in the TAG-LAYOUT-TASKBAR.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
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.layoutinfo mylayoutinfo
{
mouse
{
button = "1"
command = "tag_setlayout"
arg = "+1"
}
mouse
{
button = "8"
command = "tag_setlayout"
arg = "-1"
}
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 :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"
}
"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" .[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},
Code: Select all
#!/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: Select all
#!/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: Select all
!/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: Select all
#!/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
Code: Select all
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
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
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
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