Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

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 01/03/2020, à 09:27

Christophe C

Interface graphique pour Devilspie

Devilspie permet de paramétrer l'affichage des fenêtres d'un logiciel d'une manière systématique à chaque lancement.
On peut définir la taille de la fenêtre, sa transparence, son bureau d'affichage, sa position à l'écran, etc ...

Le paramétrage se fait à la main dans un fichier de conf.

Il existait autrefois une interface graphique de paramétrage : Gdevilspie, mais elle n'est plus maintenue, plus dans les dépôts. Perso, je la trouvais assez complexe, car elle couvrait tout le scope de Devilspie, qui est assez large.

J'ai refais une interface graphique, mais plus simple, ne couvrant que ce que j'estime être les fonctionnalités importantes de Devilspie. Je l'ai appelé yspie

Mon objectif c'est de rendre service, mais c'est surtout de creuser 4 sujets :
- la programmation (ici le bash), les fonctions, les boucles, etc ...
- le système de traduction standard sous linux, à savoir gnu gettext (pour l'instant il n'y a que la trad française, mais j'ai compris comment ça marche)
- la construction de paquet debian
- l'utilisation de yad comme interface graphique.

Au final, ça semble fonctionner correctement dans ces 4 domaines.
Je ne suis pas sur que Devilspie tienne encore longtemps, il n'est pas compatible Wayland, mais pour l'instant il est dans les dépôts, et c'était un bon exercice pour moi.

Le paquet d'installation est ici : http://www.batraciens.net/divers/yspie.deb
Sur un machine dont la locale est FR, yspie s'affiche en français, sinon il reste en anglais.

Ce n'est qu'une bêta, les commentaires (pas l'interface) mélangent encore français et anglais, il y a suremment des problèmes, mais je suis intéressé par des retours.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#2 Le 01/03/2020, à 10:30

lynn

Re : Interface graphique pour Devilspie

Bonjour,

Pratique ce petit programme... smile

Je note une petite coquille pour le lancement de devilspie au démarrage... l'extension .desktop en trop à la ligne 19 :

ln -s -f /usr/bin/devilspie.desktop ~/.config/autostart/devilspie.desktop    # crée le lien symbolique qui lancera automatiquement devilspie au démarrage de la session


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#3 Le 01/03/2020, à 13:16

lynn

Re : Interface graphique pour Devilspie

J'ai rencontré un problème dans le cas d'une utilisation de deux logiciels utilisant QT. L'information renvoyée par devilspie était la même :

Qt Client Leader Window

Pour différencier les fenêtres, j'ai modifié la ligne 35 en mettant en avant la classe plutôt que le nom de l'application.

list_prog=$(cat list-prog.tmp | grep -oP "(?<=Class: ').*(?='; Geometry)" | sort -u | sed -z 's/\n/!/g')

Edit :

N.B : Il faut aussi modifier à la ligne 210 le terme :

application_name

par

window_class

Dernière modification par lynn (Le 01/03/2020, à 14:50)


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#4 Le 01/03/2020, à 16:45

Christophe C

Re : Interface graphique pour Devilspie

oui, les deux (application_name, window_class) existent, mais je peine à voir clairement la différence ... et l’intérêt. mais ok, je vais creuser ça. Si cela marche mieux ...

pour le lien symbolique, que veux-tu dire ?

Et merci.

Edit : tu peux me donner tes programmes QT, je voudrais tester un devilspie -d dessus

Dernière modification par Christophe C (Le 01/03/2020, à 16:50)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#5 Le 01/03/2020, à 17:07

Christophe C

Re : Interface graphique pour Devilspie

Ceci dit, à l'usage, window_class me semble légèrement plus facile à manipuler, donc si cela passe mieux ...
J'ai mis en ligne une nouvelle version du .deb où je l'utilise selon ta proposition.

J'ai testé sur une dizaine de cas, ça semble bien marcher...

Dernière modification par Christophe C (Le 01/03/2020, à 17:08)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#6 Le 01/03/2020, à 17:17

lynn

Re : Interface graphique pour Devilspie

Christophe C a écrit :

Edit : tu peux me donner tes programmes QT, je voudrais tester un devilspie -d dessus

Virtualbox et Enpass. Les deux fenêtres en cause :

Window Title: 'Enpass Assistant'; Application Name: 'Qt Client Leader Window'; Class: 'Enpass'; Geometry: 360x400+1550+65
Window Title: 'VirtualBoxVM'; Application Name: 'Qt Client Leader Window'; Class: 'VirtualBoxVM'; Geometry: 1920x1080+0+0

«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#7 Le 01/03/2020, à 21:57

Christophe C

Re : Interface graphique pour Devilspie

oui, effectivement, ce n'est pas lisible. Ensuite c'est peut-être un problème de création. Si ça se trouve, il y a des cas où c'est application_name qui est plus précis.

Bon, enfin on y peut rien, il faut faire un choix. Quoique je pourrais aussi utiliser les 2 avec un "or" au milieu. Pour l'instant je vais rester simple smile


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#8 Le 02/03/2020, à 18:11

lynn

Re : Interface graphique pour Devilspie

La ligne

ln -s -f /usr/bin/devilspie.desktop ~/.config/autostart/devilspie.desktop

n'a pas été modifiée dans la nouvelle version... tongue


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#9 Le 03/03/2020, à 06:24

Christophe C

Re : Interface graphique pour Devilspie

Oui, mais je n'ai pas compris le problème ?


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#10 Le 03/03/2020, à 06:28

lynn

Re : Interface graphique pour Devilspie

Le fichier /usr/bin/devilspie.desktop n'existe pas... alors faire un lien dans ~/.config/autostart/ ne donnera rien.

Dernière modification par lynn (Le 03/03/2020, à 06:28)


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#11 Le 03/03/2020, à 06:58

Christophe C

Re : Interface graphique pour Devilspie

oups. Oui, c'est bloquant, comme bug. Bon je regarde cela ce soir. merci smile

Dernière modification par Christophe C (Le 03/03/2020, à 12:09)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#12 Le 03/03/2020, à 19:46

Christophe C

Re : Interface graphique pour Devilspie

Bon, c'est corrigé. Le code n'a pas changé, mais il y a désormais un devilspie.desktop, nécessaire pour démarrer devilspie en résident au lancement de la session.

Merci de la remarque smile


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#13 Le 03/03/2020, à 20:27

lynn

Re : Interface graphique pour Devilspie

Par contre, je ne comprends pas pourquoi tu places des fichiers .desktop dans /usr/bin...?

Les fichiers .desktop sont des lanceurs qui sont normalement placés dans /usr/share/applications ou en local ~/.local/share/applications.
Pour les lancements des programmes au démarrage, les fichiers sont à placer dans /etc/xdg/autostart ou en local ~/.config/autostart.

Sauf erreur de ma part, dans /usr/bin, tu as des binaires, des scripts et autres exécutables mais pas de lanceurs. tongue


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#14 Le 04/03/2020, à 08:29

Christophe C

Re : Interface graphique pour Devilspie

Oui, c'est d'ailleurs un fil que je voulais ouvrir, mais on peut en parler ici.

Il faut que je creuse, mais quand je met mes 2 fichiers .desktop dans /usr/bin/share/applications, lintian me crie des messages d'erreurs que je ne comprends pas bien. Et si je les mets dans /usr/bin/ : rien.

Donc pour l'instant j'ai mis là ou ça passe, mais je ne comprends pas bien. Il faut que je regarde encore.

Par contre je vais tester devislpie.doc dans /etc/xdg/autostart, lintian criera peut-être moins fort, et je n'aurais alors pas besoin de créer le lien symbolique.

Dernière modification par Christophe C (Le 04/03/2020, à 08:31)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#15 Le 04/03/2020, à 14:57

jibel

Re : Interface graphique pour Devilspie

@Christophe c,
Bonjour,
Je serais intéressé par ton information, du fait que perso j'ai QQs S.E. 18.04 Lts. Est-ce que tu peux montrer, avec une capture d'écran, ce qu'il se passe et comment s'affiche avec les ajouts proposés? Merci @ +  roll


Plus grande est la face, plus grand est le dos!
Toutes les fautes de frappe, d'orthographe, de grammaire et de syntaxe ci-dessus, sont la propriété intellectuelle de l'auteur. Elles doivent être reproduites et même corrigées sans l'accord préalable du susdit et toc !

Mint 17.1 Xub 1804,Voyager20.04 Debian 10.buster, MX-linux, Hybryde 14.04, Pas d'OS intermédiaire ! PC medion akira  DD 1T + 2 .

Hors ligne

#16 Le 04/03/2020, à 15:54

ylag

Re : Interface graphique pour Devilspie

Bonjour,

Christophe C a écrit :

mais quand je met mes 2 fichiers .desktop dans /usr/bin/share/applications, lintian me crie des messages d'erreurs...

C'est plutôt dans: /usr/share/applications qu'il faut mettre les fichiers *.desktop ?

A+

Hors ligne

#17 Le 04/03/2020, à 16:37

Christophe C

Re : Interface graphique pour Devilspie

Oui, voir post #14 smile

@jibel : pas de problème, mais en fait je n'ai pas bien compris ta question. Copie écran de quoi ? D'un exemple d'affichage modifié par yspie ?

Dernière modification par Christophe C (Le 04/03/2020, à 16:37)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#18 Le 04/03/2020, à 19:13

Christophe C

Re : Interface graphique pour Devilspie

Moui, placer un .desktop dans /etc/xdg/autostart directement via le paquet deb fait couiner lintian, parce que le .desktop n'est pas marqué comme un conffile, et que dans /etc/, il devrait l'être.
Sauf que s'il l'était, DPKG demanderait à chaque install si on doit changer le fichier de conf (ici le .desktop), donc non.
On peut contourner ce problème avec un script de post-install écrivant le fichier en dehors du paquet debian (c'est carrément proposé) mais cela devient gothique.
Ou alors on se fout du message d'erreur lintian (qui en pratique n’empêche pas le paquet de fonctionner), mais ce n'est pas très élégant.

voir https://www.debian.org/doc/manuals/main … #conffiles

Non, l'option /usr/share/applications me semble bien mieux, mais lintian ne veut pas, je ne comprends pas. Je vais encore tester, ou à défaut ouvrir un autre fil.

Dernière modification par Christophe C (Le 04/03/2020, à 19:13)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#19 Le 04/03/2020, à 19:34

Christophe C

Re : Interface graphique pour Devilspie

Bon, placer devilspie.desktop dans /usr/share/applications provoque bien un message d'erreur, mais il est logique et surtout l'erreur est juste "possible" (donc pas certaine, donc pas grave) :

"The desktop entry specifies a command that is not available in the package. In most cases, this is a typo or a forgotten update of the desktop file after the install location of the binary was changed. A desktop file for a command should be included in the same package as that command."

Effectivement, je crée un .desktop pour devilspie, qui est installé par ailleurs mais n'a pas de .desktop créé à l'installation. Bon, on peu ignorer ce message, je pense. C'est juste une remarque.

Dernière modification par Christophe C (Le 04/03/2020, à 19:35)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#20 Le 04/03/2020, à 19:48

Christophe C

Re : Interface graphique pour Devilspie

Finalement j'ai compris pourquoi yspie.desktop avait un problème lintian. Il y avait une ligne mimetype qui ne lui plaisait pas.

Bon j'ai regénéré le .deb, cela ne marche pas mieux, mais c'est plus propre, les .desktop sont désormais dans /usr/share/applications


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#21 Le 04/03/2020, à 20:13

lynn

Re : Interface graphique pour Devilspie

Pourquoi ne pas mettre le lanceur devilspie.desktop dans /etc/xdg/autostart ? Tu as prévu un répertoire à cet effet mais il est vide... lol


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#22 Le 05/03/2020, à 10:26

Christophe C

Re : Interface graphique pour Devilspie

je vais l'effacer, il faut encore que je révise tout le code.
Et pour ce qui est de la raison, c'est celle que j'indique : lintian considère que ce sont des conffiles qui sont dans /etc/, donc il proteste. Il devrait enlever /autostart/ de son test, mais il ne le fait pas. Donc soit j'ignore l'erreur, soit je vais dans ~/local/share/autostart. C'est ce que j'ai fait.

Dernière modification par Christophe C (Le 06/03/2020, à 08:23)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#23 Le 06/03/2020, à 08:24

Christophe C

Re : Interface graphique pour Devilspie

J'ai encore un peu nettoyé le code (deb à jour), j'attaque la création d'un man, puisque debian a pour principe de considérer que sans un man, il y a bug (marrant, chez GNU, c'est juste une reco, pas un bug - Debian est plus stricte).


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne

#24 Le 06/03/2020, à 08:47

jibel

Re : Interface graphique pour Devilspie

Salut christophe c,
Une fois que tu aura réussi , serait-ce possible de montrer le résultat? Pourquoi parce que j'ai plusieurs S.E. dont "buster" et XuB etc .. Pourquoi ne pas tenter ces ajouts dans ces S.E. ? wink merci @pluche roll


Plus grande est la face, plus grand est le dos!
Toutes les fautes de frappe, d'orthographe, de grammaire et de syntaxe ci-dessus, sont la propriété intellectuelle de l'auteur. Elles doivent être reproduites et même corrigées sans l'accord préalable du susdit et toc !

Mint 17.1 Xub 1804,Voyager20.04 Debian 10.buster, MX-linux, Hybryde 14.04, Pas d'OS intermédiaire ! PC medion akira  DD 1T + 2 .

Hors ligne

#25 Le 06/03/2020, à 12:38

Christophe C

Re : Interface graphique pour Devilspie

Si tu veux tester, tu peux télécharger le deb http://www.batraciens.net/divers/yspie.deb

Tu doubles clic, tu installes et tu tests smile

Là je pinaille, mais c'est parfaitement fonctionnel.

Dernière modification par Christophe C (Le 06/03/2020, à 12:38)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.

Hors ligne