Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Mon 22 Sep 2014, 02:27
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » System
Awesome Window Manager
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
Page 1 of 1 Posts_count  
Author Message
Q5sys


Joined: 11 Dec 2008
Posts: 1049

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

_________________



My PC is for sale
Back to top
View user's profile Send_private_message 
aragon

Joined: 15 Oct 2007
Posts: 1698
Location: Germany

PostPosted: 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
View user's profile Send_private_message 
Q5sys


Joined: 11 Dec 2008
Posts: 1049

PostPosted: 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?

_________________



My PC is for sale
Back to top
View user's profile Send_private_message 
technosaurus


Joined: 18 May 2008
Posts: 4351

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

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send_private_message 
Q5sys


Joined: 11 Dec 2008
Posts: 1049

PostPosted: 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. Razz

_________________



My PC is for sale
Back to top
View user's profile Send_private_message 
technosaurus


Joined: 18 May 2008
Posts: 4351

PostPosted: 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. Razz
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

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send_private_message 
Karl Godt


Joined: 20 Jun 2010
Posts: 3972
Location: Kiel,Germany

PostPosted: 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 !
awesome-2.3.6-pup430.tar.gz
Description  test at your own risk !
gz

 Download 
Filename  awesome-2.3.6-pup430.tar.gz 
Filesize  119.57 KB 
Downloaded  491 Time(s) 
Back to top
View user's profile Send_private_message Visit_website 
Karl Godt


Joined: 20 Jun 2010
Posts: 3972
Location: Kiel,Germany

PostPosted: 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
View user's profile Send_private_message Visit_website 
technosaurus


Joined: 18 May 2008
Posts: 4351

PostPosted: 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.

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send_private_message 
Karl Godt


Joined: 20 Jun 2010
Posts: 3972
Location: Kiel,Germany

PostPosted: 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 .
2011-02-09-020348_1600x1200_scrot.png
 Description   get the grid feeling ! YEAH !
 Filesize   783.02 KB
 Viewed   3043 Time(s)

2011-02-09-020348_1600x1200_scrot.png

Back to top
View user's profile Send_private_message Visit_website 
Karl Godt


Joined: 20 Jun 2010
Posts: 3972
Location: Kiel,Germany

PostPosted: 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
View user's profile Send_private_message Visit_website 
Karl Godt


Joined: 20 Jun 2010
Posts: 3972
Location: Kiel,Germany

PostPosted: Wed 09 Feb 2011, 16:37    Post_subject: Tweaking AWESOME 2
Sub_title: 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
View user's profile Send_private_message Visit_website 
Display_posts:   Sort by:   
Page 1 of 1 Posts_count  
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » System
Jump to:  

Rules_post_cannot
Rules_reply_cannot
Rules_edit_cannot
Rules_delete_cannot
Rules_vote_cannot
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1263s ][ Queries: 13 (0.0061s) ][ GZIP on ]