Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/02/2013, à 21:36

UUBBUU_USER

[Script/bash] Urxvt Façon "console Quake" pour Openbox

Rien de bien nouveau que ce qu'on peux déjà trouver sur le net, mais avec une petite différence.
Voila je voulais avoir un terminal en fond, sans icône dans tint2, transparent, que je pourrais afficher ou cacher selon la nécessité sur le bureau, sans oublier que suivant le bureau ou l'on se trouve, suivant les fenêtres ouvertes ou pas, un terminal transparent c'est pas très pratique.  Du coup j'ai rajouter 2 "tites" fonction pour cacher ou montrer les fenêtres du bureau sur lequel on est a chaque fois qu'on affiche la console ou qu'on la cache.
Toutes appréciation ou remarque est accepté !! wink

#!/bin/bash
# quake_rxvt: emulates quake terminal functionality
# with show and hide desktop window function
# designed for use with openbox and wmctrl
# make sure wmctrl is installed


# args for Quake terminal
consoleXargs=" -depth 32 -bg rgba:0000/0000/0000/0000 "

# set Quake Terminal class name
quake_rxvt_wmclass="quake_urxvt"


show_desktop() {
    
get_cur_desk_nb="$(xprop -root _NET_CURRENT_DESKTOP | tail -c -2)"
ob_cur_desk_win_list=($(wmctrl -l | awk '$2 == '$get_cur_desk_nb' {print $1} '))
for i in "${ob_cur_desk_win_list[@]}"; do
    wmctrl -i -r $i -b add,hidden
done

}
unshow_desktop() {

get_cur_desk_nb="$(xprop -root _NET_CURRENT_DESKTOP | tail -c -2)"
ob_cur_desk_win_list=($(wmctrl -l | awk '$2 == '$get_cur_desk_nb' {print $1} '))
for i in "${ob_cur_desk_win_list[@]}"; do
    wmctrl -i -R $i
done

}

quakeUrxvtWindowsId="$(wmctrl -l | grep "$quake_rxvt_wmclass" | sed -e 's/ .*//')"


# test: get current active focused  windows
active_window_id="$(xprop -root | grep '^_NET_ACTIVE' | sed -e 's/.* //')"

#  Does active windows is quake_urxvt
isActive="$(xprop -id "$active_window_id" 2>/dev/null | grep  ^WM_CLASS.*.$quake_rxvt_wmclass)"

[[ ! $quakeUrxvtWindowsId ]] && {
        #~ wmctrl -k on
        show_desktop
        urxvt $consoleXargs  -name "$quake_rxvt_wmclass" &
        exit 0
        
    }
[[ ! $isActive ]] && {
    show_desktop
    wmctrl -R $quake_rxvt_wmclass -x
    exit 0
        }
        
unshow_desktop
wmctrl -i -r "$active_window_id" -b add,hidden
exit 0

J'utilise ce script pour urxvt avec openbox.
Il nécessite l'installation d'urxvt et de wmctrl pour fonctionner.

içi une copie des deux parties de mon rc.xml:

Le raccourcis Clavier :
( penser a modifier le chemin et le nom du script )

    <keybind key="W-c">
      <action name="Execute">
        <command>/chemin/vers/script</command>
      </action>
    </keybind>
  </keyboard>

Le mode D'affichage pour la fenêtre :

    <application name="quake_urxvt">
        <decor>no</decor>
        <focus>yes</focus>
        <iconic>no</iconic>
        <skip_taskbar>yes</skip_taskbar>
        <maximized>true</maximized>
    </application>

Dernière modification par UUBBUU_USER (Le 14/02/2013, à 23:57)


PEACE LOVE UNITY                                                      FREE TIBET

Hors ligne

#2 Le 14/02/2013, à 22:36

Maisondouf

Re : [Script/bash] Urxvt Façon "console Quake" pour Openbox

papounet@amd8papou:~/tempo/pingui$ bash quake.sh
Error: required dependency wmctrl not found.

Il lui faut quoi pour pouvoir tester ?


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#3 Le 14/02/2013, à 23:34

UUBBUU_USER

Re : [Script/bash] Urxvt Façon "console Quake" pour Openbox

il faut installer le paquet

wmctrl

Dernière modification par UUBBUU_USER (Le 14/02/2013, à 23:34)


PEACE LOVE UNITY                                                      FREE TIBET

Hors ligne

#4 Le 14/02/2013, à 23:39

Maisondouf

Re : [Script/bash] Urxvt Façon "console Quake" pour Openbox

papounet@amd8papou:~/tempo/pingui$ sudo apt-get install wmctrl
[sudo] password for papounet: 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
wmctrl est déjà la plus récente version disponible.
wmctrl passé en « installé manuellement ».
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
papounet@amd8papou:~/tempo/pingui$ 

Une histoire de $PATH....

papounet@amd8papou:~/tempo/pingui$ which wmctrl
/usr/bin/wmctrl
papounet@amd8papou:~/tempo/pingui$ 

Dernière modification par Maisondouf (Le 14/02/2013, à 23:41)


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#5 Le 14/02/2013, à 23:42

UUBBUU_USER

Re : [Script/bash] Urxvt Façon "console Quake" pour Openbox

hum .. script rectifié .. ... juste a penser à installer  wmctrl pour l'utiliser


PEACE LOVE UNITY                                                      FREE TIBET

Hors ligne

#6 Le 14/02/2013, à 23:45

Maisondouf

Re : [Script/bash] Urxvt Façon "console Quake" pour Openbox

J'ai commenté le 'exit 1' pour forcer le scripte et je récupère :

quake.sh: ligne 52: urxvt : commande introuvable

Je viens de réaliser qu'il faut openbox pour tester hmm


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#7 Le 14/02/2013, à 23:46

UUBBUU_USER

Re : [Script/bash] Urxvt Façon "console Quake" pour Openbox

bah surtout urxvt ..... ( j'ai balancer le script un peu vite ... sans explication .... désolé !! )

Maj du premier post wink

Dernière modification par UUBBUU_USER (Le 14/02/2013, à 23:52)


PEACE LOVE UNITY                                                      FREE TIBET

Hors ligne