Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOW-TO] wmii e Plan9
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Fri Nov 18, 2005 9:51 am    Post subject: [HOW-TO] wmii e Plan9 Reply with quote

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

.INTRODUZIONE

Cos'è Plan9?
Plan9 è un sistema operativo Open Source nato nei laboratori Bell alla fine degli anni 80 e tutt'ora sviluppato.
All'atto pratico, si presenta simile ad un sistema Unix, ma in realtà è profondamente diverso. Plan9 infatti, è stato progettato per essere un OS focalizzato sul networking a differenza di un tipico sistema Unix dove viene considerato, di norma, un'aggiunta.
Molti tools disponibili per Unix sono presenti, ma sono stati completamente riscritti e migliorati.
Plan9 è stato sviluppato attorno al principio che tutti gli oggetti del sistema (file, processi, periferiche, meccanismi di comunicazione...) appaiono in un name space nel file system all'interno del quale le manipolazioni degli oggetti si esprimono in modo coerente.

Riporto una lista di features reperibile sul sito ufficiale del progetto:
Code:

    * The dump file system makes a daily "snapshot" of the filestore available to users
    * Unicode character set support throughout the system
    * Advanced kernel synchronization facilities for parallel processing
    * ANSI/POSIX environment emulator (APE)
    * Plumbing, a language driven way for applications to communicate
    * Acme - an editor, shell and window system for programmers
    * Sam - a screen editor with structural regular expressions
    * Support for MIME mail messages and IMAP4
    * Security - there is no super-user or root, and passwords are never sent over the network
    * Venti - archival storage
    * Fossil - Unix-like file system built on top of Venti

Plan9 è disponibile per un gran numero di architetture: Intel x86, Sparc, Alpha, Power PC, and Arm.
Può essere inoltre utilizzato in User Space all'interno di altri sistemi operativi Unix o Unix like: Linux (x86, PowerPC, and ARM), FreeBSD (x86), Mac OS X (Power PC), NetBSD (x86 and PowerPC), OpenBSD (x86 and PowerPC), SunOS (Sparc).

Cos'è wmii?
Dal sito ufficiale del progetto si legge "wmii is a dynamic window manager for X11". In realtà questa definizione è troppo generica e sarebbe meglio dire che wmii è un windows manager con layouts dinamici per X11. È estremamente configurabile e ricco di features. Supporta vari tipi di organizzazione delle finestre sul desktop, fra i quali:
Code:

    * Floating Layout (disposizione convenzionale)
    * Tiled Layout (disposizione in orizzonatle con un frame principale)
    * Vertical Layout (disposizione in verticale)
    * Grid Layout (disposizione a scacchiera)

Le architetture e gli OS supportati sono molteplici: Linux, *BSD, Mac OS X, Solaris

Plan9 e wmii
Qual è la relazione fra i 2 progetti?
wmii implementa un'interfaccia di comunicazione fra i processi conforme al protocollo 9P2000 introdotto da Plan9.
Inoltre, wmii utilizza come linguaggio di scripting per la configurazione rc la shell originale di Plan9.



.INSTALLAZIONE

L'installazione comprenderà obbligatoriamente 2 pacchetti: wmii e 9base.

wmii è il windows manager in sè, mentre 9base è un port dei seguenti tools di
Plan9 su Unix:
Code:

# awk
# basename
# bc
# cat
# cleanname
# date
# echo
# grep
# rc
# sed
# seq
# sleep
# sort
# tee
# test
# touch
# tr
# uniq


Come ho anticipato nel paragrafo precedente, questi tools sono indispensabili poichè wmii utilizza per la configurazione (dalla versione 3 ancora in fase di sviluppo) il linguaggio di scripting di rc, la shell originale di Plan9.
Presenterò anche, come facoltativa, l'installazione di Plan9 in User Space

wmii -- obbligatorio
L'ultima release stabile del windows manager è la 2.5, non ancora presente in portage.
L'installazione (molto rapida e semplice) può essere effettuata tramite gli ebuilds presenti su bugzilla o manualmente. Io tratterò l'installazione manuale per il fatto che preferisco tenere tutto in /usr/local e per dare la possibilità anche agli utenti non-gentoo di installare wmii:

Prepariamo una dir dove scompattare e compilare i sorgenti:
Code:

$ mkdir -p ~/sources/wmii
$ cd ~/sources/wmii
$ wget http://wmii.de/download/wmii-2.5.tar.gz
$ tar -xzf wmii-2.5.tar.gz
$ cd wmii-2.5


A questo punto editate il file config.mk se volete cambiare qualche impostazione. Se vi va bene così com'è, wmii verrà installato in /usr/local
La compilazione è molto semplice a questo punto:
Code:

$ su
<passwd>
# make clean install

wmii installato :)

Prima di provarlo dovreto installare anche 9base, altrimenti non sarete in grado di avviare il wm.

9base -- obbligatorio
Anche per per 9base, andremo a installare l'ultima versione disponibile manualmente:
Code:

$ cd ~/sources
$ mkdir 9base
$ cd 9base
$ wget http://wmii.de/download/9base-1.tar.gz
$ tar -xzf 9base-1.tar.gz
$ cd 9base-1

Ora, dovrete compilare e installare i tools con una procedura molto simile a quella adottata per wmii. Fate attenzione a non sovrascrivere i vostri tools di base con quelli portati da Plan9!. Per evitare questa spiacevole inconvenienza, vi consiglio caldamente di lasciare inalterato il file config.mk. L'installazione procederà quindi di default in /usr/local
Code:

$ su
<passwd>
# make clean install


Ora siete pronti per avviare wmii! Se siete interessati anche all'installazione del port di Plan9 su Unix, leggete anche il paragrafo successivo, altrimenti passate direttamente al paragrafo Configurazione

Plan9Port -- facoltativo
Ho già presentato un'introduzione a Plan9. Se volete approfondire il port su Unix e i vari programmi disponibili, vi rimando alla pagina ufficiale del progetto.

Andiamo quindi ad eseguire un checkout del cvs e compilare il sw:
Code:

$ cd ~/sources
$ cvs -d :pserver:anoncvs@cvs.pdos.lcs.mit.edu:/cvs checkout plan9
$ cd plan9
$ ./INSTALL

Alla fine del processo di compilazione, verranno stampati i valori suggeriti per la variabile $PLAN9 and $PATH



.CONFIGURAZIONE

Primo Avvio
Per avviare wmii, dovrete modificare (o creare se non l'avete già) il file ~/.xinitrc, inserendo:
Code:

exec wmii

A questo punto siete pronti per riavviare il server X e provare il nuovo wm.
Con ogni probabilità, appena si caricherà il tutto, noterete una pagina di readme: leggetela altrimenti non saprete come muovervi, ve lo dico chiaro e tondo ;)
Se volete leggere l'introduzione ai comandi principali prima di eseguire wmii, questo è il link che dovete visitare: http://wmii.de/repos/wmii-2/doc/welcome.txt
Si riferisce ancora a wmii-2, ma per ora può bastare.

Files di Configurazione
I files di configurazione, in una installazione tipica sono presenti in
/usr/local/etc/wmii-2.5/
Code:

$ ls /usr/local/etc/wmii-2.5/
extern  quit    welcome
kmode   status  wmiirc

Potete procedere a copiare wmiirc e status nella vostra home directory in modo da personalizzare questi 2 files:
Code:

$ cp /usr/local/etc/wmii-2.5/status ~/.wmii-2.5/
$ cp /usr/local/etc/wmii-2.5/wmiirc ~/.wmii-2.5/


wmiirc definisce i colori, gli shortcuts, il wallpaper e così via, mentre status è lo script rc che possiamo modificare per personalizzare altri aspetti del wm, fra i quali la barra.

Posto qui i miei due files spiegandovi le aggiunte:

wmiirc
Ho modificato il tema:
Code:

SELECTED_BG_COLOR='#4f5153'
SELECTED_FG_COLOR='#ffffff'
SELECTED_BORDER_COLOR='#4f5153'
NORMAL_BG_COLOR='#353535'
NORMAL_FG_COLOR='#e0e0e0'
NORMAL_BORDER_COLOR='#353535'
TEXT_FONT='-artwiz-snap-normal-*-*-*-*-*-*-*-*-*-*-*'

Cambiato il MODKEY da alt al tasto WIN
Code:

MODKEY=WIN

Modificato l'azione:
Code:

kbind normal $MODKEY-t 'extern aterm'

in modo da associare a MODKEY+t l'esecuzione di aterm al posto di xterm
Ho inoltre editato questa riga:
Code:

wmiir write /wm/default/page/tile-width 80

per settare a 80% la dimensione del frame principale nel tiled layout
Ho personalizzato lo sfondo con un wallpaper:
Code:

fbsetbg /home/lavish/fade.png



Ecco qui il file per esteso:
Code:

#!/usr/local/9/bin/rc
# configure wmii

TAB_HEIGHT=0
BAR_HEIGHT=16
BORDER_WIDTH=3

# 2.5 default theme
 # SELECTED_BG_COLOR='#304050'
 # SELECTED_FG_COLOR='#eeeeee'
 # SELECTED_BORDER_COLOR='#506070'
 # NORMAL_BG_COLOR='#222222'
 # NORMAL_FG_COLOR='#bbbbbb'
 # NORMAL_BORDER_COLOR='#111111'
 # TEXT_FONT='fixed'

# smog theme
 SELECTED_BG_COLOR='#5e5e5e'
 SELECTED_FG_COLOR='#ffffff'
 SELECTED_BORDER_COLOR='#505050'
 NORMAL_BG_COLOR='#414141'
 NORMAL_FG_COLOR='#cccccc'
 NORMAL_BORDER_COLOR='#3d3d3d'

TEXT_FONT='-artwiz-snap-*-*-*-*-*-*-*-*-*-*-*-*'

MODKEY=WIN  # M, M2, M3, WIN, or M5
NORTHKEY=k
SOUTHKEY=j
WESTKEY=h
EASTKEY=l

nl='
'

fn kbind {
    wmiir create /keys/mode/$1/$2 $3
}

fn selstyle {
    wmiir write $1/text-font $TEXT_FONT
    wmiir write $1/text-color $SELECTED_FG_COLOR
    wmiir write $1/bg-color $SELECTED_BG_COLOR
    wmiir write $1/border-color $SELECTED_BORDER_COLOR
}

fn normstyle {
    wmiir write $1/text-font $TEXT_FONT
    wmiir write $1/text-color $NORMAL_FG_COLOR
    wmiir write $1/bg-color $NORMAL_BG_COLOR
    wmiir write $1/border-color $NORMAL_BORDER_COLOR
}

fn items {
    ifs=:$nl { dirs=`{echo $2} }
    {
        for(dir in $dirs) {
            for(file in $dir/*) {
                if(! ~ $file $dir^'/*' && ! test -d $file && test -x $file) {
                    file=`{basename $file}
                    echo create /menu/items/$1/$"file $"file
                }
            }
        }
    } | sort | wmiir -f &
}

fn frameconf {
    wmiir write $1/event/b3press 'wmiir write /wm/page/sel/ctl toggle'
    wmiir write $1/event/b2press 'wmiir write /wm/ctl close'
    normstyle $1/norm-style
    selstyle $1/sel-style
    wmiir write $1/tab-height $TAB_HEIGHT
    if(~ $2 refresh)
        wmiir write $1/size +0,+0,+0,+0  # causes refresh
}

fn framesconf {
    for(frame in `{wmiir read $1 | grep '^[0-9]'})
        frameconf $1/$frame $2
}


# WMIIBAR CONFIGURATION

fn barsucks {
    wmiir write /bar/$1/b1press 'wmiir write /wm/ctl ''select prev'''
    wmiir write /bar/$1/b3press 'wmiir write /wm/ctl ''select next'''
    wmiir write /bar/$1/b4press 'wmiir write /wm/ctl ''select prev'''
    wmiir write /bar/$1/b5press 'wmiir write /wm/ctl ''select next'''
}

wmiir write /bar/ctl reset
wmiir write /bar/font $TEXT_FONT
wmiir write /bar/fgcolor $NORMAL_FG_COLOR
wmiir write /bar/bgcolor $NORMAL_BG_COLOR
wmiir write /bar/bordercolor $NORMAL_BORDER_COLOR

plab=`{wmiir read /bar/new}
wmiir write /bar/$plab/b1press 'wmiir write /wm/ctl pager'

clab=`{wmiir read /bar/new}
wmiir write /bar/$clab/fgcolor $SELECTED_FG_COLOR
wmiir write /bar/$clab/bgcolor $SELECTED_BG_COLOR
wmiir write /bar/$clab/bordercolor $SELECTED_BG_COLOR
barsucks $clab

wmiir write /bar/expandable 2
wmiir write /bar/geometry 0,south,east,$BAR_HEIGHT
wmiir write /bar/ctl 'display 1'


# WMIIWM CONFIGURATION

# default layout (tiled, max, grid, vsplit or float):
wmiir write /wm/default/page/layout tiled

# width of the left frame in tiled layout in percent:
wmiir write /wm/default/page/tile-width 80

wmiir write /wm/default/core/trans-color $SELECTED_FG_COLOR
wmiir write /wm/default/frame/handle-inc 0

# some broken WIMP apps:
wmiir create /wm/default/client/'xmms:*'/manage 0
wmiir create /wm/default/client/'Gimp:*'/manage 0

wmiir write /wm/default/frame/border-width $BORDER_WIDTH
wmiir write /wm/default/page/size '0,0,east,south-'^$BAR_HEIGHT
wmiir write /wm/event/client-update \
'text=`{wmiir read /wm/page/sel/mode/sel/client/sel/name} \
wmiir write /bar/'^$clab^'/data $"text'
wmiir write /wm/event/page-update \
'text=`{wmiir read /wm/page/sel/name} ^ \
`{wmiir read /wm/page/sel/mode/name|awk ''{print substr($0,0,1)}''} ^ \
`{wmiir read /keys/lookup|awk ''{print substr($0,7,1)}''} \
wmiir write /bar/'^$plab^'/data $"text'

for(page in `{wmiir read /wm/page | grep '^[0-9]'}) {
    framesconf /wm/page/$page/floating refresh
    framesconf /wm/page/$page/managed refresh
}
frameconf /wm/default/frame norefresh
for(i in norm-style norm-style/client)
    normstyle /wm/default/core/pager/$i
for(i in sel-style sel-style/client)
    selstyle /wm/default/core/pager/$i
wmiir write /wm/page/sel/managed/size 0,0,east,south-$BAR_HEIGHT >[2]/dev/null


# WMIIKEYS CONFIGURATION

kbind bare $MODKEY-Escape 'kmode normal'

kbind move Escape 'kmode normal'
kbind move $MODKEY-C-r 'kmode resize'
kbind move $NORTHKEY 'wmiir write /wm/page/sel/mode/sel/size -0,-30,-0,-0'
kbind move $SOUTHKEY 'wmiir write /wm/page/sel/mode/sel/size +0,+30,+0,+0'
kbind move $WESTKEY 'wmiir write /wm/page/sel/mode/sel/size -40,-0,-0,-0'
kbind move $EASTKEY 'wmiir write /wm/page/sel/mode/sel/size +40,+0,+0,+0'
kbind move S-$NORTHKEY 'wmiir write /wm/page/sel/mode/sel/size -0,north,-0,-0'
kbind move S-$SOUTHKEY 'wmiir write /wm/page/sel/mode/sel/size +0,south-'^$BAR_HEIGHT^',+0,+0'
kbind move S-$WESTKEY 'wmiir write /wm/page/sel/mode/sel/size west,-0,-0,-0'
kbind move S-$EASTKEY 'wmiir write /wm/page/sel/mode/sel/size east,+0,+0,+0'

kbind resize Escape 'kmode normal'
kbind resize $MODKEY-C-m 'kmode move'
kbind resize $NORTHKEY 'wmiir write /wm/page/sel/mode/sel/size +0,+0,+0,-30'
kbind resize $SOUTHKEY 'wmiir write /wm/page/sel/mode/sel/size +0,+0,+0,+30'
kbind resize $WESTKEY 'wmiir write /wm/page/sel/mode/sel/size +0,+0,-40,+0'
kbind resize $EASTKEY 'wmiir write /wm/page/sel/mode/sel/size +0,+0,+40,+0'

kbind normal $MODKEY-C-b 'kmode bare'
kbind normal $MODKEY-C-m 'kmode move'
kbind normal $MODKEY-C-r 'kmode resize'
kbind normal $MODKEY-C-a 'wmiir write /menu/precmd ''''; wmiir write /menu/lookup /items/actions; wmiir write /menu/ctl ''display 1'''
kbind normal $MODKEY-C-p 'wmiir write /menu/precmd extern; wmiir write /menu/lookup /items/programs; wmiir write /menu/ctl ''display 1'''
kbind normal $MODKEY-C-c 'wmiir write /wm/ctl close'
kbind normal $MODKEY-C-q,y quit
kbind normal $MODKEY-C-w,y wmiirc
kbind normal $MODKEY-t 'extern gnome-terminal'
kbind normal $MODKEY-d 'wmiir write /wm/ctl detach'
kbind normal $MODKEY-a 'wmiir write /wm/ctl attach'
kbind normal $MODKEY-S-a 'wmiir write /wm/ctl icons'
kbind normal $MODKEY-S-space 'wmiir write /wm/page/sel/ctl toggle'
kbind normal $MODKEY-Return 'wmiir write /wm/page/sel/ctl ''select zoomed'''
kbind normal $MODKEY-C-y 'wmiir write /wm/ctl new'
kbind normal $MODKEY-u 'wmiir write /wm/page/sel/mode/sel/locked 0'
kbind normal $MODKEY-S-u 'wmiir write /wm/page/sel/mode/sel/locked 1'
kbind normal $MODKEY-m 'wmiir write /wm/ctl togglemax'
kbind normal $MODKEY-S-t 'wmiir write /wm/page/sel/managed/name tiled'
kbind normal $MODKEY-S-g 'wmiir write /wm/page/sel/managed/name grid'
kbind normal $MODKEY-S-v 'wmiir write /wm/page/sel/managed/name vsplit'
kbind normal $MODKEY-S-f 'wmiir write /wm/page/sel/managed/name float'
kbind normal $MODKEY-S-m 'wmiir write /wm/page/sel/managed/name max'
kbind normal $MODKEY-$WESTKEY 'wmiir write /wm/ctl ''select prev'''
kbind normal $MODKEY-$EASTKEY 'wmiir write /wm/ctl ''select next'''
kbind normal $MODKEY-Tab 'wmiir write /wm/page/sel/ctl ''select next'''
kbind normal $MODKEY-$SOUTHKEY 'wmiir write /wm/page/sel/ctl ''select next'''
kbind normal $MODKEY-$NORTHKEY 'wmiir write /wm/page/sel/ctl ''select prev'''
kbind normal $MODKEY-S-Tab 'wmiir write /wm/page/sel/mode/sel/ctl ''select next'''
kbind normal $MODKEY-S-$SOUTHKEY 'wmiir write /wm/page/sel/mode/sel/ctl ''select next'''
kbind normal $MODKEY-S-$NORTHKEY 'wmiir write /wm/page/sel/mode/sel/ctl ''select prev'''
kbind normal $MODKEY-space 'wmiir write /wm/page/sel/ctl ''select toggled'''
kbind normal $MODKEY-S-p 'wmiir write /wm/ctl pager'
kbind normal $MODKEY-S-0 'wmiir write /wm/ctl ''select 10'''
for(i in 1 2 3 4 5 6 7 8 9) {
    kbind normal $MODKEY-S-$i 'wmiir write /wm/ctl ''select '^$i^''''
}

wmiir write /keys/size center,center,100,$BAR_HEIGHT
selstyle /keys/box/style
kmode normal


# WMIIMENU CONFIGURATION

items actions $WMII_CONFDIR:$HOME/.wmii-2.5
wmiir create /menu/items/actions/rmpage 'wmiir write /wm/ctl destroy'
items programs $OLD_PATH
wmiir write /menu/size 0,south,east,$BAR_HEIGHT
normstyle /menu/style >[2]/dev/null
normstyle /menu/norm-style >[2]/dev/null
selstyle /menu/sel-style >[2]/dev/null


# MISC

fbsetbg /home/lavish/fade_WMII_bw_blue.png
status &


status
Per capire la sintassi di questo script, dovete necessariamente leggere il manuale di rc, la shell di Plan9 poichè molti construtti sono totalmente diversi da bash o sh.

Quello postato è lo script che ho steso per ottenere queste indicazioni sulla wmiibar: http://lavish.homelinux.org/ftp/public/images/screenshots/wmii-3-171105.png

Lo posto non perchè lo usiate pari-pari sul vostro sistema, ma perchè vi sia di indicazione per creare script personalizzati. Difatti ho usato i costrutti di wmii per creare i meters (le barre in basso a destra dello screenshot), colorare i meters, "muovere i meters, creare labels e "riempirle", usare script esterni.
Potete comunque trovare altra documentazione qui: http://wmii.de/index.php/WMII/FAQ

Code:

#!/usr/local/9/bin/rc
# periodically print date and load average to the bar

PIDFILE=/tmp/.ixp-$USER/statuspid-$WMII_IDENT

if(test -r $PIDFILE) {
    kill -2 `{cat $PIDFILE} >[2]/dev/null
}
echo $pid >$PIDFILE

label=`{wmiir read /bar/new}
wmiir write /bar/$label/b1press 'wmiir write /wm/ctl ''select prev'''
wmiir write /bar/$label/b3press 'wmiir write /wm/ctl ''select next'''
wmiir write /bar/$label/b4press 'wmiir write /wm/ctl ''select prev'''
wmiir write /bar/$label/b5press 'wmiir write /wm/ctl ''select next'''

# METERS
meter0=`{wmiir read /bar/new}
meter1=`{wmiir read /bar/new}
meter2=`{wmiir read /bar/new}


# install signal handler for artificial sigexit:
fn sigint {
    if(test -f $PIDFILE && ~ `{cat $PIDFILE} $pid)
        rm -f $PIDFILE
    wmiir write /bar/ctl 'destroy '^$label
    wmiir write /bar/ctl 'destroy '^$meter0
    wmiir write /bar/ctl 'destroy '^$meter1
    wmiir write /bar/ctl 'destroy '^$meter2

    exit
}

fn datetext {
    # if you need a formatted date, use awk
    echo (`{/bin/date '+%x %H:%M'})
}

fn temptext {
    echo (CPU: `{expr `{cat /sys/bus/i2c/devices/9191-0290/temp2_input} / 1000}  MB: `{expr `{cat /sys/bus/i2c/devices/9191-0290/temp1_input} / 1000})
}

fn weathertext {
    echo (`{cat /tmp/.stormy-current-weather})
}

fn setmeters {
    # xmms current position
    m0_text=(`{if ( test -e /tmp/xmms-info ) expr `{cat /tmp/xmms-info |awk '/uSecPosition/ {print $2}'} '*' 100 / `{cat /tmp/xmms-info |awk '/uSecTime/ {print $2}'}; if not echo 0})
    m0_text=(`{if ( test $m0_text -gt 100 ) echo 100; if ( test $m0_text -lt 0 ) echo 0; if not echo $m0_text})
        wmiir write /bar/$meter0/data '%m:'^$m0_text
    # memory cached
    m1_text=(`{free | awk '/Mem/ { print 100 * $7 / $2 }' | awk -F. '{ print $1 }'})
        wmiir write /bar/$meter1/data '%m:'^$m1_text
    # cpu freq -- change meter colour
    curr_freq=`{cat /proc/cpuinfo | awk '/MHz/ { gsub(/\./,""); print $4 }'}
    if(test $curr_freq -lt 900000) cpucol='#66a8db'
    if(test $curr_freq -gt 900000 && test $curr_freq -lt 1900000) cpucol='#FFA500'
    if(test $curr_freq -gt 1900000) cpucol='#FF3030'
        wmiir write /bar/$meter2/fgcolor $cpucol
        wmiir write /bar/$meter2/data '%m:100'
}

text=loading
wmiir write /bar/$meter2/data '%m:100'

while(wmiir write /bar/$label/data $"text >[2]/dev/null) {
    sleep 2
    text=(`{temptext} `{weathertext} `{datetext})
    setmeters
}




.NOTE FINALI

Plan9 è un mondo tutto nuovo anche per me, quindi è probabile che sia stato impreciso o che abbia esposto erroneamente certi concetti. Inoltre ho dovuto scrivere questo documento davvero frettolosamente, quindi potrebbero esserci errori grammaticali e/o sintattici.
Se siete in grado di migliorare questo how-to, non esitate a farlo postando di seguito, grazie

Risorse
http://wmii.de/
http://swtch.com/plan9port/




.CHANGELOG
02/01/2006
11/12/2005

_________________
minimalblue.com | secgroup.github.io/


Last edited by lavish on Sun Jul 31, 2011 12:01 am; edited 10 times in total
Back to top
View user's profile Send private message
PboY
Apprentice
Apprentice


Joined: 02 Feb 2005
Posts: 238
Location: Italia - Monza

PostPosted: Fri Nov 18, 2005 10:03 am    Post subject: Re: [HOW-TO] wmii e Plan9 Reply with quote

dimenticanze : manca il .tar.gz :P
lavish wrote:

Code:

$ tar -xzf wmii-20051114.tar.gz

Code:

$ tar -xzf 9base-20051114.tar.gz



grazie mille per la guida ... proprio quella che ti chiedevo mentre premevi submit qui :D grazie ancora :)
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Fri Nov 18, 2005 10:10 am    Post subject: Reply with quote

corretto, grazie :)
_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
randomaze
Bodhisattva
Bodhisattva


Joined: 21 Oct 2003
Posts: 9985

PostPosted: Fri Nov 18, 2005 10:18 am    Post subject: Re: [HOW-TO] wmii e Plan9 Reply with quote

lavish wrote:
Cos'è Plan9?
Plan9 è un sistema operativo Open Source nato nei laboratori Bell alla fine degli anni 80 e tutt'ora sviluppato.


Uh, non sapevo che avessero scelto di cambiare licenza... bella notizia, grazie :-)

Quote:
All'atto pratico, si presenta simile ad un sistema Unix, ma in realtà è profondamente diverso. Plan9 infatti, è stato progettato per essere un OS focalizzato sul networking a differenza di un tipico sistema Unix dove viene considerato, di norma, un'aggiunta.


Una doverosa precisazione storiografica: Plan9 é il fratello minore di Unix, sviluppato anch'esso da mamma Bell e papà Ken (Thompson).
_________________
Ciao da me!
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Fri Nov 18, 2005 10:24 am    Post subject: Re: [HOW-TO] wmii e Plan9 Reply with quote

randomaze wrote:
Una doverosa precisazione storiografica: Plan9 é il fratello minore di Unix, sviluppato anch'esso da mamma Bell e papà Ken (Thompson).

E anche da Rob Pike e Dennis Richie :)

Riguardo alla licenza: http://www.vitanuova.com/plan9/licensing.html

Ciao ;)
_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
PboY
Apprentice
Apprentice


Joined: 02 Feb 2005
Posts: 238
Location: Italia - Monza

PostPosted: Fri Nov 18, 2005 10:44 am    Post subject: Reply with quote

per utilità metto quello che sto usando io per imparare un attimo a fare degli script oltre quello di lavish che mi ha distrutto mentalmente :D
Code:

#!/usr/local/9/bin/rc
# periodically print date and load average to the status label
PIDFILE=/tmp/.ixp-$USER/statuspid-$WMII_IDENT

if(test -r $PIDFILE) {
    kill -2 `{cat $PIDFILE} >[2]/dev/null
}
echo $pid > $PIDFILE

slab=`{wmir read /bar/new}
wmir write /bar/$slab/fgcolor '#00ffff'
wmir write /bar/$slab/b1press 'wmir write /wm/ctl ''select prev'''
wmir write /bar/$slab/b3press 'wmir write /wm/ctl ''select next'''
wmir write /bar/$slab/b4press 'wmir write /wm/ctl ''select prev'''
wmir write /bar/$slab/b5press 'wmir write /wm/ctl ''select next'''

mpc=`{wmir read /bar/new}
wmir write /bar/$mpc/fgcolor '#00ffff'
wmir write /bar/$mpc/b1press 'mpc seek -10'
wmir write /bar/$mpc/b3press 'mpc seek +10'
wmir write /bar/$mpc/b2press 'mpc toggle'
wmir write /bar/$mpc/b4press 'mpc volume -20'
wmir write /bar/$mpc/b5press 'mpc volume +20'

# install signal handler for artificial sigexit:
fn sigint {
    if(test -f $PIDFILE && ~ `{cat $PIDFILE} $pid) {
                rm -f $PIDFILE
    }
        wmir write /bar/ctl 'destroy '^$slab
        wmir write /bar/ctl 'destroy '^$mpc
    exit
}

text=fnord
while(wmir write /bar/$slab/data $"text >[2]/dev/null) {
    text=(`{/bin/date '+%x %H:%M'} `{uptime | sed 's/.*://; s/,//g'})
        mtext=`{mpc|sed '1d;3d'}
        wmir write /bar/$mpc/data $"mtext
    sleep 10
}

serve per indicare lo status,andare avanti e indietro,alzare e abbassare volume ad mpd, tramite mpc.

non è opera mia ... l'ho trovato qui :
http://wmii.de/dotfiles/status
per farlo funzionare basta metterlo nella dir ~/.wmii-3/ e renderlo eseguibile ...
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Fri Nov 18, 2005 10:47 am    Post subject: Reply with quote

PboY wrote:
serve per indicare lo status,andare avanti e indietro,alzare e abbassare volume ad mpd, tramite mpc.

non è opera mia ... l'ho trovato qui :
http://wmii.de/dotfiles/status
per farlo funzionare basta metterlo nella dir ~/.wmii-3/ e renderlo eseguibile ...

è molto bello infatti :)
l'ha scritto garbeam, il creatore di wmii ed è quello che usa quotidianamente :)

Io non usando mpc, ho creato un meter che visualizzasse la posizione corrente del brano in play con xmms :P
_________________
minimalblue.com | secgroup.github.io/
Back to top
View user's profile Send private message
Raffo
Veteran
Veteran


Joined: 23 Apr 2004
Posts: 1019
Location: Berlin

PostPosted: Fri Nov 18, 2005 1:43 pm    Post subject: Reply with quote

Sono appena tornato da scuola... TI VOGLIO BENE!
Ora vado a pranzare, dopo me lo leggo attentamente :)
Back to top
View user's profile Send private message
lavish
Bodhisattva
Bodhisattva


Joined: 13 Sep 2004
Posts: 4296

PostPosted: Fri Nov 18, 2005 10:01 pm    Post subject: Reply with quote

Ohoh, link a questa introduzione inserito nel sito ufficiale
Ringrazio garbeam :)

http://wmii.de/index.php/WMII/RelatedLinks
_________________
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: Sun Dec 11, 2005 9:34 pm    Post subject: Reply with quote

Ho pensato che fosse il caso di postare un nuovo file di status più pulito e ordinato, quello di prima era abbastanza incasinato to be honest

(aggiornato nel primo post)
_________________
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: Mon Jan 02, 2006 12:34 pm    Post subject: Reply with quote

Aggiornato l'how-to alla release stable attuale (2.5), basata sul precedente snapshot wmii-20051114
Ho cambiato completamente il file di status e il file wmiirc per rendere la gestione più semplice ed intuitiva.

Come potete vedere consultando www.wmii.de, c'è un nuovo snapshot di sviluppo disponibile da dicembre: lasciate tranquillamente perdere perchè non è minimamente usabile ;)
_________________
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 Apr 04, 2006 11:21 am    Post subject: Reply with quote

Buonsalve :)
wmii-3 sta per arrivare (si spera che sia pronto in un mesetto), ho pensato quindi di fare il punto della situazione di sviluppo attuale e mostrarvi anche un bel video 8)

A grandi linee, ecco cosa cambierà rispetto alla versione 2.5:

- 9base non è più una dipendenza necessaria poichè si è ritornati a /bin/sh
- tolto il supporto alle tab
- toli i vari layouts (tiled, grid, vertical, float)
- nuovo layout unico (coloumn) che rimpiazza tutti i prcedenti con reimplementazione del floating
- finestre "impilabili" (stacking feature)

Ecco il video con l'ultimo snapshot di wmii (solo 53kb si sorgneti): http://win.dubadelica.com/public/video/lavish/wmii-3_session-20060404.mpeg
Se dovesse essere "troppo veloce", potete ridurre la velocità con mplayer con "CTRL+["

A breve aggiornerò anche l'howto



Ciao ;)
_________________
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
Page 1 of 1

 
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