Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOW-TO] DWM -- Dynamic Window Manager
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2, 3, 4, 5  Next  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
neurolepsia
n00b
n00b


Joined: 08 Aug 2006
Posts: 42

PostPosted: Tue Aug 08, 2006 2:05 pm    Post subject: [HOW-TO] DWM -- Dynamic Window Manager Reply with quote

Salve, sono nuovo del forum e uso linux da circa 1 anno. Ho avuto grandi soddisfazioni da questo SO come server, ma pochissime come desktop. Ho notato che gentoo ha sviluppato un X modulare Xorg 7... quali sono le sue peculiarita'? E' piu' leggero del server X delle altre distribuzioni?

Inoltre sono rimasto davvero molto deluso per quanto riguarda i wm. Ne ho testati parecchi (gnome,kde, fluxbox, xfce) ma non sono riuscito fino a poco tempo fa a trovare uno davvero adatto a me. Qualcosa di molto personalizzabile, semplice, veloce, pulito e leggero. Ho conosciuto da poco tempo il wm dwm, che sembra addirittura piu' leggero di wmii.

Putroppo pero' sono un po' ignorante per quanto riguarda il C++ , e non so come modificare i sorgenti del winodw manager.
Mi chiedo: c'e' qualcuno che usa questo wm e che mi puo' aiutare?

grazie

ciao



ho editato il titolo visto che ho spostato il thread nel forum di documentazione
-- lavish
Back to top
View user's profile Send private message
silvius
Guru
Guru


Joined: 16 May 2006
Posts: 364

PostPosted: Tue Aug 08, 2006 2:11 pm    Post subject: Re: Xorg e dwm Reply with quote

neurolepsia wrote:
Salve, sono nuovo del forum e uso linux da circa 1 anno. Ho avuto grandi soddisfazioni da questo SO come server, ma pochissime come desktop. Ho notato che gentoo ha sviluppato un X modulare Xorg 7... quali sono le sue peculiarita'? E' piu' leggero del server X delle altre distribuzioni?

Inoltre sono rimasto davvero molto deluso per quanto riguarda i wm. Ne ho testati parecchi (gnome,kde, fluxbox, xfce) ma non sono riuscito fino a poco tempo fa a trovare uno davvero adatto a me. Qualcosa di molto personalizzabile, semplice, veloce, pulito e leggero. Ho conosciuto da poco tempo il wm dwm, che sembra addirittura piu' leggero di wmii.

Putroppo pero' sono un po' ignorante per quanto riguarda il C++ , e non so come modificare i sorgenti del winodw manager.
Mi chiedo: c'e' qualcuno che usa questo wm e che mi puo' aiutare?

grazie

ciao


Da quello che ho capito io è stato fatto più che altro per una miglior leggibilità e facilità di sviluppo per chi deve lavorarci sopra, dopo chiaro che anche gli utenti avranno qualcosa di più funzionale nel tempo.

Per il wm, non ho provato dwm, ma tra i diversi che ho provato, anche su hw datato, è fluxbox il quale soddisfa le tue richieste: molto personalizzabile, semplice, veloce, pulito e leggero.
Il primo approccio non è il massimo, ma poi va tutto per il meglio.

Saluto
Back to top
View user's profile Send private message
!equilibrium
Bodhisattva
Bodhisattva


Joined: 06 Jun 2004
Posts: 2109
Location: MI/BG/LC

PostPosted: Tue Aug 08, 2006 2:34 pm    Post subject: Re: Xorg e dwm Reply with quote

neurolepsia wrote:
Ho notato che gentoo ha sviluppato un X modulare Xorg 7... quali sono le sue peculiarita'? E' piu' leggero del server X delle altre distribuzioni?


Gentoo non ha sviluppato Xorg 7 modulare, ma il team di sviluppo di Xorg.
Xorg 7 è uguale su tutte le distribuzioni linux, e gentoo non ha nessuna peculiarità in più, il server X11 a parità di major/minor release è uguale per tutte le distro (ci mancherebbe altro).

@lavish è un evangelista di dwm e WMII, credo sia l'utente del forum maggiormente indicato per questi 2 wm
_________________
Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe

all my contents are released under the Creative Commons Licence by-nc-nd 2.5
Back to top
View user's profile Send private message
randomaze
Bodhisattva
Bodhisattva


Joined: 21 Oct 2003
Posts: 9985

PostPosted: Tue Aug 08, 2006 2:43 pm    Post subject: Re: Xorg e dwm Reply with quote

neurolepsia wrote:
Ho conosciuto da poco tempo il wm dwm, che sembra addirittura piu' leggero di wmii.

Putroppo pero' sono un po' ignorante per quanto riguarda il C++ , e non so come modificare i sorgenti del winodw manager.
Mi chiedo: c'e' qualcuno che usa questo wm e che mi puo' aiutare?


In un recente sondaggio é emerso che ben il 20% dei gentoo italian moderators é passato da wmii a dwm. Ma domani va in ferie.
Comunque mi state incuriosendo, se oggi riesco a uscire dal lavoro a un ora normale lo provo....

Quanto a xorg modulare, la scelta é stata fatta dal team di sviluppo (come hanno già detto), la motivazione alla base é che così é piàu mantenibile e dovrebbe incutere meno timore ai nuovi sviluppatori che vogliono collaborare al progetto.
_________________
Ciao da me!
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Tue Aug 08, 2006 3:22 pm    Post subject: Reply with quote

Oddio leggendo il titolo del thread mi sono venute le palpitazioni! :lol:
Io uso dwm dal giorno 0. Concordo con te nel dire che sia leggero e pulito (sono 1800 righe di C).. posso farti una piccola introduzione esaustiva (piccola e esaustiva, perchè il WM è minimale ;) ).

2011/07/31: dopo una segnalazione di un utente, tengo a precisare che il thread in questione e' totalmente outdated, non fate riferimento ad esso

.AGGIORNAMENTI

  • 2007/01/26 - config.h e scripts vari *non* mantenuti.
  • 2006/09/05 - dwm-1.3, dmenu-0.7:
    aggiornamento versioni
  • 2006/09/03 - dwm-1.2, dmenu-0.6:
    aggiornamento versioni
    riscrittura dei commenti in config.h
    formattazione migliore
  • 2006/08/22 - dwm-0.9, dmenu-0.4:
    aggiornamento versioni
    sistemati errori vari


.INTRO

dwm[1] è nato come il WM personale di Anselm Garbeam ( main devel di wmi(i)[2] ). Utilizza parte di codice di wmii ma a differenza di questo ha molte meno features ed è decisamente più piccolo, pur mantenendo un layout dinamico[3]
Si edita da sorgente in modo da essere estremamente sicuro e per mantenere la base degli utenti "ristretta" (wmii era diventato troppo complesso a causa delle richieste di ulteriori features o layouts da parte della comunità).
Una volta compilato, dwm è composto da un singolo file binario.

Ecco per i curiosi uno screenshot:
http://www.minimalblue.com/ftp/public/images/screenshots/dwm-20060827-1.png

.DOWNLOAD

i sorgenti sono disponibili qui:
http://10kloc.org/download/
oppure è possibile scaricare direttamente il repository HG (emerge mercurial)

La prima volta che fate il fetch basterà eseguire:
Code:
hg clone http://10kloc.org/cgi-bin/hgwebdir.cgi/dwm

Successivamente, per mantenere aggiornata la dir dei sorgenti, basterà dare (all'interno della dir):
Code:
hg pull && hg update


.CONFIGURAZIONE

mentre con le prime versioni di dwm era necessario editare ogni singolo file sorgente, ora c'è un unico file di header per la configurazione globale.
Una volta entrati nella dir dei sorgenti, vedremo:

config.arg.h è il file di configurazione usato da Anselm (arg è il suo nick)
config.default.h è, come si evince facilmente, un file di configurazione standard

Come si può capire dal makefile (config.mk), il file che verrà usato per la compilazione sarà config.h, quindi, possiamo partire ad editare la nostra configurazione in questo modo:
Code:
cp config.default.h config.h


Mostro qui di seguito il mio file di configurazione, prima in versione "vanilla" e poi commentato:

- config.h vanilla:
Code:

/*
 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
 * See LICENSE file for license details.
 */
 
#define TAGS \
const char *tags[] = { "trm", "web", "grp", "snd", "msc", NULL };
 
#define DEFMODE                 dotile /* dofloat */
#define FONT                    "-*-snap-*-*-*-*-*-*-*-*-*-*-*-*"
#define SELBGCOLOR              "#668bca"
#define SELFGCOLOR              "#ffffff"
#define NORMBGCOLOR             "#ffffff" /* "#c5d2e7" */
#define NORMFGCOLOR             "#668bca"
#define STATUSBGCOLOR           "#ffffff"
#define STATUSFGCOLOR           "#668bca"
#define FLOATSYMBOL             "><"
#define TILESYMBOL              "<>"
#define MODKEY                  Mod4Mask
#define MASTERW                 60 /* percent */
 
#define KEYS \
static Key key[] = { \
        /* modifier                     key             function        arguments */ \
        { MODKEY|ShiftMask,             XK_Return,      spawn,          { .cmd = "exec urxvtc" } }, \
        { MODKEY,                       XK_Tab,         focusnext,      { 0 } }, \
        { MODKEY|ShiftMask,             XK_Tab,         focusprev,      { 0 } }, \
        { MODKEY,                       XK_Return,      zoom,           { 0 } }, \
        { MODKEY,                       XK_m,           togglemax,      { 0 } }, \
        { MODKEY|ShiftMask,             XK_1,           tag,            { .i = 0 } }, \
        { MODKEY|ShiftMask,             XK_2,           tag,            { .i = 1 } }, \
        { MODKEY|ShiftMask,             XK_3,           tag,            { .i = 2 } }, \
        { MODKEY|ShiftMask,             XK_4,           tag,            { .i = 3 } }, \
        { MODKEY|ShiftMask,             XK_5,           tag,            { .i = 4 } }, \
        { MODKEY|ControlMask|ShiftMask, XK_1,           toggletag,      { .i = 0 } }, \
        { MODKEY|ControlMask|ShiftMask, XK_2,           toggletag,      { .i = 1 } }, \
        { MODKEY|ControlMask|ShiftMask, XK_3,           toggletag,      { .i = 2 } }, \
        { MODKEY|ControlMask|ShiftMask, XK_4,           toggletag,      { .i = 3 } }, \
        { MODKEY|ControlMask|ShiftMask, XK_5,           toggletag,      { .i = 4 } }, \
        { MODKEY|ShiftMask,             XK_c,           killclient,     { 0 } }, \
        { MODKEY,                       XK_0,           viewall,        { 0 } }, \
        { MODKEY,                       XK_space,       togglemode,     { 0 } }, \
        { MODKEY,                       XK_1,           view,           { .i = 0 } }, \
        { MODKEY,                       XK_2,           view,           { .i = 1 } }, \
        { MODKEY,                       XK_3,           view,           { .i = 2 } }, \
        { MODKEY,                       XK_4,           view,           { .i = 3 } }, \
        { MODKEY,                       XK_5,           view,           { .i = 4 } }, \
        { MODKEY|ControlMask,           XK_1,           toggleview,     { .i = 0 } }, \
        { MODKEY|ControlMask,           XK_2,           toggleview,     { .i = 1 } }, \
        { MODKEY|ControlMask,           XK_3,           toggleview,     { .i = 2 } }, \
        { MODKEY|ControlMask,           XK_4,           toggleview,     { .i = 3 } }, \
        { MODKEY|ControlMask,           XK_5,           toggleview,     { .i = 4 } }, \
        { MODKEY|ShiftMask,             XK_q,           quit,           { 0 } }, \
        { MODKEY,                       XK_p,           spawn,          { .cmd = "exec `dmenu </tmp/.proglist`" } }, \
};
 
/* Query class:instance:title for regex matching info with following command:
 * xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/{ printf("%s\n",$2) }' */
#define RULES \
static Rule rule[] = { \
        /* class:instance:title regex   tags regex      isfloat */ \
        { "Firefox.*",                  "web",          False }, \
        { "Gimp.*",                     "grp",          True}, \
        { "MPlayer.*",                  NULL,           True  }, \
        { "aumix.*",                    NULL,           True  }, \
        { "xboard.*",                   "msc",          True  }, \
        { "Muse.*",                     "snd",          True  }, \
};



- config.h commentato:
Code:

/*
 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
 * See LICENSE file for license details.
 */
 
/* le tags sono i nomi delle varie views.
 * una views può essere paragonata ad un workspace.
 * si possono usare numeri, ma anche stringhe
 */
#define TAGS \
const char *tags[] = { "trm", "web", "grp", "snd", "msc", NULL };
 
/* definisce la modalità di partenza del WM:
 * dotile è la modalità "managed
 * dofloat è la modalità a finestre float a cui siamo abituati
 */
#define DEFMODE                 dotile /* dofloat */
 
/* definisce il font usato */
#define FONT                    "-*-snap-*-*-*-*-*-*-*-*-*-*-*-*"
 
 
/* definisce i colori:
 *
 * SELBGCOLOR   : background selezione
 * SELFGCOLOR   : foreground selezione
 * NORMBGCOLOR  : background area non selezionata
 * NORMFGCOLOR  : foreground area non selezionata
 * STATUSBGCOLOR: background della status bar
 * STATUSFGCOLOR: foreground della status bar
 */
#define SELBGCOLOR              "#668bca"
#define SELFGCOLOR              "#ffffff"
#define NORMBGCOLOR             "#ffffff" /* "#c5d2e7" */
#define NORMFGCOLOR             "#668bca"
#define STATUSBGCOLOR           "#ffffff"
#define STATUSFGCOLOR           "#668bca"
 
/* definisce i simboli grafici che rappresentano
 * la modalita' float e la modalita' tiled
 */
#define FLOATSYMBOL             "><"
#define TILESYMBOL              "<>"
 
/* definisce il tasto usato come MODKEY.
 * Mod4Mask = Mod4 (usualmente il tasto di windows)
 * Mod1Mask = Mod1 (Alt)
 */
#define MODKEY                  Mod4Mask
 
/* definisce la dimensione in percentuale della
 * master coloumn di sinistra
 */
#define MASTERW                 60 /* percent */
 
/* configurazione dei keybindings.
 * ogni keybind deve evere questi campi:
 * modifier : tasto/i che deve/ono venire premuto/i
 *            necessariamente
 * key      : tasto specifico per quella funzione
 * function : funzione da eseguire
 * arguments: argomento/i della funzione
 */
#define KEYS \
static Key key[] = { \
        /* modifier                     key             function        arguments */ \
        { MODKEY|ShiftMask,             XK_Return,      spawn,          { .cmd = "exec urxvtc" } }, \
        { MODKEY,                       XK_Tab,         focusnext,      { 0 } }, \
        { MODKEY|ShiftMask,             XK_Tab,         focusprev,      { 0 } }, \
        { MODKEY,                       XK_Return,      zoom,           { 0 } }, \
        { MODKEY,                       XK_m,           togglemax,      { 0 } }, \
        { MODKEY|ShiftMask,             XK_1,           tag,            { .i = 0 } }, \
        { MODKEY|ShiftMask,             XK_2,           tag,            { .i = 1 } }, \
        { MODKEY|ShiftMask,             XK_3,           tag,            { .i = 2 } }, \
        { MODKEY|ShiftMask,             XK_4,           tag,            { .i = 3 } }, \
        { MODKEY|ShiftMask,             XK_5,           tag,            { .i = 4 } }, \
        { MODKEY|ControlMask|ShiftMask, XK_1,           toggletag,      { .i = 0 } }, \
        { MODKEY|ControlMask|ShiftMask, XK_2,           toggletag,      { .i = 1 } }, \
        { MODKEY|ControlMask|ShiftMask, XK_3,           toggletag,      { .i = 2 } }, \
        { MODKEY|ControlMask|ShiftMask, XK_4,           toggletag,      { .i = 3 } }, \
        { MODKEY|ControlMask|ShiftMask, XK_5,           toggletag,      { .i = 4 } }, \
        { MODKEY|ShiftMask,             XK_c,           killclient,     { 0 } }, \
        { MODKEY,                       XK_0,           viewall,        { 0 } }, \
        { MODKEY,                       XK_space,       togglemode,     { 0 } }, \
        { MODKEY,                       XK_1,           view,           { .i = 0 } }, \
        { MODKEY,                       XK_2,           view,           { .i = 1 } }, \
        { MODKEY,                       XK_3,           view,           { .i = 2 } }, \
        { MODKEY,                       XK_4,           view,           { .i = 3 } }, \
        { MODKEY,                       XK_5,           view,           { .i = 4 } }, \
        { MODKEY|ControlMask,           XK_1,           toggleview,     { .i = 0 } }, \
        { MODKEY|ControlMask,           XK_2,           toggleview,     { .i = 1 } }, \
        { MODKEY|ControlMask,           XK_3,           toggleview,     { .i = 2 } }, \
        { MODKEY|ControlMask,           XK_4,           toggleview,     { .i = 3 } }, \
        { MODKEY|ControlMask,           XK_5,           toggleview,     { .i = 4 } }, \
        { MODKEY|ShiftMask,             XK_q,           quit,           { 0 } }, \
        { MODKEY,                       XK_p,           spawn,          { .cmd = "exec `dmenu </tmp/.proglist`" } }, \
};
 
/* Query class:instance:title for regex matching info with following command:
 * xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/{ printf("%s\n",$2) }' */
 
/* configurazione delle regole per le classi di client:
 * ci sono applicazioni (gimp, mplayer, xfontsel e altri)
 * che non possono lavorare correttamentenel tiled layout.
 * E' possibile quindi definire quali classi di applicazioni
 * verranno lanciate in modalità float e a quale views
 * riservarle.
 *
 * La lista che segue definisce queste regole:
 * Firefox: i clients della classe Firefox.* verranno "taggati"
 *          (cioè verranno eseguiti) nella view "web" in
 *          modalità non float (cioè il client sarà "managed"
 *          normalmente secondo il tiled layout)
 * Gimp   : i clients della classe Gimp.* verranno taggati
 *          secondo la view attuale (cioè possono essere eseguiti
 *          in qualsiasi view) e in modalità float
 *
 * Le restanti regole sono simili alle precedenti.
 */
#define RULES \
static Rule rule[] = { \
        /* class:instance:title regex   tags regex      isfloat */ \
        { "Firefox.*",                  "web",          False }, \
        { "Gimp.*",                     "grp",          True}, \
        { "MPlayer.*",                  NULL,           True  }, \
        { "aumix.*",                    NULL,           True  }, \
        { "xboard.*",                   "msc",          True  }, \
        { "Muse.*",                     "snd",          True  }, \
};


.COMPILAZIONE E INSTALLAZIONE

se volete a questo punto modificare le CFLAGS, o la PREFIX PATH, basterà editare il makefile config.mk. Ha una sintassi semplicissima e alla portata di tutti, quindi non mi dilungo.
Una volta adattato al nostro gusto, loggatevi come root (o come volete se il prefix è nella vostra home) e date un
Code:
make clean install


Ora dwm è installato nel vostro sistema, enjoy ;)


.EXTRAS

.status script

come avreste sicuramente letto dalla pagina di man di dwm, questo WM visualizza nella status bar, testo dallo standard input.
Io ho creato uno script molto semplice in ~/.dwm/status che visualizza varie informazioni sul mio sistema; in ordine:
- stato di carica
- percentuale di batteria rimanente
- data
- ora
- carico del sistema

Ecco qui lo script:
Code:
#!/bin/sh

# battery's design capacity (mWh)
BATT_DES_CAP=`cat /proc/acpi/battery/BAT0/info |awk '/design\ capacity:/ { print $3 }'`

battery()
{
        # remaining capacity (mWh)
        batt_rem_cap=`cat /proc/acpi/battery/BAT0/state |awk '/remaining\ capacity/ { print $3 }'`
        if [ $batt_rem_cap ] ; then
           charge=$((${batt_rem_cap}*100/${BATT_DES_CAP}))
        else
                echo "NO BATT"
      exit
        fi

   # state
   case `sed -n 's/charging state: *\(.*\)$/\1/p' /proc/acpi/battery/BAT0/state` in
       charged)
            charge_type="=";;
       charging)
            charge_type="+";;
       discharging)
            charge_type="-";;
   esac

   echo "${charge_type}${charge}%"

}

temp()
{
   echo `cat /proc/acpi/thermal_zone/THM0/temperature | awk '{ print $2 }'`
}

while true
do
   echo `battery` `temp`^C `date '+%x %H:%M'` `uptime | sed 's/.*://; s/,//g'`
   sleep 3
done | dwm


Per farlo funzionare correttamente, in ~/.xinitrc:
Code:
#!/bin/sh
exec $HOME/.dwm/status


Un altro modo per visualizzare informazioni sulla barra è utilizzare conky
In questo modo, lo ~/.xinitrc diventa:
Code:
exec conky |dwm


.dmenu

una splendida cosa che c'era in wmii e che mi è mancata passando a dwm, era un menu per lanciare applicazioni. Ero costretto inizialmente a farle partire da terminale o creare dei keybindings per ogni app (M-S-w per firefox, M-S-g per gimp, etc).
Poi mi è venuta l'illuminazione di usare wmiimenu da wmii che è pur sempre un'applicazione indipendente, anche se utilizza delle librerie per il rendering, condivise in wmii. Anselm ha ben pensato di rendere completamente indipendente il menu di wmii, anche per quanto riguarda le librerie di rendering. E' nato quindi dmenu :)

Per scaricarlo, configurarlo e compilarlo basta procedere nello stesso modo fatto per dwm, quindi:
Code:
hg clone http://10kloc.org/cgi-bin/hgwebdir.cgi/dmenu
cd dmenu
make clean install


dmenu legge una lista di oggetti (uno per riga) dallo stdin e con questi crea un menu.
Per farla breve, un utilizzo sensato può essere quello di avere uno script che genera una lista degli eseguibili nel nostro sistema e passare questa lista a dmenu.
A me piace avere questo script in ~/.dwm/generate_menu.sh , farlo avviare una sola volta in .xinitrc e creare questa lista in /tmp/.proglist
Ecco lo script
Code:
#!/bin/sh
proglist() {
   ls -lL "$@" 2>/dev/null | awk 'NF>2 && $1 ~ /^[^d].*x/ {print $NF}' | sort | uniq
}
proglist `echo "$PATH" | tr : ' '` >/tmp/.proglist &


Ora riporto un punto che dovrebbe essere chiarito rispetto a prima, riguardo al mio config.h per dwm:
Code:

        /* funzione aggiunta rispetto al file config.default.h
         * il significato è:
         * alla pressione di "MODKEY (quindi Mod4) + p", dovrà essere eseguito
         * il comando "exec `dmenu </tmp/.proglist`"
         * in sostanza, questa combinazione lancia dmenu passandogli una lista di oggetti dallo stdin
         */
        { MODKEY,               XK_p,           spawn,          { .cmd = "exec `dmenu </tmp/.proglist`" } }, \


Chiaro a cosa serviva, no? ;)

Lo script generate_menu.sh è comunque opzionale, uno potrebbe anche decidere di creare la lista dei binari ad ogni invocazione di dmenu invece di avere una lista statica... anche perchè si fa presto dopotutto:
Code:
blackhole ~ $ time .dwm/generate_menu.sh

real   0m0.031s
user   0m0.004s
sys   0m0.004s

Io preferisco tenermi la lista in /tmp ... poi fate voi ;)


[1] dwm: http://10kloc.org/dwm/
[2] wmii: http://10kloc.org/wmii/
[3] dynamic layout: http://wmii.de/taggi.php?page=dynamic


Spero che l'how-to vi sia piaciuto! Ricordatevi che esistono comunque le pagine di man ;)


Ciao!
_________________
minimalblue.com | secgroup.github.io/


Last edited by lavish on Sat Jul 30, 2011 11:59 pm; edited 14 times in total
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Tue Aug 08, 2006 4:24 pm    Post subject: Reply with quote

Spostato da Forum di discussione italiano a Risorse italiane (documentazione e tools) ;)
_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
neurolepsia
n00b
n00b


Joined: 08 Aug 2006
Posts: 42

PostPosted: Tue Aug 08, 2006 11:23 pm    Post subject: Reply with quote

Non so davvero come ringraziarti, mi sembra una cosa fenomenale. Domani lo metto. Viva il minimalismo esaustivo

Domanda probabilmente da idiota: le apps sono indipendenti dal wm, nel senso posso fare tutto quello che facevo con altri wm tipo lanciare app 3d come glxgears ecc ecc(sempre da linea di comando)

bye
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Tue Aug 08, 2006 11:35 pm    Post subject: Reply with quote

neurolepsia wrote:
le apps sono indipendenti dal wm, nel senso posso fare tutto quello che facevo con altri wm tipo lanciare app 3d come glxgears ecc ecc(sempre da linea di comando)

Certo! Le applicazioni che non si comportano bene nel tiled layout puoi taggarle come float in base alla classe del client [1] e inserirle in config.h, altrimenti usare temporaneamente il float layout per l'intero WM.

Tieni comunque in considerazione l'utilizzo di dmenu, è comodissimo!

Ciao!

[1] per vederla, ti basta dare un:
Code:
xprop |grep WM_CLASS
Devi considerare il secondo campo
_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
neurolepsia
n00b
n00b


Joined: 08 Aug 2006
Posts: 42

PostPosted: Wed Aug 09, 2006 7:06 pm    Post subject: Reply with quote

Cioe' devo dire che e' davvero fenomenale. Non mi sono mai trovato cosi' bene con un wm. Anche linux come desktop sta iniziando a darmi delle grandissime soddisfazioni. Sono alla ricerca di programmi da linea di comando

Uso irssi per IRC e va benone, cplay per la musica ma non mi soddisfa, tsmnc per msn ma non e' il massimo, inoltre cercavo qualche programma che da linea di comando potesse gestire vari protocolli (una specie di gaim per bash), e un discreto file manager.

Qualche consiglio?

Inoltre: Plan9 mi sembra un progetto davvero interessante soprattutto se posso inserirlo nel mio sistema. Vale lo stesso discorso che vale per wmii, e posso seguire l'howto del mitico lavish?



Comunque, grazie ancora lavish.
Back to top
View user's profile Send private message
randomaze
Bodhisattva
Bodhisattva


Joined: 21 Oct 2003
Posts: 9985

PostPosted: Wed Aug 09, 2006 7:42 pm    Post subject: Reply with quote

neurolepsia wrote:
Uso irssi per IRC e va benone, cplay per la musica ma non mi soddisfa, tsmnc per msn ma non e' il massimo, inoltre cercavo qualche programma che da linea di comando potesse gestire vari protocolli (una specie di gaim per bash), e un discreto file manager.

Qualche consiglio?


Leggere il topic due righe piú sotto: questo, si parla di centericq. Il file manager per la console (a parte, ovviamente la bash che trovo sia il miglior filemanager del pianeta) penso sia il midnight commander (comando 'mc').

Quote:
Inoltre: Plan9 mi sembra un progetto davvero interessante soprattutto se posso inserirlo nel mio sistema. Vale lo stesso discorso che vale per wmii, e posso seguire l'howto del mitico lavish?


In che senso "puoi seguire"? Se vuoi seguilo... se non ricordo male risale a un tot. di tempo fa ma suppongo non ci siano particolari evoluzioni. Se hai qualcosa da far notare per quell'howto ovviamente fai un reply in quel thread ;-)
_________________
Ciao da me!
Back to top
View user's profile Send private message
!equilibrium
Bodhisattva
Bodhisattva


Joined: 06 Jun 2004
Posts: 2109
Location: MI/BG/LC

PostPosted: Thu Aug 10, 2006 7:02 am    Post subject: Reply with quote

gran bell'howto @lavish!!
_________________
Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe

all my contents are released under the Creative Commons Licence by-nc-nd 2.5
Back to top
View user's profile Send private message
drizztbsd
Retired Dev
Retired Dev


Joined: 21 Nov 2004
Posts: 278
Location: Cesano Maderno

PostPosted: Sat Aug 12, 2006 3:32 pm    Post subject: Reply with quote

lavish wrote:

A me piace avere questo script in ~/.dwm/generate_menu.sh , farlo avviare una sola volta in .xinitrc e creare questa lista in /tmp/.proglist
Ecco lo script
Code:
#!/bin/sh
proglist() {
   ls -lL "$@" 2>/dev/null | awk 'NF>2 && $1 ~ /^[^d].*x/ {print $NF}' | sort | uniq
}
proglist `echo "$PATH" | tr : ' '` >/tmp/.proglist &



Va bene essere grezzi, ma cosi' si esagera :P

find `echo $PATH | tr : ' '` -maxdepth 1 -perm -1 -xtype f -printf '%f\n' | sort | uniq > /tmp/.proglist

Ci mette la meta' del tempo :P
_________________
Gentoo/Alt lead
Gentoo/*BSD and Gentoo/FreeBSD deputy lead
Paludis contributor
Back to top
View user's profile Send private message
neurolepsia
n00b
n00b


Joined: 08 Aug 2006
Posts: 42

PostPosted: Sun Aug 20, 2006 5:33 pm    Post subject: Reply with quote

E' piu' veloce lo script di Drizzt, lavish ti conviene correggere il topic quando ritorni.Quando torni fatti sentire che volevo farti qualche domanda

Inoltre
cercavo un terminale velocissimo(il piu' veloce possibile) ora uso aterm, che si possa magari rendere trasparente.

SAluti
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Tue Aug 22, 2006 12:41 pm    Post subject: Reply with quote

-- ho aggiornato l'how-to ad oggi, 22/08/2006

neurolepsia wrote:
Uso irssi per IRC e va benone

idem
neurolepsia wrote:
cplay per la musica ma non mi soddisfa

infatti è un frontend in python lentissimo e scomodo. Prova cmus, secondo me è favoloso
neurolepsia wrote:
tsmnc per msn ma non e' il massimo, inoltre cercavo qualche programma che da linea di comando potesse gestire vari protocolli (una specie di gaim per bash)

In un'unica parola: bitlbee
neurolepsia wrote:
e un discreto file manager

Stessa risposta che ti ha dato randomaze ;)
neurolepsia wrote:
cercavo un terminale velocissimo(il piu' veloce possibile) ora uso aterm, che si possa magari rendere trasparente.

Attualmente, terminali veramente sani non ne esistono... se vuoi qualcosa che supporti la fake trasparency e sia veloce e leggero, prova urxvt in modalità client - server
Code:
emerge urxvt-unicode


Ciao!
_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Tue Aug 22, 2006 12:49 pm    Post subject: Reply with quote

Drizzt Do` Urden wrote:
find `echo $PATH | tr : ' '` -maxdepth 1 -perm -1 -xtype f -printf '%f\n' | sort | uniq > /tmp/.proglist

Ci mette la meta' del tempo :P

E' decisamente più elegante, ma sul mio sistema impiega più tempo della versione che ho presentato nell'how-to (usando time <comando>). Inoltre questo script si perde alcuni eseguibili, tipo /usr/games/bin/*
In ogni caso, sarebbe meglio così:
Code:
find `echo $PATH | tr : ' '` -maxdepth 1 -perm -1 -xtype f -printf '%f\n' 2>/dev/null | sort | uniq > /tmp/.proglist

_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
neurolepsia
n00b
n00b


Joined: 08 Aug 2006
Posts: 42

PostPosted: Tue Aug 22, 2006 1:53 pm    Post subject: Reply with quote

Code:
/*
 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
 * See LICENSE file for license details.
 */

#define TAGS \
const char *tags[] = { "0", "1", "2", "3", "4", NULL };

#define DEFMODE         dotile /* dofloat */
#define DEFTAG         1 /* index */
#define FONT         "-*-snap-*-*-*-*-*-*-*-*-*-*-*-*"
#define BGCOLOR         "#668bca"
#define FGCOLOR         "#e8e8e8"
#define BORDERCOLOR      "#92abd4"
#define MODKEY         Mod4Mask
#define NUMLOCKMASK      Mod2Mask
#define MASTERW         50 /* percent */

#define KEYS \
static Key key[] = { \
   /* modifier         key      function   arguments */ \
   { MODKEY|ShiftMask,      XK_Return,   spawn,      { .cmd = "exec urxvt +sb -tr -sh 60 -fg black" } }, \
   { MODKEY,         XK_Tab,      focusnext,   { 0 } }, \
   { MODKEY|ShiftMask,      XK_Tab,      focusprev,   { 0 } }, \
   { MODKEY,         XK_Return,   zoom,      { 0 } }, \
   { MODKEY,         XK_m,      togglemax,   { 0 } }, \
   { MODKEY|ShiftMask,      XK_0,      tag,      { .i = 0 } }, \
   { MODKEY|ShiftMask,      XK_1,      tag,      { .i = 1 } }, \
   { MODKEY|ShiftMask,      XK_2,      tag,      { .i = 2 } }, \
   { MODKEY|ShiftMask,      XK_3,      tag,      { .i = 3 } }, \
   { MODKEY|ShiftMask,      XK_4,      tag,      { .i = 4 } }, \
   { MODKEY|ControlMask|ShiftMask,   XK_0,      toggletag,   { .i = 0 } }, \
   { MODKEY|ControlMask|ShiftMask,   XK_1,      toggletag,   { .i = 1 } }, \
   { MODKEY|ControlMask|ShiftMask,   XK_2,      toggletag,   { .i = 2 } }, \
   { MODKEY|ControlMask|ShiftMask,   XK_3,      toggletag,   { .i = 3 } }, \
   { MODKEY|ControlMask|ShiftMask,   XK_4,      toggletag,   { .i = 4 } }, \
   { MODKEY|ShiftMask,      XK_c,      killclient,   { 0 } }, \
   { MODKEY,         XK_space,   togglemode,   { 0 } }, \
   { MODKEY,         XK_0,      view,      { .i = 0 } }, \
   { MODKEY,         XK_1,      view,      { .i = 1 } }, \
   { MODKEY,         XK_2,      view,      { .i = 2 } }, \
   { MODKEY,         XK_3,      view,      { .i = 3 } }, \
   { MODKEY,         XK_4,      view,      { .i = 4 } }, \
   { MODKEY|ControlMask,      XK_0,      toggleview,   { .i = 0 } }, \
   { MODKEY|ControlMask,      XK_1,      toggleview,   { .i = 1 } }, \
   { MODKEY|ControlMask,      XK_2,      toggleview,   { .i = 2 } }, \
   { MODKEY|ControlMask,      XK_3,      toggleview,   { .i = 3 } }, \
   { MODKEY|ControlMask,      XK_4,      toggleview,   { .i = 4 } }, \
   { MODKEY|ShiftMask,      XK_q,      quit,      { 0 } }, \
        { MODKEY,                       XK_p,           spawn,          { .cmd = "exec `dmenu </tmp/.proglist`" } }, \
};

#define RULES \
static Rule rule[] = { \
   /* class:instance regex      tags regex   isfloat */ \
   { "Firefox.*",         "2",      True }, \
   { "Gimp.*",         NULL,      True  }, \
        { "MPlayer.*",             NULL,           True  }, \
        { "Thunderbird.*",         NULL,           True  }, \
        { "xboard.*",              NULL,           True  }, \
        { "Muse.*",                NULL,           True  }, \
};


Questo e' il mio config.h, non vanno bene due cose... Thunderbird non parte in modalita' true cioe' nel senso che non riesco a spostare o ridurre la finestra....
inoltre, quando premo Mod4+Shift+q dwm non si chiude,ma scompare la barra in alto e rimane bloccato... e' normale e per uscire da X devo premere ctrl+alt+backspace oppure devo preoccuparmi?
Lavish, l'ho quasi interamente copiato dal tuo, e nonostante tutto quella poche cose che ho modificato mi sembrano sbagliate... potresti correggermelo?

Inoltre, potreste consigliarmi qualche font carino per la shell? ho provato snap ma non mi piace. C'e' un modo per modificare le impostazioni della shell, magari da un file, senza doverle settare come ho fatto io nel config.h ? Come faccio a "muovere" le finestre? Sempre se e' possibile...

grazie e ciao
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Tue Aug 22, 2006 4:19 pm    Post subject: Reply with quote

neurolepsia wrote:
Questo e' il mio config.h, non vanno bene due cose...

Il config che stai usando è "vecchio". Fai riferimento a quello che ho postato oggi ;)
Quote:
Thunderbird non parte in modalita' true cioe' nel senso che non riesco a spostare o ridurre la finestra....

Devi prestare attenzione alla WM_CLASS. Per visualizzare la classe di un determinato sw, basta dare il comando
Code:
xprop | awk -F'"' '/^WM_CLASS/ { printf "%s:%s\n", $4, $2 }'
e cliccare sulla finestra del software. Nel caso di thunderbird, mi dicono gentilmente dalla regia che è Thunderbird-bin, quindi dovrai inserire una riga del genere:
Code:
"Thunderbird-bin.*",         NULL,      True  }, \

Quote:
inoltre, quando premo Mod4+Shift+q dwm non si chiude,ma scompare la barra in alto e rimane bloccato... e' normale e per uscire da X devo premere ctrl+alt+backspace oppure devo preoccuparmi?

No è normale, perchè tu così killi lo script di status. Ti basta ripremere M-q per uscire dal WM.
Quote:
Inoltre, potreste consigliarmi qualche font carino per la shell? ho provato snap ma non mi piace. C'e' un modo per modificare le impostazioni della shell, magari da un file, senza doverle settare come ho fatto io nel config.h ?

Certo, snap non è un font fatto per essere in una shell ;) Personalmente uso proggy-clean ( http://www.proggyfonts.com/index.php?menu=download) , ma altri fonts molto buoni sono fixed e terminus ( emerge media-fonts/terminus-font )
Per avere un unico file dove settare le impostazioni in modo coerente, puoi usare ~/.Xdefaults
Ti posto il mio, in modo che tu possa fartene un'idea:
Code:

URxvt*background: white
URxvt*foreground: black
URxvt*scrollBar: false
URxvt*font: -*-proggyclean-*-*-*-*-*-*-*-*-*-*-*-*

XBoard*lightSquareColor: #d3d4d5
XBoard*darkSquareColor: #858585
XBoard*font: snap

Xcursor.theme: Jimmac

Quote:
Come faccio a "muovere" le finestre? Sempre se e' possibile...
Puoi spostare le finestre in modalità float. Quindi se sei in tiled layout, premi M-space e poi tenendo premuto Modkey, trascina la finestra con il tasto sinistro del mouse. Con il destro fai un resize. E' tutto documentato nel man comunque..

Ciao!
_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
neurolepsia
n00b
n00b


Joined: 08 Aug 2006
Posts: 42

PostPosted: Sun Sep 03, 2006 1:46 am    Post subject: Reply with quote

lavish, se non ti e' troppo di peso, potresti aggiornare periodicamente il config.h ? :D
Cosi' gli "ignoranti" come me possono prendere spunto...

grazie mille

ciao
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Sun Sep 03, 2006 7:23 am    Post subject: Reply with quote

neurolepsia wrote:
lavish, se non ti e' troppo di peso, potresti aggiornare periodicamente il config.h ?

Done ;)

  • 2006/09/03 - dwm-1.2, dmenu-0.6:
    aggiornamento versioni
    riscrittura dei commenti in config.h
    formattazione migliore

_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Tue Sep 05, 2006 8:55 am    Post subject: Reply with quote

Aggiornato a dwm-1.3 e dmenu-0.7 ;)
_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
curson
n00b
n00b


Joined: 23 Sep 2006
Posts: 11
Location: London, UK

PostPosted: Mon Jan 08, 2007 6:31 pm    Post subject: Reply with quote

Scopro solo ora dwm, e questo topic è stato utilissimo per iniziare.
Al momento un quasi vergine dwm mi osserva dal mio Thinkpad, così a naso sembra più adatto a me di quanto non sia wmii-3 ;)
Grazie mille Lavish!
_________________
curson :twisted:
"There are those who worship it. There are those who fear it.
And there are those who have vowed to destroy it.
In the Valley of the Time Tombs the Shrike waits for them all."
Back to top
View user's profile Send private message
!ico
Apprentice
Apprentice


Joined: 26 Oct 2005
Posts: 199
Location: Bassano del Grappa (VI)

PostPosted: Sun Jan 14, 2007 10:36 am    Post subject: Reply with quote

curson wrote:
cos`i a naso sembra piu adatto a me di quanto non sia wmii-3 ;)


scusate, ma che ha di diverso dwm da wmii? ammetto di doverlo ancora provare, ma sinceramente non ho capito dove stanno le grosse differenze (intendo in positivo per dwm..)

ola ;)
_________________
" I tasti iniziano. I tasti finiscono. Tu sai che sono 88; su questo nessuno può fregarti. Non sono infiniti loro. Tu, tu sei infinito, e dentro quei tasti, infinita è la musica che puoi fare. Loro sono 88. Tu sei infinito".
Novecento (Baricco)
Back to top
View user's profile Send private message
lucapost
Veteran
Veteran


Joined: 24 Nov 2005
Posts: 1419
Location: <ud|me|ts> - Italy

PostPosted: Thu Jan 25, 2007 3:56 pm    Post subject: Reply with quote

Sto cercando di personalizzare il config.h di dwm, in particolare la configurazione delle scorciatoie da tastiera.
Trovo difficoltà a riempire la colonna keys " XK_* ", per i tasti alfanumerci nessun problema, ma che nome hanno le frecce, pag su/giù, ecc?
Esiste qualche software che mi restituisce il nome da mettere al posto del "*"?

Ho provato a cercare, ma trovo soluzioni soluzioni solamente che richiedono altro software (xbindkeys...)
Grazie a tutti.
_________________
LP
Back to top
View user's profile Send private message
zolar czakl
Apprentice
Apprentice


Joined: 25 Sep 2004
Posts: 162
Location: UMRK

PostPosted: Fri Jan 26, 2007 12:07 am    Post subject: Reply with quote

Code:
emerge xev

Esempio: PageUp (Prior)
Code:
KeyRelease event, serial 32, synthetic NO, window 0x800001,
    root 0x187, subw 0x0, time 1538925399, (869,737), root:(874,817),
    state 0x0, keycode 99 (keysym 0xff55, Prior), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False


Non sarebbero comodi i colori all'interno del "code"?
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Fri Jan 26, 2007 7:46 am    Post subject: Reply with quote

Salve a tutti!

Scusatemi per la lunga assenza, ma sono in un periodo abbastanza incasinato per quanto riguarda esami/musica :?
Ad ogni modo, vediamo di rispondere a tutti :)

curson wrote:
Scopro solo ora dwm, e questo topic è stato utilissimo per iniziare.
Al momento un quasi vergine dwm mi osserva dal mio Thinkpad, così a naso sembra più adatto a me di quanto non sia wmii-3 ;)


Si', come modello di sviluppo, non ci si e' basati su filosofie particolari (a differenza di wmii, dove lo scopo era quello di creare un WM il piu' dinamico possibile), ma si e' guardato esclusivamente all'usabilita' :)

!ico wrote:
scusate, ma che ha di diverso dwm da wmii? ammetto di doverlo ancora provare, ma sinceramente non ho capito dove stanno le grosse differenze (intendo in positivo per dwm..)


E' tutto scritto sul sito http://dwm.suckless.org/ . Faccio comunque un breve riassunto:

  • configurazione da sorgente:
    dwm viene configurato tramite un file di header C. Questo semplifica di molto il codice (non serve un parser) e rende piu' sicuro e veloce il programma (non possono essere passati valori che non siano noti a tempo di compilazione). La sintassi del file inoltre - assunto che si conosca il C - e' standard per tutti.

  • assenza del supporto a 9P:
    L'fs virtuale di wmii, e' possibile montarlo come un vero fs tramite il filesystem 9P, presente nel kernel sotto questa voce
    Code:
    < > Plan 9 Resource Sharing Support (9P2000) (Experimental)
    .
    Molto interessante, ma di dubbia utilita'...
    In dwm, semplicemente, non c'e' alcun fs virtuale. Segue la mancanza di supporto a 9P.

  • assenza di "controllo remoto":
    Proprio a causa dell'assenza dell'fs virtuale di wmii in dwm, non e' possibile impartire azioni al WM da riga di comando. Di conseguenza, non si possono usare script per la configurazione a runtime del WM.

  • assenza delle tagbars:
    In dwm le tagbars sono state semplicemente rimosse. L'output di ogni finestra compare direttamente nella barra in alto, quando il client viene focalizzato.

  • semplicita':
    dwm e' composto da un singolo file binario, quindi e' comodo in ogni tipo di ambiente/installazione.
    I sorgenti sono molto puliti e inferiori alle 2000 righe di ansi C.


Tutto cio' puo' far sembrare wmi >> dwm. In realta' e' stato rimosso da wmii tutto quello che - secondo l'autore e la userbase - era superfluo, migliorando l'usabilita' e l'efficacia del WM.

Per far chiarezza, vorrei aggiungere un'altra cosa riguardo allo sviluppo di wmii e dwm: questi due software non sono sviluppati dalla stessa persona (Anselm R. Garbe).
dwm e' sviluppato da lui, mentre wmii lo *era* prima che si dedicasse a dwm.
wmii era stato affidato a Kris Maglione, uno sviluppatore eccezzionale che stava impostando il cammino verso wmii-4, con un wmiifs riscritto completamente, tagbars editabili e altro. Purtroppo, Kris e' letteralmente scomparso e di lui, da mesi, non si sa piu' nulla. La speranza e' che non gli sia successo nulla di grave a livello personale :(
wmii era e' stato affidato a Denis G. , ma se devo essere franco, si nota l'abisso che sussiste fra lui e i 2 mantainers precedenti :?

Non vedo un grande futuro per wmii.

lucapost wrote:
Sto cercando di personalizzare il config.h di dwm, in particolare la configurazione delle scorciatoie da tastiera.
Trovo difficoltà a riempire la colonna keys " XK_* ", per i tasti alfanumerci nessun problema, ma che nome hanno le frecce, pag su/giù, ecc?
Esiste qualche software che mi restituisce il nome da mettere al posto del "*"?


Esattamente grazie al software indicato da zolar czakl. Il token che ti serve e' il secondo campo fra parentesi nella terza riga ;)

zolar czakl wrote:
Non sarebbero comodi i colori all'interno del "code"?


Qui non ho capito cosa intendi, se ti riferisci a dwm o se stavi pensando ai colori del campo [code] in phpBB


Ciao!

// edit: nel how-to ho aggiunto la seguente nota

Per una questione di comodita', il mio config.h e i vari scripts non sono aggiornati qui sul forum. Li potete trovare aggiornati e riveduti, qui: http://www.minimalblue.com/projects/dwm.php
_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) All times are GMT
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum