Trucs et logiciels

Les astuces ne doivent pas finir à la corbeille !

Joli menu de déconnexion pour Openbox

Je vous avais parlé dans un billet précédent d’un beau menu de déconnexion pour Openbox, qui se trouve ici :
http://wiki.archlinux.fr/openbox-logout (celui proposé par joedu12). La capture d’écran d’exemple est celle-ci :

Image

Pour obtenir ce résultat, il y a juste à suivre le wiki (sans oublier l’édition du fichier

/etc/sudoers

telle que présentée au début). Avec tout ça, on a un beau menu d’extinction graphique.Maintenant, on va y ajouter le verrouillage d’écran. Pour cela j’utilise xscreensaver. Le paquet est disponible dans le dépôt extra (cf wiki), mais une version patchée pour Arch est dans AUR, xscreensaver-arch-logo (cf wiki encore). Voici sa description :

xscreensaver-arch-logo 5.12-1 : Screen saver and locker for the X Window System. Version with replaced art/logos/graphics to better fit to the ArchLinux (Gnome,KDE,XFCE,…). Also adds enchanced desktop icon.

Voici une capture d’écran de l’écran de verrouillage par défaut :

Hebergement gratuit d'image et photo

et une avec le paquet patché :

Hebergement gratuit d'image et photo

Afin de pouvoir verrouiller l’écran, le démon doit être lancé, pour cela on ajoute cette ligne dans notre fichier autostart :

xscreensaver -no-splash & 

(l’option -no-splash désactive l’écran de splash au démarrage de la session). Pour verrouiller l’écran, il suffit ensuite de taper la commande xscreensaver-command -lock.On va maintenant intégrer une option de verrouillage au script de déconnexion. Le résultat chez moi est ceci : 

Hebergement gratuit d'image et photo

Pour cela, on édite le fichier ob_logout : on va d’abord insérer le bouton de verrouillage (l’image est déja dans le dossier img/, il n’y a rien à faire)

  1. Insertion du bouton « Verrouillage »
    Dans la méthode __init__, on remplace cette partie : 

    x = ( self.screen_x / 2 ) - ( 140 * 4 / 2 ) - 30
    y = ( self.screen_y / 2 ) - 100
    
    ## 1st Line
    self.add_bouton("application-exit",x+30,y+30)
    self.add_bouton("system-log-out",x+170,y+30)
    self.add_bouton("system-restart",x+310,y+30)
    self.add_bouton("system-shutdown",x+450,y+30)
    
    self.add_label("Retour",x+75, y+170)
    self.add_label("Deconnexion",x+196, y+170)
    self.add_label("Redemarrage",x+333, y+170)
    self.add_label("Extinction",x+486, y+170)

    par ceci (j’ai ajouté des variables pour ne pas calculer les coordonnées à chaque fois)

    nbimages = 5
    sizebutton = 140
    ordonnee = 30
    x = ( self.screen_x / 2 ) - ( sizebutton * nbimages / 2 ) - 30
    y = ( self.screen_y / 2 ) - 100
    
    ## 1st Line
    self.add_bouton("application-exit"  ,x+0*sizebutton,y+30)
    self.add_bouton("system-log-out"    ,x+1*sizebutton,y+30)
    self.add_bouton("system-lock-screen",x+2*sizebutton,y+30)
    self.add_bouton("system-restart"    ,x+3*sizebutton,y+30)
    self.add_bouton("system-shutdown"   ,x+4*sizebutton,y+30)
    
    self.add_label("Retour"      ,x+0*sizebutton+45, y + ordonnee + sizebutton)
    self.add_label("Deconnexion" ,x+1*sizebutton+26, y + ordonnee + sizebutton)
    self.add_label("Verrouillage",x+2*sizebutton+30, y + ordonnee + sizebutton)
    self.add_label("Redemarrage" ,x+3*sizebutton+26, y + ordonnee + sizebutton)
    self.add_label("Extinction"  ,x+4*sizebutton+40, y + ordonnee + sizebutton)
  2. On associe le bouton « verrouillage » à la commande « xscreensaver-command -lock » :
    Dans la méthode clic_bouton, en dessous de 

    elif (data=='system-log-out'):
                os.system('openbox --exit')

    (ou ailleurs, cette place me semble logique), on ajoute :

    elif (data=='system-lock-screen'):
                os.system('xscreensaver-command -lock')

Et voilà, on a un beau menu avec déconnexion (ok ça ne fait que quitter openbox, ça ne déconnecte pas, mais je ne sais pas comment déconnecter vraiment), verrouillage, extinction et redémarrage ! Pour les curieux, si vous êtes allés voir dans le dossier img/, il y a d’autres boutons, qui ne demandent qu’à être inclus à leur tour 😉

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :