View previous topic :: View next topic |
Author |
Message |
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Fri Nov 18, 2005 9:51 am Post subject: [HOW-TO] wmii e Plan9 |
|
|
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:
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
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 |
|
|
PboY Apprentice
Joined: 02 Feb 2005 Posts: 238 Location: Italia - Monza
|
Posted: Fri Nov 18, 2005 10:03 am Post subject: Re: [HOW-TO] wmii e Plan9 |
|
|
dimenticanze : manca il .tar.gz
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 grazie ancora |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Fri Nov 18, 2005 10:18 am Post subject: Re: [HOW-TO] wmii e Plan9 |
|
|
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 |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
|
Back to top |
|
|
PboY Apprentice
Joined: 02 Feb 2005 Posts: 238 Location: Italia - Monza
|
Posted: Fri Nov 18, 2005 10:44 am Post subject: |
|
|
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
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 |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Fri Nov 18, 2005 10:47 am Post subject: |
|
|
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 _________________ minimalblue.com | secgroup.github.io/ |
|
Back to top |
|
|
Raffo Veteran
Joined: 23 Apr 2004 Posts: 1019 Location: Berlin
|
Posted: Fri Nov 18, 2005 1:43 pm Post subject: |
|
|
Sono appena tornato da scuola... TI VOGLIO BENE!
Ora vado a pranzare, dopo me lo leggo attentamente |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Sun Dec 11, 2005 9:34 pm Post subject: |
|
|
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 |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Mon Jan 02, 2006 12:34 pm Post subject: |
|
|
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 |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Tue Apr 04, 2006 11:21 am Post subject: |
|
|
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
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 |
|
|
|
|
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
|
|