Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

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/2018, à 22:26

Roschan

Extension Nautilus pour créer des lanceurs

Puisque j'ai l'impression que la création de fichiers .desktop est l'un des points les plus nuls de Nautilus, j'ai essayé de faire une extension pour Nautilus qui corrige un peu ce défaut : la voilà, si ça intéresse quelqu'un. Je serais en retour intéressé de savoir quel champ vous semble manquant (le but n'est pas d'être exhaustif ni de concurrencer MenuLibre, je me limite aux champs très courants, mais je n'ai certainement pas les mêmes que tout le monde)

Dernière modification par Roschan (Le 26/05/2018, à 20:23)

Hors ligne

#2 Le 26/05/2018, à 00:38

bluc

Re : Extension Nautilus pour créer des lanceurs

Genial ton truc
Je viens de faire un lanceur pour Molotov , mais si je renseigne le champs Catégorie le lanceur ne se créé pas
et contrairement a une autre discussion le lanceur apparaît dans les Applis fréquemment utilisées , je n'ai pas mis de catégorie

Merci

Dernière modification par bluc (Le 26/05/2018, à 00:59)


Clevo :  Ubuntu 18.04   ❖  Deepin 15.7  ❖ Ubuntu 18.10 avec partition data commune 
Packard Bell : lubuntu 18.10 ❖  Ubuntu 18.10 ❖ Xubuntu 18.04 avec partition data commune

Hors ligne

#3 Le 26/05/2018, à 01:18

Roschan

Re : Extension Nautilus pour créer des lanceurs

le champ catégories est un peu subtil, il faut un ; après chaque catégorie renseignée, et pas d'espace, c'est clairement un point à améliorer (quand tu dis qu'il ne se crée pas, c'est qu'il n'apparaît pas dans la grille, ou que le fichier n'existe carrément pas ?)

Hors ligne

#4 Le 26/05/2018, à 07:41

bluc

Re : Extension Nautilus pour créer des lanceurs

Je viens d'en recréer un autre et là ça fonctionne pas de probleme ..même en mettant catégorie
par contre la fenêtre de recherche de l'icone ne se ferme qu'avec le clic droit sur la barre de fenêtre mais pas ni par "Sectionner" ou "Annuler"et l'icone choisie n’apparaît pas sur la fenêtre de création du lanceur , pourtant le lanceur a bien l'icone

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Etcher
Comment=live-usb
Type=Application
Exec="/home/luc/.etcher-1.3.1-x86_64.AppImage"
Categories=Divers
Icon=/home/luc/Images/avatars logos/Etcher.png

appli.png


En tous cas c'est pratique

Dernière modification par bluc (Le 26/05/2018, à 08:00)


Clevo :  Ubuntu 18.04   ❖  Deepin 15.7  ❖ Ubuntu 18.10 avec partition data commune 
Packard Bell : lubuntu 18.10 ❖  Ubuntu 18.10 ❖ Xubuntu 18.04 avec partition data commune

Hors ligne

#5 Le 26/05/2018, à 13:17

Roschan

Re : Extension Nautilus pour créer des lanceurs

Pour les catégories, le mystère restera donc entier, mais pour les images, je pense comprendre où est le bug (je charge directement les images, sans les redimensionner, je pense que GTK n'aime pas trop), je tenterai de le reproduire (et de le corriger, bien sûr)

Dernière modification par Roschan (Le 26/05/2018, à 13:24)

Hors ligne

#6 Le 05/06/2018, à 21:56

bluc

Re : Extension Nautilus pour créer des lanceurs

Plus de probleme avec les icônes


Clevo :  Ubuntu 18.04   ❖  Deepin 15.7  ❖ Ubuntu 18.10 avec partition data commune 
Packard Bell : lubuntu 18.10 ❖  Ubuntu 18.10 ❖ Xubuntu 18.04 avec partition data commune

Hors ligne

#7 Le 05/06/2018, à 23:47

Roschan

Re : Extension Nautilus pour créer des lanceurs

normal j'ai carrément empêché qu'elle s'affichent quand c'est chargé depuis une image tongue

Hors ligne

#8 Le 06/06/2018, à 18:39

kevlar

Re : Extension Nautilus pour créer des lanceurs

Bonsoir Roschan.
Merci pour ton travail. Je n'utilise pas Nautilus, n'étant pas sous Gnome, mais utilisant un LXDE plutôt modifié, ce qui me permet de te confirmer que ton extension fonctionne bien, même en dehors de Gnome ; bravo : par exemple, j'utilise Cardapio comme menu principal, et le lanceur s'y est créé comme un charme. Je voulais te faire deux remarques :
- lorsque l'on crée l'icône, le clic sur le bouton supérieur (choisir icône dans le thème) est déroutant, car il ne réagit pas si le programme n'est pas installé dans le système (enfin il me semble, car je viens de tester ton extension sur un programme que je suis en train de développer, qui n'est donc présent qu'en local) ; en revanche, pas de problème lorsque je clique sur l'autre bouton pour choisir une icône perso.
- peut-être parce que mon programme n'est que "local" pour le moment, lorsqu'il est lancé (c'est un binaire pur C) l'icône n'est pas celle que j'ai choisie, qui apparaît pourtant correctement dans le menu système.

Pour finir, une suggestion : pourrais-tu permettre aux développeurs qui souhaitent fabriquer des paquets Debian "conformes" ,une option pour récupérer où l'on veut le fichier .desktop produit par ton extension ?
Cordialement.

Hors ligne

#9 Le 06/06/2018, à 18:52

Roschan

Re : Extension Nautilus pour créer des lanceurs

Le bouton pour choisir une icône depuis le thème ne fonctionne pas si ton thème d'icônes n'est ni dans /usr/share/icons/ ni dans ~/.local/share/icons/
Or avec LXDE il est probable que ce soit encore les normes du début des années 2000, par exemple un dossier ".icons" qui traîne dans ~/

Je n'ai pas l'intention de supporter ces archaïsmes, mais ça peut se régler chez l'utilisateur par exemple en créant un lien symbolique vers l'emplacement attendu des icônes.

Lorsque l'appli est lancée, oui c'est assez indépendant du lanceur, je ne maîtrise pas tout mais il me semble que les applications peuvent définir leur icône.

Pour finir, une suggestion : pourrais-tu permettre aux développeurs qui souhaitent fabriquer des paquets Debian "conformes" ,une option pour récupérer où l'on veut le fichier .desktop produit par ton extension ?

Si c'est pour distribuer à des utilisateurs, il vaut mieux faire des lanceurs sérieusement, avec MenuLibre ou équivalent : je ne gère que quelques champs à peine, alors que les lanceurs en ont généralement des dizaines, traduits dans plusieurs langues. Si tu veux le récupérer, il est dans ~/.local/share/applications/

Dernière modification par Roschan (Le 06/06/2018, à 18:54)

Hors ligne

#10 Le 02/12/2018, à 09:29

kholo

Re : Extension Nautilus pour créer des lanceurs

salut Roschan,
je me met doucement à Python,... donc je regarde tout ce qui traîne...
d'abord, merci pour tes partages...

j'ai installé "nautilus-launcher-creator-master", le fonctionnement est perfectible alors je vais me faire la main dessus...

sinon en lançant dialog.py à part, j'ai ce retour :

dialog.py:11: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gtk, GObject, Gio, GLib, GdkPixbuf
Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.

donc je le satisfait en ajoutant la ligne

gi.require_version('Nautilus', '3.0')
gi.require_version('Gtk', '3.0') # ICI !
from gi.repository import Gtk, GObject, Gio, GLib, GdkPixbuf

et, plus de ligne d'erreur

pour "update-and-compile-translations.sh"

IFS='
'
IFS=$'\n'
liste=`ls ./launcher-creator/locale/`

les quottes inversées sont remplacées par $( application )

liste=$( ls ./launcher-creator/locale/ )

quant au ls, sans vraiment chercher le fonctionnement du script :

#!/bin/bash

echo "Generating .pot file..."
xgettext --files-from=files-list --output=launcher-creator/locale/launcher-creator.pot

base_dir="./launcher-creator/locale"

for dossier in $base_dir/*
do
	if [ "${dossier##*/}" != "launcher-creator.pot" ]; then
		dir_out="$dossier/LC_MESSAGES"
		# echo "dossier $dir_out"

		echo "Updating translation for: $dossier"
		msgmerge $dir_out/launcher-creator.po $base_dir/launcher-creator.pot > $dir_out/launcher-creator.temp.po
		mv $dir_out/launcher-creator.temp.po $dir_out/launcher-creator.po
		echo "Compiling translation for: $dossier"
		msgfmt $dir_out/launcher-creator.po -o $dir_out/launcher-creator.mo
	fi
done

exit 0

Hors ligne

#11 Le 02/12/2018, à 15:26

Roschan

Re : Extension Nautilus pour créer des lanceurs

tu sais les traductions je m'en fous ce n'est clairement pas très intéressant à développer, tant que ça marche je ne vais pas chercher à bidouiller le script

si tu veux jouer avec du python, il y a sans doute des projets plus intéressants, ici c'est clairement du bricolage d'une grande laideur

Dernière modification par Roschan (Le 02/12/2018, à 15:35)

Hors ligne

#12 Le 02/12/2018, à 15:57

moths-art

Re : Extension Nautilus pour créer des lanceurs

Super projet avec une vrai valeur ajouté !

Alors, quelques suggestions :

- un paquet deb (si il faut, je peux te faire une proposition via pull request)
- Le formulaire par étape est déroutant : on aimerait passer d'un onglet à l'autre sans passer par les précédents.
Si tu mets ça en place, pourquoi ne pas mettre une petite coche pour identifier que cet onglet à bien été complété.
Dans la même idée : différencier "suivant" de "terminer" qui n'a pas la même conséquence.
- l'ouverture d'un fichier .desktop va créer un .desktop.desktop
- La réouverture d'un fichier .desktop devrait (idéalement) le parser et pré-remplir les champs
Perso, je retouche souvent mes desktop donc c'est pas anecdotique
- du drag and drop pour les icônes (tu peux t'inspirer de mon projet https://github.com/mothsART/fluxboxlauncher)
- dans menulibre, y'a la suggestion via une petite arbo des catégories disponibles : ça serait sympa d'avoir la même fonctionalité.
- dernier point plus subtil : les .desktop, je les édites pour faire des .deb le plus souvent et leur soucis d'édition m'oblige souvent à regenerer un paquet.
Dans ton utilitaire, les exec et icon ont des chemins absolus correspondants aux fichiers physiques.
La cerise sur le gateau serait une checkbox (empaqueté pour Debian) qui parserais le fichier .install afin de donner le chemin du fichier une fois le paquet installé.

Hors ligne

#13 Le 02/12/2018, à 16:25

Roschan

Re : Extension Nautilus pour créer des lanceurs

- l'ouverture d'un fichier .desktop va créer un .desktop.desktop
- La réouverture d'un fichier .desktop devrait (idéalement) le parser et pré-remplir les champs
Perso, je retouche souvent mes desktop donc c'est pas anecdotique

attention ce n'est pas un éditeur de fichiers .desktop, ça n'ouvre jamais rien, je m'en sers pour donner un lanceur à mes scripts et mes appimages, ce n'est pas vraiment conçu pour être un outil de développement

Hors ligne