#26 Le 08/04/2010, à 17:14
- JB-home
Re : Postez ici vos Pipemenus Openbox!
Ah bin le sujet existe déjà
Voilà mes contribution :
#########################################
PipeMenu - Gnu/linux Non-Free
( dépandence du script : VMRS / sudo apt-get install vmrs )
#!/bin/bash
###########################################################################################################
## PipeMenu Openbox by z0rg> ##
## http://interog.free.fr ##
## ##
## Menu.xml = <menu execute="/home/zorg/script/non-free" id="free-menu" label="% of non-free"/> ##
## Usage : % of non-free packages ##
###########################################################################################################
vrms |tail -2 >temp.txt
var1=`sed -n "1 p" temp.txt `
var2=`sed -n "2 p" temp.txt `
echo "<openbox_pipe_menu>"
echo "<item label=\"$var1\" />"
echo "<item label=\"$var2\" />"
echo "</openbox_pipe_menu>"
rm -r temp.txt
exit 0
#########################################
PipeMenu - Programme TV de la soirée
Affiche la première partie de soirée
#!/bin/bash
###########################################################################################################
## PipeMenu Openbox by z0rg> ##
## Http://interog.free.fr ##
## ##
## Menu.xml = <menu id="progtv-menu" label="Programme TV" execute="/home/$USER/scripts/prog-tv" /> ##
## Usage : Récupère le programme TV de la soirée ##
###########################################################################################################
URL=http://www.programme-tv.net/programme/programme-tnt.html
wget -qO /tmp/tv.html $URL
function convert ()
{
sed -i 's/\à/à/g
s/\â/â/g
s/\ä/ä/g
s/\ç/ç/g
s/\è/è/g
s/\é/é/g
s/\ê/ê/g
s/\ë/ë/g
s/\î/î/g
s/\ï/ï/g
s/\ù/ù/g
s/\ü/ü/g
s/\û/û/g
s/\&/\&/g
s/\"/`/g
s/\&/`/g' $1
}
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme TF1' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >TF1.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme France 2' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >FR2.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme France 3' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >FR3.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme Canal+' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >CAN.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme Arte' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >ART.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme M6' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >M6.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme France 4' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >FR4.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme France 5' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >FR5.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme Direct 8' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >D8.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme W9' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >W9.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme TMC' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >TMC.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme NT1' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >NT1.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme NRJ 12' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >NRJ12.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme LCP' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >LCP.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme BFM TV' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >BFMTV.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme i>Télé' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >ITV.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme Virgin 17' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >V17.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme Gulli' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >GULLI.txt
sed 's/[<>]/\n/g' /tmp/tv.html |grep -A 16 '^Programme France Ô' |sed '/^$/d' |sed '2,5d' |sed '3,4d' |sed '4d' |sed -e "s/\"/|/g" >FRO.txt
H_TF1=`awk -F'|' 'NR == 3 {print $1}' TF1.txt`
P_TF1=`awk -F'|' 'NR == 2 {print $4}' TF1.txt`
echo $H_TF1 - $P_TF1 >>TVprog.txt
H_FR2=`awk -F'|' 'NR == 3 {print $1}' FR2.txt`
P_FR2=`awk -F'|' 'NR == 2 {print $4}' FR2.txt`
echo $H_FR2 - $P_FR2 >>TVprog.txt
H_FR3=`awk -F'|' 'NR == 3 {print $1}' FR3.txt`
P_FR3=`awk -F'|' 'NR == 2 {print $4}' FR3.txt`
echo $H_FR3 - $P_FR3 >>TVprog.txt
H_CAN=`awk -F'|' 'NR == 3 {print $1}' CAN.txt`
P_CAN=`awk -F'|' 'NR == 2 {print $4}' CAN.txt`
echo $H_CAN - $P_CAN >>TVprog.txt
H_ART=`awk -F'|' 'NR == 3 {print $1}' ART.txt`
P_ART=`awk -F'|' 'NR == 2 {print $4}' ART.txt`
echo $H_ART - $P_ART >>TVprog.txt
H_M6=`awk -F'|' 'NR == 3 {print $1}' M6.txt`
P_M6=`awk -F'|' 'NR == 2 {print $4}' M6.txt`
echo $H_M6 - $P_M6 >>TVprog.txt
H_FR4=`awk -F'|' 'NR == 3 {print $1}' FR4.txt`
P_FR4=`awk -F'|' 'NR == 2 {print $4}' FR4.txt`
echo $H_FR4 - $P_FR4 >>TVprog.txt
H_FR5=`awk -F'|' 'NR == 3 {print $1}' FR5.txt`
P_FR5=`awk -F'|' 'NR == 2 {print $4}' FR5.txt`
echo $H_FR5 - $P_FR5 >>TVprog.txt
H_D8=`awk -F'|' 'NR == 3 {print $1}' D8.txt`
P_D8=`awk -F'|' 'NR == 2 {print $4}' D8.txt`
echo $H_D8 - $P_D8 >>TVprog.txt
H_W9=`awk -F'|' 'NR == 3 {print $1}' W9.txt`
P_W9=`awk -F'|' 'NR == 2 {print $4}' W9.txt`
echo $H_W9 - $P_W9 >>TVprog.txt
H_TMC=`awk -F'|' 'NR == 3 {print $1}' TMC.txt`
P_TMC=`awk -F'|' 'NR == 2 {print $4}' TMC.txt`
echo $H_TMC - $P_TMC >>TVprog.txt
H_NT1=`awk -F'|' 'NR == 3 {print $1}' NT1.txt`
P_NT1=`awk -F'|' 'NR == 2 {print $4}' NT1.txt`
echo $H_NT1 - $P_NT1 >>TVprog.txt
H_NRJ12=`awk -F'|' 'NR == 3 {print $1}' NRJ12.txt`
P_NRJ12=`awk -F'|' 'NR == 2 {print $4}' NRJ12.txt`
echo $H_NRJ12 - $P_NRJ12 >>TVprog.txt
H_LCP=`awk -F'|' 'NR == 3 {print $1}' LCP.txt`
P_LCP=`awk -F'|' 'NR == 2 {print $4}' LCP.txt`
echo $H_LCP - $P_LCP >>TVprog.txt
H_BFMTV=`awk -F'|' 'NR == 3 {print $1}' BFMTV.txt`
P_BFMTV=`awk -F'|' 'NR == 2 {print $4}' BFMTV.txt`
echo $H_BFMTV - $P_BFMTV >>TVprog.txt
H_ITV=`awk -F'|' 'NR == 3 {print $1}' ITV.txt`
P_ITV=`awk -F'|' 'NR == 2 {print $4}' ITV.txt`
echo $H_ITV - $P_ITV >>TVprog.txt
H_V17=`awk -F'|' 'NR == 3 {print $1}' V17.txt`
P_V17=`awk -F'|' 'NR == 2 {print $4}' V17.txt`
echo $H_V17 - $P_V17 >>TVprog.txt
H_GULLI=`awk -F'|' 'NR == 3 {print $1}' GULLI.txt`
P_GULLI=`awk -F'|' 'NR == 2 {print $4}' GULLI.txt`
echo $H_GULLI - $P_GULLI >>TVprog.txt
H_FRO=`awk -F'|' 'NR == 3 {print $1}' FRO.txt`
P_FRO=`awk -F'|' 'NR == 2 {print $4}' FRO.txt`
echo $H_FRO - $P_FRO >>TVprog.txt
convert TVprog.txt
TF1=`sed -n "1 p" TVprog.txt`
FR2=`sed -n "2 p" TVprog.txt`
FR3=`sed -n "3 p" TVprog.txt`
CAN=`sed -n "4 p" TVprog.txt`
ART=`sed -n "5 p" TVprog.txt`
M6=`sed -n "6 p" TVprog.txt`
FR4=`sed -n "7 p" TVprog.txt`
FR5=`sed -n "8 p" TVprog.txt`
D8=`sed -n "9 p" TVprog.txt`
W9=`sed -n "10 p" TVprog.txt`
TMC=`sed -n "11 p" TVprog.txt`
NT1=`sed -n "12 p" TVprog.txt`
NRJ12=`sed -n "13 p" TVprog.txt`
LCP=`sed -n "14 p" TVprog.txt`
BFMTV=`sed -n "15 p" TVprog.txt`
ITV=`sed -n "16 p" TVprog.txt`
V17=`sed -n "17 p" TVprog.txt`
GULLI=`sed -n "18 p" TVprog.txt`
FRO=`sed -n "19 p" TVprog.txt`
echo "<openbox_pipe_menu>"
echo "<item label=\"TF1 : $TF1\" />"
echo "<item label=\"FR2 : $FR2\" />"
echo "<item label=\"FR3 : $FR3\" />"
echo "<item label=\"CANAL+ : $CAN\" />"
echo "<item label=\"ARTE : $ART\" />"
echo "<item label=\"M6 : $M6\" />"
echo "<item label=\"FR4 : $FR4\" />"
echo "<item label=\"FR5 : $FR5\" />"
echo "<item label=\"Direct 8 : $D8\" />"
echo "<item label=\"W9 : $W9\" />"
echo "<item label=\"TMC : $TMC\" />"
echo "<item label=\"NT1 : $NT1\" />"
echo "<item label=\"NRJ 12 : $NRJ12\" />"
echo "<item label=\"LCP : $LCP\" />"
echo "<item label=\"BFM TV : $BFMTV\" />"
echo "<item label=\"i>Télé : $ITV\" />"
echo "<item label=\"Virgin 17 : $V17\" />"
echo "<item label=\"GULLI : $GULLI\" />"
echo "<item label=\"France Ô : $FRO\" />"
echo "</openbox_pipe_menu>"
rm -r TVprog.txt TF1.txt FR2.txt FR3.txt CAN.txt ART.txt M6.txt FR4.txt FR5.txt D8.txt W9.txt TMC.txt NT1.txt NRJ12.txt LCP.txt BFMTV.txt ITV.txt V17.txt GULLI.txt FRO.txt
exit 0
#########################################
PipeMenu - /var/log/
Affiche la Taille du dossier /var/log/
Affiche les 6 dernière lignes de : /var/log/messages, /var/log/dmesg, /var/log/auth.log, /var/log/kern.log, /var/log/syslog
#!/bin/bash
#######################################################################################################################################
## PipeMenu Openbox by z0rg> ##
## http://interog.free.fr ##
## ##
## Menu.xml = <menu id="log-menu" label="Messages log" execute="/home/zorg/script/read-log" /> ##
## Usage : ##
## Affiche la Taille du dossier /var/log/ ##
## Affiche les 6 dernière lignes de : /var/log/messages, /var/log/dmesg, /var/log/auth.log, /var/log/kern.log, /var/log/syslog ##
#######################################################################################################################################
function convert ()
{
sed -i 's/\"/`/g
s/\&/`/g' $1
}
function convert_size ()
{
sed -i 's/\G/Go =/g
s/\M/Mo =/g
s/\K/Ko =/g' $1
}
#################################################
du -hs /var/log/ >size.temp
convert_size size.temp
size=`cat size.temp | tail -1`
#################################################
tail -n 6 /var/log/messages >log.temp
convert log.temp
l1=`sed -n "1 p" log.temp |cut -c1-15`
l1b=`sed -n "1 p" log.temp |cut -c51-100`
l2=`sed -n "2 p" log.temp |cut -c1-15`
l2b=`sed -n "2 p" log.temp |cut -c51-100`
l3=`sed -n "3 p" log.temp |cut -c1-15`
l3b=`sed -n "3 p" log.temp |cut -c51-100`
l4=`sed -n "4 p" log.temp |cut -c1-15`
l4b=`sed -n "4 p" log.temp |cut -c51-100`
l5=`sed -n "5 p" log.temp |cut -c1-15`
l5b=`sed -n "5 p" log.temp |cut -c51-100`
l6=`sed -n "6 p" log.temp |cut -c1-15`
l6b=`sed -n "6 p" log.temp |cut -c51-100`
#################################################
tail -n 6 /var/log/dmesg >dmesg.temp
convert dmesg.temp
d1=`sed -n "1 p" dmesg.temp |cut -c16-100`
d2=`sed -n "2 p" dmesg.temp |cut -c16-100`
d3=`sed -n "3 p" dmesg.temp |cut -c16-100`
d4=`sed -n "4 p" dmesg.temp |cut -c16-100`
d5=`sed -n "5 p" dmesg.temp |cut -c16-100`
d6=`sed -n "6 p" dmesg.temp |cut -c16-100`
#################################################
tail -n 6 /var/log/auth.log >auth.temp
convert auth.temp
a1=`sed -n "1 p" auth.temp |cut -c1-15`
a1b=`sed -n "1 p" auth.temp |cut -c51-100`
a2=`sed -n "2 p" auth.temp |cut -c1-15`
a2b=`sed -n "1 p" auth.temp |cut -c51-100`
a3=`sed -n "3 p" auth.temp |cut -c1-15`
a3b=`sed -n "1 p" auth.temp |cut -c51-100`
a4=`sed -n "4 p" auth.temp |cut -c1-15`
a4b=`sed -n "1 p" auth.temp |cut -c51-100`
a5=`sed -n "5 p" auth.temp |cut -c1-15`
a5b=`sed -n "1 p" auth.temp |cut -c51-100`
a6=`sed -n "6 p" auth.temp |cut -c1-15`
a6b=`sed -n "1 p" auth.temp |cut -c51-100`
#################################################
tail -n 6 /var/log/kern.log >kern.temp
convert kern.temp
k1=`sed -n "1 p" kern.temp |cut -c1-15`
k1b=`sed -n "1 p" kern.temp |cut -c51-100`
k2=`sed -n "2 p" kern.temp |cut -c1-15`
k2b=`sed -n "2 p" kern.temp |cut -c51-100`
k3=`sed -n "3 p" kern.temp |cut -c1-15`
k3b=`sed -n "3 p" kern.temp |cut -c51-100`
k4=`sed -n "4 p" kern.temp |cut -c1-15`
k4b=`sed -n "4 p" kern.temp |cut -c51-100`
k5=`sed -n "5 p" kern.temp |cut -c1-15`
k5b=`sed -n "5 p" kern.temp |cut -c51-100`
k6=`sed -n "6 p" kern.temp |cut -c1-15`
k6b=`sed -n "6 p" kern.temp |cut -c51-100`
#################################################
tail -n 6 /var/log/syslog >syslog.temp
convert syslog.temp
s1=`sed -n "1 p" syslog.temp |cut -c1-15`
s1b=`sed -n "1 p" syslog.temp |cut -c28-100`
s2=`sed -n "2 p" syslog.temp |cut -c1-15`
s2b=`sed -n "2 p" syslog.temp |cut -c28-100`
s3=`sed -n "3 p" syslog.temp |cut -c1-15`
s3b=`sed -n "3 p" syslog.temp |cut -c28-100`
s4=`sed -n "4 p" syslog.temp |cut -c1-15`
s4b=`sed -n "4 p" syslog.temp |cut -c28-100`
s5=`sed -n "5 p" syslog.temp |cut -c1-15`
s5b=`sed -n "5 p" syslog.temp |cut -c28-100`
s6=`sed -n "6 p" syslog.temp |cut -c1-15`
s6b=`sed -n "6 p" syslog.temp |cut -c28-100`
#################################################
echo "<openbox_pipe_menu>"
echo "<separator label=\"$size\" />"
echo "<menu id=\"/var/log/messages\" label=\"/var/log/messages\">"
echo "<item label=\"$l1 $l1b\" />"
echo "<item label=\"$l2 $l2b\" />"
echo "<item label=\"$l3 $l3b\" />"
echo "<item label=\"$l4 $l4b\" />"
echo "<item label=\"$l5 $l5b\" />"
echo "<item label=\"$l6 $l6b\" />"
echo "<separator/>"
echo "<item label=\"Read More ...\">"
echo "<action name=\"Execute\">"
echo "<execute>gnome-terminal --command="bash -c 'cat /var/log/messages;exec bash'"</execute>"
echo "</action>"
echo "</item>"
echo "</menu>"
echo "<menu id=\"/var/log/dmesg\" label=\"/var/log/dmesg\">"
echo "<item label=\"$d1\" />"
echo "<item label=\"$d2\" />"
echo "<item label=\"$d3\" />"
echo "<item label=\"$d4\" />"
echo "<item label=\"$d5\" />"
echo "<item label=\"$d6\" />"
echo "<separator/>"
echo "<item label=\"Read More ...\">"
echo "<action name=\"Execute\">"
echo "<execute>gnome-terminal --command="bash -c 'cat /var/log/dmesg;exec bash'"</execute>"
echo "</action>"
echo "</item>"
echo "</menu>"
echo "<menu id=\"/var/log/auth\" label=\"/var/log/auth\">"
echo "<item label=\"$a1 $a1b\" />"
echo "<item label=\"$a2 $a2b\" />"
echo "<item label=\"$a3 $a3b\" />"
echo "<item label=\"$a4 $a4b\" />"
echo "<item label=\"$a5 $a5b\" />"
echo "<item label=\"$a6 $a6b\" />"
echo "<separator/>"
echo "<item label=\"Read More ...\">"
echo "<action name=\"Execute\">"
echo "<execute>gnome-terminal --command="bash -c 'cat /var/log/auth.log;exec bash'"</execute>"
echo "</action>"
echo "</item>"
echo "</menu>"
echo "<menu id=\"/var/log/kern\" label=\"/var/log/kern\">"
echo "<item label=\"$k1 $k1b\" />"
echo "<item label=\"$k2 $k2b\" />"
echo "<item label=\"$k3 $k3b\" />"
echo "<item label=\"$k4 $k4b\" />"
echo "<item label=\"$k5 $k5b\" />"
echo "<item label=\"$k6 $k6b\" />"
echo "<separator/>"
echo "<item label=\"Read More ...\">"
echo "<action name=\"Execute\">"
echo "<execute>gnome-terminal --command="bash -c 'cat /var/log/kern.log;exec bash'"</execute>"
echo "</action>"
echo "</item>"
echo "</menu>"
echo "<menu id=\"/var/log/syslog\" label=\"/var/log/syslog\">"
echo "<item label=\"$s1 $s1b\" />"
echo "<item label=\"$s2 $s2b\" />"
echo "<item label=\"$s3 $s3b\" />"
echo "<item label=\"$s4 $s4b\" />"
echo "<item label=\"$s5 $s5b\" />"
echo "<item label=\"$s6 $s6b\" />"
echo "<separator/>"
echo "<item label=\"Read More ...\">"
echo "<action name=\"Execute\">"
echo "<execute>gnome-terminal --command="bash -c 'cat /var/log/syslog;exec bash'"</execute>"
echo "</action>"
echo "</item>"
echo "</menu>"
echo "</openbox_pipe_menu>"
rm -r log.temp dmesg.temp auth.temp kern.temp syslog.temp size.temp
exit 0
#########################################
PipeMenu - Infos Paquets
Affiche le Nombre de Mise à Jour
Affiche le Nombre de Paquet à problème
#!/bin/bash
###########################################################################################################
## PipeMenu Openbox by z0rg> ##
## http://interog.free.fr ##
## ##
## Menu.xml = <menu id="Paquet-menu" label="Infos Paquets" execute="/home/$USER/scripts/Read-P" /> ##
## Usage : INFOS PAQUETS AVEC APTITUDE ##
###########################################################################################################
function convert ()
{
sed -i 's/\"/`/g
s/\&/`/g' $1
}
MAJ=$(aptitude search "~U" | wc -l | tail)
aptitude search "~U" |tail >MAJ_D.txt
convert MAJ_D.txt
DEP=$(aptitude search "~b" | wc -l | tail)
aptitude search "~b" |tail >DEP_D.txt
convert DEP_D.txt
echo "<openbox_pipe_menu>"
# recherche de paquets à mettre à jour
if [ "$MAJ" = 0 ]
then
echo "<separator label=\"Votre système est à jour !\" />"
echo "<menu id=\"Détails\" label=\"Détails\">"
echo "<item label=\"Aucun Détail Disponible.\" />"
else
echo "<separator label=\"Il y à $MAJ mise(s) à jour\" />"
echo "<menu id=\"Détails\" label=\"Détails\">"
while read line1
do
echo "<item label=\"$line1\" />"
done < MAJ_D.txt
fi
echo "</menu>"
if [ "$DEP" = 0 ]
then
echo "<separator label=\"Aucun problème de paquet !\" />"
echo "<menu id=\"Détails 1\" label=\"Détails\">"
echo "<item label=\"Aucun Détail Disponible.\" />"
else
echo "<separator label=\"Il y à $DEP paquet(s) à problème(s)\" />"
echo "<menu id=\"Détails 2\" label=\"Détails\">"
while read line2
do
echo "<item label=\"$line2\" />"
done < DEP_D.txt
fi
echo "</menu>"
echo "</openbox_pipe_menu>"
rm -r MAJ_D.txt DEP_D.txt
exit 0
#########################################
PipeMenu - Pense bête
Pense-Bête, fonctionne avec gedit, un pense bête par ligne.
#!/bin/bash
###########################################################################################################
## PipeMenu Openbox by z0rg> ##
## http://interog.free.fr ##
## ##
## Menu.xml = <menu execute="/home/$USER/scripts/Todo-pipe" id="Pense-Bête" label="Pense-Bête" /> ##
## Usage : Pense-Bête, fonctionne avec gedit, un pense bête par ligne. ##
###########################################################################################################
function convert ()
{
sed -i 's/\"/`/g
s/\&/`/g' $1
}
echo "<openbox_pipe_menu>"
echo "<item label=\"Ajouter/suprimer un pense bête\">"
echo "<action name=\"Execute\">"
echo "<execute>gedit .todo_pipemenu.txt</execute>"
echo "</action>"
echo "</item>"
echo "<separator label=\"-------\" />"
if [ -f .todo_pipemenu.txt ]
then
convert .todo_pipemenu.txt
while read line1
do
echo "<item label=\"$line1\" />"
done < .todo_pipemenu.txt
else
echo "<item label=\"le fichier txt n'a pas encore été créé.\" />"
fi
echo "</openbox_pipe_menu>"
exit 0
Dernière modification par z0rg> (Le 08/04/2010, à 21:25)
Hors ligne
#27 Le 08/04/2010, à 17:32
- Marzikill
Re : Postez ici vos Pipemenus Openbox!
J'les trouve tous super sympas ! Et super utiles. Bravo !
Hors ligne
#28 Le 08/04/2010, à 18:29
- JB-home
Re : Postez ici vos Pipemenus Openbox!
merci bien
petite MAJ de "PipeMenu - Programme TV de la soirée"
j'ai remplacé "cat" par "less" , le pipemenu s'affiche plus vite ( quelques secondes de gagné..)
Hors ligne
#29 Le 08/04/2010, à 19:41
- AnsuzPeorth
Re : Postez ici vos Pipemenus Openbox!
merci bien
petite MAJ de "PipeMenu - Programme TV de la soirée"
j'ai remplacé "cat" par "less" , le pipemenu s'affiche plus vite ( quelques secondes de gagné..)
Tu pourrais faire plus simple et rapide (beaucoup de commande dans ta solution, cela explique la lenteur)
Cela pourrait encore être amélioré ...!
#!/bin/bash
echo "<openbox_pipe_menu>"
curl http://feeds2.feedburner.com/programme-television | grep title | sed 's/<[^>]*>//g;s/.*Yahoo\!//;1d;s/\r//g' | iconv -f ISO-8859-1 -t UTF-8 | while read ligne
do
echo '<item label="'$ligne'"/>'
done
echo "</openbox_pipe_menu>"
exit
J'ai utilisais curl, mais un wget <url> -O- est identique
La source est un flux rss, depuis un site c'est également possible (avec moins de commande), à voir si cela te conviens ?
EDIT: j'ai vu également que tu fais
cat /tmp/test | sed ....
alors que
sed ... /tmp/test
c'est identique avec une commande de moins
J'ai pas mieux regardé tes autres scripts,c'est ce qui me saute aux yeux
Dernière modification par AnsuzPeorth (Le 08/04/2010, à 19:47)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#30 Le 08/04/2010, à 19:58
- Fenouille84
Re : Postez ici vos Pipemenus Openbox!
Je poste pour suivre le fil !
Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --
Hors ligne
#31 Le 08/04/2010, à 21:09
- JB-home
Re : Postez ici vos Pipemenus Openbox!
Tu pourrais faire plus simple et rapide (beaucoup de commande dans ta solution, cela explique la lenteur)
Cela pourrait encore être amélioré ...!
il est certain, je débute à peine en bash alors bon... s'il n'y a pas d'erreur où d'inutile s'est qu'il y a un problème.
merci pour l'astuce de "sed", je corrigerais tout mes scripts.
Hors ligne
#32 Le 08/04/2010, à 21:13
- Fenouille84
Re : Postez ici vos Pipemenus Openbox!
Tiens z0rg, voici une doc complète sud SED :
Le Tome I (Il y en a 3 !! )
Une partie sur la substitution (dont je me sers assez souvent !! Partie plus spécifique).
Dernière modification par Fenouille84 (Le 08/04/2010, à 21:30)
Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --
Hors ligne
#33 Le 08/04/2010, à 21:29
- JB-home
Re : Postez ici vos Pipemenus Openbox!
merci Fenouille84, j'ai du boulot xD....
Dernière modification par z0rg> (Le 08/04/2010, à 21:38)
Hors ligne
#34 Le 08/04/2010, à 21:53
- wlourf
Re : Postez ici vos Pipemenus Openbox!
@z0rg,
J'aime bien celui avec les messages, j'ai du le modifier car il y a quelques dossiers où je n'ai pas les droits, du coup "du" me jette !
Sinon, je l'ai adapté aussi car la longueur du nom de mon hostname doit être différent du tien et les messages étaient tronqués au début :
hn=$(hostname)
lg=$((${#hn}+17))
puis dans toutes les lignes "b"
l1b=`cat log.temp |sed -n "2 p"|cut -c$lg-100`
Ce n'est qu'une suggestion, il ya peut être moyen d'écrire ça autrement !
Question subsidiaire, peut-on afficher plus de caractères dans les menus car les messages sont tronqués au milieu avec "..."
Beau boulot, pour travailler sur les chaînes de caractères, il y aussi les instructions intégrées à bash que je trouve plus simples que sed et cut : http://abs.traduc.org/abs-5.0-fr/ch09s02.html
Question de goût je ne sais pas si c'est plus rapide
Dernière modification par wlourf (Le 08/04/2010, à 21:54)
Hors ligne
#35 Le 08/04/2010, à 21:59
- JB-home
Re : Postez ici vos Pipemenus Openbox!
je contait justement modifier le "du" , car il y a des fichier à permission comme tu dit.
( moi il me jette pas, il ignore les fichier dont j'ai pas la permission, se qui donne une taille fausse )
du coup tu a mit quoi à la place ?
Dernière modification par z0rg> (Le 08/04/2010, à 22:00)
Hors ligne
#36 Le 08/04/2010, à 22:24
- wlourf
Re : Postez ici vos Pipemenus Openbox!
du coup tu a mit quoi à la place ?
Je l'ai viré
J'ai ça :
$du -hs /var/log/
du: ne peut lire le répertoire `/var/log/wicd': Permission non accordée
du: ne peut lire le répertoire `/var/log/samba/cores': Permission non accordée
24M /var/log/
donc ça va pas bien dans le menu !
Hors ligne
#37 Le 08/04/2010, à 23:03
- JB-home
Re : Postez ici vos Pipemenus Openbox!
bin pareil, mais ça s'affiche correctement dans le menu.
j'ai pas encore cherché de parade à cette commande, même si j'avoue que se n'est pas très utile.
Dernière modification par z0rg> (Le 08/04/2010, à 23:04)
Hors ligne
#38 Le 08/04/2010, à 23:16
- UUBBUU_USER
Re : Postez ici vos Pipemenus Openbox!
Allez j'en rajoute un .. histoire de suivre le sujet .... ( qui n'est pas de moi .. mais que j'ai un peu modifié )
#!/bin/sh
# Diskspace in Openbox
# pipe menu script
# current version at http://chaingang.org/code/linux/obscripts/diskspace.sh
# in ~/.config/openbox/menu.xml
# add <menu id="gnome-menus" label="Gnome" execute="~/.config/openbox/pipemenus/diskspace.sh" />
#
# Copyright 2008 Baavgai (baavgai@chaingang.org)
#
# Modified By Me 01/2010
#
# add browse
# change language
# change menu list
#
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##file manager ::
#
# Suivant votre gestionnaire de fichier .. changer fileExplorer
# Ici pcmanfm
#
echo "<openbox_pipe_menu>"
df -kT | grep sd** | sed '/tmpfs/d' | sed '/none/d' | awk '
BEGIN {
fileExplorer="pcmanfm";
print "<separator label=\"Ressources Montées\"/>"
itemFmt="<item label=\"%s: %s\"><action name=\"Execute\"><command>true</command></action></item>\n";
itemFmt2="<item label=\"%s: %7.2fGB\"><action name=\"Execute\"><command>true</command></action></item>\n";
itemFmt3="<item label=\"Naviguer içi\"><action name=\"Execute\"><execute>%s %s</execute></action></item>\n";
menuFmt="<menu id=\"fs_menu_%s\" label=\"%s\">\n";
menuNum=0;
}
$0 ~ "dev" {
menuNum=$((menuNum+1));
printf(menuFmt, menuNum, $1);
printf(itemFmt, "Monté sur", $7);
printf(itemFmt, "Type", $2);
printf(itemFmt2, "Capacité", $3/1048576);
printf(itemFmt, "%Occupé", $6);
printf(itemFmt2, "Disponible", $5/1048576);
printf(itemFmt3, fileExplorer, $7);
print "</menu>";
}
END {
}
'
echo "</openbox_pipe_menu>"
Je bosse sur une autre version .....
Dernière modification par UUBBUU_USER (Le 08/04/2010, à 23:17)
PEACE LOVE UNITY FREE TIBET
Hors ligne
#39 Le 09/04/2010, à 10:34
- Fenouille84
Re : Postez ici vos Pipemenus Openbox!
Cool ce pipemenu !!
Par contre, niveau mise en forme sa laisse à désirer...
Il n'y aurait pas un moyen d'aligner un peu tout sa ?
Edit : j'ai remanié un peu le script.
* simplification du code
* organisation et mise en page
* meilleur alignement (aligné nickel si on prend une police à chasse fixe)
voici ma version :
#!/bin/sh
###############################################################################
# Diskspace in Openbox - PipeMenu script
# current version at http://chaingang.org/code/linux/obscripts/diskspace.sh
#
# Copyright 2008 Baavgai (baavgai@chaingang.org)
#
# Modified By Me 01/2010
# add browse
# change language
# change menu list
#
# Modified By Fenouille84 09/04/2010
# Organisation - Mise en page
# Simplification du code
# Alignement
###############################################################################
#File manager :
#Suivant votre gestionnaire de fichier, changez la valeur de 'fileExplorer'
#Ici fileExplorer="thunar";
echo "<openbox_pipe_menu>"
df -kTH | grep "sd" | awk '
BEGIN {
fileExplorer="thunar";
print "<separator label=\"Mounted Devices\"/>"
itemFmt="<item label=\"%s: %s\"><action name=\"Execute\"><command>true</command></action></item>\n";
itemFmt2="<item label=\"%s: %sB\"><action name=\"Execute\"><command>true</command></action></item>\n";
itemFmt3="<item label=\"Thunar here\"><action name=\"Execute\"><execute>%s %s</execute></action></item><separator/>\n";
menuFmt="<menu id=\"fs_menu_%s\" label=\"%s\">\n";
menuNum=0;
}
$0 ~ "dev" {
menuNum=$((menuNum+1));
printf(menuFmt, menuNum, $1);
printf(itemFmt3, fileExplorer, $7);
printf(itemFmt, "Part ", $7);
printf(itemFmt, "Type ", $2);
printf(itemFmt, "Busy ", $6);
printf(itemFmt2, "Free ", $5);
printf(itemFmt2, "Total", $3);
print "</menu>";
}
END{}
'
echo "</openbox_pipe_menu>"
Edit :
J'ai encore remanié le pipemenu pour qu'il ne se charge que des périphériques USB.
J'ai également ajouté l'option "Eject".
Voici la nouvelle version :
#!/bin/bash
###############################################################################
# Diskspace in Openbox - PipeMenu script
# current version at http://chaingang.org/code/linux/obscripts/diskspace.sh
#
# Copyright 2008 Baavgai (baavgai@chaingang.org)
#
# Modified By Me 01/2010
# add browse
# change language
# change menu list
#
# Modified By Fenouille84 09/04/2010
# Organisation - Mise en page
# Simplification du code
# Filtre USB
###############################################################################
#File manager :
#Suivant votre gestionnaire de fichier, changez la valeur de 'fileExplorer'
#Ici fileExplorer="thunar";
echo "<openbox_pipe_menu>"
verif=$(ls /media | sed 's/ /\n/g' | wc -l)
if [ "$verif" -ge 3 ]
then
df -kTH | grep "sd" | sed '1,2d' | awk '
BEGIN {
fileExplorer="thunar";
print "<separator label=\"USB\"/>"
itemFmt="<item label=\"%s: %s\"><action name=\"Execute\"><command>true</command></action></item>\n";
itemFmt2="<item label=\"%s: %sB\"><action name=\"Execute\"><command>true</command></action></item>\n";
itemFmt3="<item label=\"Thunar\"><action name=\"Execute\"><execute>%s %s</execute></action></item><separator/>\n";
itemFmt4="<item label=\"Eject\"><action name=\"Execute\"><execute>gksudo umount %s</execute></action></item>\n";
menuFmt="<menu id=\"fs_menu_%s\" label=\"%s\">\n";
menuNum=0;
}
$0 ~ "dev" {
menuNum=$((menuNum+1));
printf(menuFmt, menuNum, $1);
printf(itemFmt4, $7);
printf(itemFmt3, fileExplorer, $7);
printf(itemFmt, "Part ", $7);
printf(itemFmt, "Type ", $2);
printf(itemFmt, "Busy ", $6);
printf(itemFmt2, "Free ", $5);
printf(itemFmt2, "Total", $3);
print "</menu>";
}
END{} '
else
awk '
BEGIN {
print "<separator label=\"USB\"/>";
print "<item label=\"No device detected\"/>";
}
END{} '
fi
echo "</openbox_pipe_menu>"
Dernière modification par Fenouille84 (Le 23/04/2010, à 23:01)
Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --
Hors ligne
#40 Le 09/04/2010, à 12:34
- Fenouille84
Re : Postez ici vos Pipemenus Openbox!
Dites, sa serait possible de faire un pipemenu qui affiche et permet de sélectionner les x derniers copier/coller ??
Un peu genre Clipman, mais en pipemenu pour OB.
Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --
Hors ligne
#41 Le 09/04/2010, à 12:49
- AnsuzPeorth
Re : Postez ici vos Pipemenus Openbox!
Dites, sa serait possible de faire un pipemenu qui affiche et permet de sélectionner les x derniers copier/coller ??
Un peu genre Clipman, mais en pipemenu pour OB.
Amuse toi avec xclip, tu colles dans un fichier et tu affiches les dernière lignes..(ily en déjà qui s'y sont amuser, cherche un peu tu trouveras) Mais bon, qd on lit ça:
(Oui je suis fainéant !!! lol)
On se dit que ça va être dur
Sinon, pour en revenir à tes type mime, lorsque tu double-clic sur un fichier, il se lance bien avec la bonne application ?
Si oui, il y a une commande python qui ouvre le fichier avec l'app par défaut, à voir !
Dernière modification par AnsuzPeorth (Le 09/04/2010, à 12:50)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#42 Le 09/04/2010, à 13:02
- Fenouille84
Re : Postez ici vos Pipemenus Openbox!
ok ok ! merci pour ta réponse.
Le truc c'est que je voulais enlever xfce4-panel de mon bureau.
Mais au final, il est pas si mal que sa
* toutes les applications dans le menu d'OB sa le surcharge un peu je trouve
* idem pour la liste des fichiers
* les icônes du systray de tint2 s'intègrent mal avec mon desktop (je sais, il existe aussi stalonetray)
* j'ai pas trop le temps en ce moment de mettre le nez dans la programmation approfondie
Donc finalement, je pense le garder quand même
Comme sa mon menu OB ne me montre que l'essentiel.
Merci pour vos réponses.
Considérez toutes mes demandes précédentes comme [Résolues]
Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --
Hors ligne
#43 Le 11/04/2010, à 20:43
- sputnick
Re : Postez ici vos Pipemenus Openbox!
@UUBBUU_USER, j'ai fais une synthèse des deux posts. ( http://forum.ubuntu-fr.org/viewtopic.php?pid=3397818#p3397818 )
#!/bin/bash
df -kTP -x tmpfs | awk '
BEGIN {
fileExplorer="pcmanfm";
print "<openbox_pipe_menu>"
print "<separator label=\"Ressources Montées\"/>"
itemFmt="<item label=\"%s: %s\"><action name=\"Execute\"><command>true</command></action></item>\n";
itemFmt2="<item label=\"%s: %7.2fGB\"><action name=\"Execute\"><command>true</command></action></item>\n";
itemFmt3="<item label=\"Naviguer içi\"><action name=\"Execute\"><execute>%s %s</execute></action></item>\n";
menuFmt="<menu id=\"fs_menu_%s\" label=\"%s\">\n";
menuNum=0;
}
/^\/dev\/ {
menuNum=$((menuNum+1));
printf(menuFmt, menuNum, $1);
printf(itemFmt, "Monté sur", $7);
printf(itemFmt, "Type", $2);
printf(itemFmt2, "Capacité", $3/1048576);
printf(itemFmt, "%Occupé", $6);
printf(itemFmt2, "Disponible", $5/1048576);
printf(itemFmt3, fileExplorer, $7);
print "</menu>";
}
END {
print "</openbox_pipe_menu>"
}' | xmllint --format -
Les -x de df permet d'exclure proprement des "files systems".
L'option -P c'est le mode POSIX pour avoir un device sur une seule ligne ( tronquée sinon avec une longue ligne, notamment avec les chemins LVM par exemple ). On pipe tout ca dans xmllint pour avoir un beau xml en sortie. A installer si besoin, c'est un tool XML de base !
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#44 Le 11/04/2010, à 22:08
- UUBBUU_USER
Re : Postez ici vos Pipemenus Openbox!
Merci Sputnick ..... j'avais jamais vu cette option -x a df ..
Par contre ... j'ai pas de paquet xmllint dans mes dépots ...
Impossible de trouver un paquet correspondant à « xmllint ». Cependant,
les paquets suivants comportent « xmllint » dans leur description :
bluefish nxml-mode rnv libxml2-utils
edit : .. j'ai déja le paquet libxml2-utils
edit 2 ..
Vraiment pas mal xmllint pour voir comment ça donne dans le terminal ..
PAr contre /^\/dev\/ ... ça a pas l'air de marcher .. j'ai du remettre $0 ~ "dev"
pour que ça ne me renvoi pas une erreur
awk: cmd. ligne:12: /^\/dev\/ {
awk: cmd. ligne:12: ^ expression régulière non terminée
awk: cmd. ligne:14: printf(menuFmt, menuNum, $1);
awk: cmd. ligne:14: ^ syntax error
awk: cmd. ligne:14: printf(menuFmt, menuNum, $1);
awk: cmd. ligne:14: ^ syntax error
awk: cmd. ligne:15: printf(itemFmt, "Monté sur", $7);
awk: cmd. ligne:15: ^ syntax error
awk: cmd. ligne:16: printf(itemFmt, "Type", $2);
awk: cmd. ligne:16: ^ syntax error
awk: cmd. ligne:17: printf(itemFmt2, "Capacité", $3/1048576);
awk: cmd. ligne:17: ^ syntax error
awk: cmd. ligne:18: printf(itemFmt, "%Occupé", $6);
awk: cmd. ligne:18: ^ syntax error
awk: cmd. ligne:19: printf(itemFmt2, "Disponible", $5/1048576);
awk: cmd. ligne:19: ^ syntax error
awk: cmd. ligne:20: printf(itemFmt3, fileExplorer, $7);
awk: cmd. ligne:20: ^ syntax error
-:1: parser error : Document is empty
^
-:1: parser error : Start tag expected, '<' not found
^
I/O error : Invalid seek
Dernière modification par UUBBUU_USER (Le 11/04/2010, à 22:17)
PEACE LOVE UNITY FREE TIBET
Hors ligne
#45 Le 11/04/2010, à 22:54
- sputnick
Re : Postez ici vos Pipemenus Openbox!
Ah zut, c'était une version intermédiaire.
Voilà :
#!/bin/bash
df -kTP -x tmpfs | awk '
BEGIN {
fileExplorer="pcmanfm";
print "<openbox_pipe_menu>"
print "<separator label=\"Ressources Montées\"/>"
itemFmt="<item label=\"%s: %s\"><action name=\"Execute\"><command>true</command></action></item>\n";
itemFmt2="<item label=\"%s: %7.2fGB\"><action name=\"Execute\"><command>true</command></action></item>\n";
itemFmt3="<item label=\"Naviguer içi\"><action name=\"Execute\"><execute>%s %s</execute></action></item>\n";
menuFmt="<menu id=\"fs_menu_%s\" label=\"%s\">\n";
menuNum=0;
}
/^\/dev\// {
menuNum=$((menuNum+1));
printf(menuFmt, menuNum, $1);
printf(itemFmt, "Monté sur", $7);
printf(itemFmt, "Type", $2);
printf(itemFmt2, "Capacité", $3/1048576);
printf(itemFmt, "%Occupé", $6);
printf(itemFmt2, "Disponible", $5/1048576);
printf(itemFmt3, fileExplorer, $7);
print "</menu>";
}
END {
print "</openbox_pipe_menu>"
}' | xmllint --format -
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#46 Le 11/04/2010, à 23:26
- UUBBUU_USER
Re : Postez ici vos Pipemenus Openbox!
RE ^^ sputnick
Désolé de te le demander ..... Mais j'aimerais bien que tu m'explique :
/^\/dev\//
merci d'avance ^
PEACE LOVE UNITY FREE TIBET
Hors ligne
#47 Le 12/04/2010, à 00:41
- sputnick
Re : Postez ici vos Pipemenus Openbox!
Pas de souci, en fait on doit afficher tout ce qui matche /dev.
Le ^ en expression régulières veut dire "ce qui commence par".
Mais comme les délimiteurs sont des slashs, ça donne /^\/dev\//
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#48 Le 12/04/2010, à 10:18
- UUBBUU_USER
Re : Postez ici vos Pipemenus Openbox!
Merci ...... Et dire que j'ai bien trouvé les infos sur google . mais vu que je cherchais
/^\/ \// et non pas /^\ \//
Donc
/^.. tout ce qui commence par ..
\ ......\ Ici c'est pour délimiter la recherche
......// et ici pour supprimer le /dev et les slashs
Si j'ai bien compris bien sur ^^
ps: désoler Thuban ...... JE sais ç'est pas vraiment le bon topic .. quoique ça parle d'un pipe-menu ^^
PEACE LOVE UNITY FREE TIBET
Hors ligne
#49 Le 12/04/2010, à 10:46
- sputnick
Re : Postez ici vos Pipemenus Openbox!
Donc
/^ tout ce qui commence par ..
/ ....../ Ici c'est pour délimiter la recherche
Ensuite tout les slashs qui se trouvent doivent etre protégés par un anti-slash, donc :
/ /dev/ / se retrouve en fait :
/\/dev\//
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#50 Le 12/04/2010, à 10:48
- UUBBUU_USER
Re : Postez ici vos Pipemenus Openbox!
Merci ) ..... en effets aprés plusieurs tests ... ma pseudo explication était bancale )
PEACE LOVE UNITY FREE TIBET
Hors ligne