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.

#2501 Le 06/06/2011, à 13:12

:!pakman

Re : /* Topic des codeurs couche-tard [4] */

Wow yikes
Juste énorme le :

First off, I'd suggest printing out a copy of the GNU coding standards,
and NOT read it.  Burn them, it's a great symbolic gesture.

...

lol


...

Hors ligne

#2502 Le 06/06/2011, à 14:16

Elzen

Re : /* Topic des codeurs couche-tard [4] */

Kupo les gens, j'ai un petit soucis en PyGTK…

J'essaye de faire en sorte qu'une action extérieure (pour être précis, un sed sur un fichier destiné à être mis comme action sur un bouton ou sur un raccourcis clavier (vu que j'sais toujours pas écouter les raccourcis clavier depuis une fenêtre qui n'a pas le focus)) fasse s'afficher mon menu principal.

J'ai donc mon panel principal (fenêtre non-focusable), qui contient une gtk.MenuBar, contenant elle-même le gtk.MenuItem (gtk.ImageMenuItem, même, mais j'crois pas que ça change grand chose) qui ouvre le menu principal, et optionnellement un autre gtk.MenuItem contenant lui un menu spécifique à la fenêtre active.
Je récupère bien l'événement que je veux, pas de soucis là-dessus. Par contre, c'est au niveau de l'activation du menu que j'ai quelques soucis.

Soit je fais

item.select()

et dans ce cas, l'item est sélectionné, le menu s'affiche, il y a des soucis de maniement :
– Ça semble avoir du mal à s'enclencher pour la gestion au clavier (il faut que j'appuie sur la touche directionnelle gauche, ou un truc comme ça, avant de pouvoir me déplacer de haut en bas dans le menu).
– Toujours pour la gestion au clavier, quand on appuie sur echap, le menu se ferme, mais l'item principal reste en surbrillance.
– À la souris, les items se mettent bien en surbrillance au survol, mais le clic n'a pas l'air de marcher.

Soit je fais

item.get_submenu().popup(menubar, item, move_menu, 0, 0)

et dans ce cas,
– l'item ne se met pas en surbrillance tout seul.
– il y a le même genre de soucis pour le déplacement au clavier dans les entrées
– quand on appuie sur echap, le menu disparaît, mais le truc garde le focus complet jusqu'à ce qu'on vienne cliquer (n'importe où) avec la souris.

Soit je fais

item.get_submenu().popup(None, None, move_menu, 0, 0)

et dans ce cas, aucun soucis de maniement, mais l'item ne se met pas en surbrillance, et je ne peux pas activer au clavier le second item de la barre de menu s'il est présent.

Verriez-vous une autre manière de procéder/un complément pour améliorer les choses ?

Hors ligne

#2503 Le 06/06/2011, à 14:37

Pylades

Re : /* Topic des codeurs couche-tard [4] */

@ Rolinh : j’étais tombé sur une version Gnu encore plus longe ; et surtout avec un appel à malloc dedans. J’ai été scandalisé (malloc peut échouer, or strlen n’est pas censé échouer).

Sinon, pour la nouvelle version de FreeBSD, eux au moins ils expliquent l’algorithme utilisé. Cela dit, je ne suis pas fan du style utilisé pour l’implémentation, mais au moins ça se lit.


ArkSeth a écrit :

[…] vu que j'sais toujours pas écouter les raccourcis clavier depuis une fenêtre qui n'a pas le focus […]

Il ne me semble pas que cela soit possible ; et c’est une bonne chose. Sinon, ça serait un bordel innomable.


@Koin : il n’y a pas un moyen pour que DuckDuckGo affiche le nombre de résultats pour une requête ?


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2504 Le 06/06/2011, à 14:42

Elzen

Re : /* Topic des codeurs couche-tard [4] */

Pylade a écrit :

Il ne me semble pas que cela soit possible ; et c’est une bonne chose. Sinon, ça serait un bordel innomable.

Pour autant que je sache, les gestionnaire de raccourcis claviers comme xbindkeys n'ont pas de fenêtre active en permanence.
Ni les lecteurs musicaux comme AmaroK, auxquels on peut pourtant associer des raccourcis clavier pour lancer/arrêter la musique quand la fenêtre est icônifiée.
Et ce n'est généralement pas le gnome-panel qui a le focus quand on lance Alt+F1 ou Alt+F2 tongue

Hors ligne

#2505 Le 06/06/2011, à 15:05

Pylades

Re : /* Topic des codeurs couche-tard [4] */

ArkSeth a écrit :
Pylade a écrit :

Il ne me semble pas que cela soit possible ; et c’est une bonne chose. Sinon, ça serait un bordel innomable.

Pour autant que je sache, les gestionnaire de raccourcis claviers comme xbindkeys n'ont pas de fenêtre active en permanence.

Je ne connais pas, mais il ne me semblerai pas délirant que ce soit la fenêtre racine qui hérite des raccourcis clavier, voire que ça communique avec le WM.


ArkSeth a écrit :

Et ce n'est généralement pas le gnome-panel qui a le focus quand on lance Alt+F1 ou Alt+F2 tongue

Mais là, c’est le WM qui gère le raccourci. tongue


ArkSeth a écrit :

Ni les lecteurs musicaux comme AmaroK, auxquels on peut pourtant associer des raccourcis clavier pour lancer/arrêter la musique quand la fenêtre est icônifiée.

Hum, c’est étrange. Ils se servent peut-être du systray (parce que les lecteurs musicaux, généralement il se logent dans le systray, pour ceux que je connais), et je sais que les applications dans le systray peuvent avoir leur raccourcis clavier (Parcellite en est le plus bel exemple). Si t’es motivé, tu peux regarder les sources. tongue


Sinon, je suis super content : je crois avoir trouvé le moyen de contrôler la disposition de clavier d’une fenêtre en particulier. Il ne me reste plus qu’à savoir comment trouver le display d’une fenêtre.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#2506 Le 06/06/2011, à 15:36

Kanor

Re : /* Topic des codeurs couche-tard [4] */

pylade regarde la commande xprop

Hors ligne

#2507 Le 06/06/2011, à 15:36

Elzen

Re : /* Topic des codeurs couche-tard [4] */

Pylade a écrit :

généralement il se logent dans le systray,

C'est ce que j'entendais par fenêtre « icônifiée », même si je reconnais volontiers que ce n'est absolument pas représentatif de ce qui se passe vraiment ^^

Pylade a écrit :

Mais là, c’est le WM qui gère le raccourci. tongue

Ou pas : quel que soit le WM, si gnome-panel ne tourne pas, ces deux raccourcis ne font rien (ou font une autre tâche qui leur a été assignée par un autre moyen). En revanche, quel que soit le WM, une fois gnome-panel lancé (et à condition que le raccourcis ne soit pas déjà réquisitionnés par autre chose, p't'être), ça marche : c'est donc bien gnome-panel qui gère ça et pas le WM.

Ou alors, peut-être que gnome-panel demande au WM de les gérer pour lui, et dans ce cas, ce que je ne sais pas faire se reformule en « demander au WM de gérer des raccourcis clavier pour moi ». Mais ça revient très exactement au même, ce n'est qu'une formulation reflétant la manière de procéder qui est justement l'inconnue.

Kanor a écrit :

pylade regarde la commande xprop

J'viens d'essayer en vitesse, mais je n'ai pas trouvé de ligne indiquant le display. Peut-être n'y en a-t-il une que pour les fenêtres n'utilisant pas le display par défaut, ou alors peut-être est-ce que j'ai juste mal choisi mon exemple.

Mais dans l'écrasante majorité des cas, toutes les fenêtres ont :0.0 comme display, non ?

Dernière modification par ArkSeth (Le 06/06/2011, à 15:38)

Hors ligne

#2508 Le 06/06/2011, à 16:03

Rolinh

Re : /* Topic des codeurs couche-tard [4] */

Plop,

demain j'ai un examen de concepts et langages orientés objets. Il y a une notion assez importante qui n'est pas bien expliquée dans mon cours et pour laquelle je trouve pas de bonne explication; celui des powertype.
Pour moi c'est une métaclasse dont les instances sont une sous-classe d'une classe donnée.
Par exemple, si je prend une voiture de marque "Peugeot", je pourrais avoir comme powertype "Modèle" et les modèles seraient "206", "307", etc.
Mais bon, ça me semble un peu maigre comme explication et j'ai l'impression que le concept va un peu plus loin. Il me semble que des gens ont déjà parlé des powertype ici alors si quelqu'un arrive à me fournir une brève explication ou un bon lien, ce serait avec plaisir smile .

Hors ligne

#2509 Le 06/06/2011, à 16:50

grim7reaper

Re : /* Topic des codeurs couche-tard [4] */

Rolinh a écrit :
Кຼزດ a écrit :

Leur strlen reste quand même plus efficace.

Plus efficace que quoi?

Bah que la version naïve (mais certes lisible) qu'utilisait BSD.
Et la raison est clairement expliqué dans la partie rationale de la nouvelle version de BSD (qui est celle de GNU en plus lisible).

Rolinh a écrit :

Sinon, ouais, j'appuie Pylade: le GNU coding style saylemal.

Pour ce qui est de la partie mise en forme, je plussoie fortement.
Pour le reste du coding style j'ai un avis moins tranché, faut pas jeter le bébé avec l'eau du bain…



Pylade a écrit :

@ Rolinh : j’étais tombé sur une version Gnu encore plus longe ; et surtout avec un appel à malloc dedans. J’ai été scandalisé (malloc peut échouer, or strlen n’est pas censé échouer).

Heu source ??
Parce que efffectivement c'est aberrant et pour le coup ça m'étonne beaucoup hmm

Pylade a écrit :

Sinon, pour la nouvelle version de FreeBSD, eux au moins ils expliquent l’algorithme utilisé. Cela dit, je ne suis pas fan du style utilisé pour l’implémentation, mais au moins ça se lit.

Bah t'es de mauvaise foi, la version GNU aussi explique l'algo (sauf que l'explication est aussi limpide que le code :]).

Hors ligne

#2510 Le 06/06/2011, à 18:14

tshirtman

Re : /* Topic des codeurs couche-tard [4] */

Pour les raccourcis multimédia dans les VM, je pense que ce sont les VM qui communiquent via une interface DBUS avec les lecteurs multimédia… pas le lecteur lui même qui reçoit le raccourcis…

Hors ligne