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 25/05/2010, à 19:32

Brunod

compiz & cairo : une piste ?

Bonjour,
Je me suis fait un beau bureau avec compiz dont le cube tourne lorsque la souris vient contre le bord de la fenêtre. J'ai aussi cairo mais que je positionne à droite de mes bureaux, et qui n'apparaît que lorsque la souris vient contre...
Vous voyez où je veux en venir : je voudrais pouvoir faire apparaître cairo lorsque je suis moins d'1/2 sec contre ce bord (ça fonctionne), et lancer la rotation du cube lorsque je reste plus d'une 1/2 seconde contre ce même bord (que cairo apparaisse ou pas importe peu, mais ici ça coince : le cube tend à tourner directement).
Le problème est que je n'ai pas trouvé dans compiz le paramètrage de délai de lancement de la rotation.
Si quelqu'un a une piste...

EDIT : bon, en attendant, j'ai augmenté la zone d'activation de cairo pour qu'il réagisse plus tôt à l'approche de la souris.

Dernière modification par Brunod (Le 25/05/2010, à 20:28)


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#2 Le 25/05/2010, à 22:56

Elzen

Re : compiz & cairo : une piste ?

J'ai peut-être une solution, un peu barbare, mais qui devrait fonctionner.

L'utilitaire wmctrl (lien pour installer en un clic, il n'y a apparemment pas de page de doc dessus ici) permet d'effectuer un certain nombre de manipulations sur le gestionnaire de fenêtres. En particulier, il permet de régler les viewports, donc de se déplacer d'une page à une autre du cube.
Par ailleurs, une commande python pas trop compliquée permet de récupérer la position de la souris (c'est sûrement faisable en Shell avec les outils de X, mais j'ai toujours eu la flemme de chercher puisque j'avais une autre solution).

Par conséquent, tu peux régler le plugin commandes de Compiz pour qu'il lance un petit script shell du genre de celui-ci lorsque ta souris atteint le bord droit de l'écran :

#! /bin/sh

# On commence par attendre que le délai d'une demi-seconde soit passé.
sleep 0.5
# On récupère la position en abscisse de la souris sur l'écran (avec python).
pos=$(python -c "print __import__('gtk').gdk.get_default_root_window().get_pointer()[0]")
# On vérifie que la souris est toujours collée au bord de l'écran.
if test $pos -ge 1020 # À toi de régler ce chiffre selon la taille de ton écran et la sensibilité désirée.
   # On demande à wmctrl de demander à Compiz de passer à la face suivante du cube.
   then wmctrl -o $(($(wmctrl -d | grep "*" | tr -s " " | cut -d" " -f6 | cut -d"," -f1) +1024)),0
# Terminé.
fi
exit 0

La commande avec wmctrl mériterait d'être un peu plus soignée : là, comme ça, elle sort de l'espace disponible quand tu atteins la dernière face. Mais Compiz est sympa, dans ce cas-là, il te ramène à la première.

J'ai fait ça en vitesse à partir d'exemples que j'avais déjà fait, donc je n'ai pas testé ce code-ci en particulier, mais ça devrait marcher. Signale s'il y a un problème.

Hors ligne

#3 Le 27/05/2010, à 19:52

Brunod

Re : compiz & cairo : une piste ?

Merci pour la solution wink
Je testerai cela dès que possible. La piste semble intéressante.

BD


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne