#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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#2 Le 01/03/2020, à 10:30
- lynn
Re : Interface graphique pour Devilspie
Bonjour,
Pratique ce petit programme...
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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#6 Le 01/03/2020, à 17:17
- lynn
Re : Interface graphique pour Devilspie
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
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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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...
«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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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
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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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
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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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.
«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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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 @ +
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 21.1,Voyager20.04 et 22.04,Ubuntu 22.04,Emmabuntus 1.Buster, Debian 12.buster, Hybryde 14.04, Pas d'OS intermédiaire ! PC Medion AKOYA DD 1T + 2 .
En ligne
#16 Le 04/03/2020, à 15:54
- ylag
Re : Interface graphique pour Devilspie
Bonjour,
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
@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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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...
«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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
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. ? merci @pluche
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 21.1,Voyager20.04 et 22.04,Ubuntu 22.04,Emmabuntus 1.Buster, Debian 12.buster, Hybryde 14.04, Pas d'OS intermédiaire ! PC Medion AKOYA DD 1T + 2 .
En 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
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.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne