Messages : 3,199
Sujets : 49
Inscription : Feb 2016
Réputation :
72
Système d'exploitation:
Distribution(s) Linux: opensuse tumbleweed
21-06-22, 15:10
(Modification du message : 21-06-22, 15:31 par jpverrue.)
Chez moi j'ai toujours un luarc qui contient :
Code : -- Scripts LUA à inclure
require "yield"
require "fnav"
require "passport_guide"
Le lien entre les deux semble se faire via yield. Mais je n'utilise pas d'autre script donc je ne suis pas sûr de moi. J'ai fait l'installation via script manager il y a longtemps, pour voir ; ça avait l'air de fonctionner.
Comment vérifier aujourd'hui si ça fonctionne toujours ?
J'ai vérifié, ça fonctionne toujours.
Explication :
J'avais un exemplaire du script "passport_guide.lua" directement dans le dossier lua, appelé via la ligne du fichier luarc 'require "passport_guide"'. Or dans le dossier lua/contrib il y a presque exactement le même script (seuls deux commentaires sont différents).
J'ai donc supprimé la ligne du luarc et contrôlé que le format spécial passeport existait toujours dans la liste déroulante du module recadrer. Et c'est bien le cas. Donc les scripts du script manager sont bien appelés ainsi que le script fnav.
Messages : 1,123
Sujets : 51
Inscription : Jun 2016
Réputation :
15
Système d'exploitation:
Distribution(s) Linux: Ubuntu 22.04
21-06-22, 15:52
(Modification du message : 21-06-22, 17:35 par manu.)
Merci pour la réponse @jpverrue, mais sur ma conf ça ne fonctionne pas. Je pense que tu n'as pas nécessairement le dernier dossier lua sur ta conf.
En regardant la dernière vidéo de Nicolas Winspear sur le quicktagging, je me suis rendu compte que je n'avais pas le script_manager comme on le voit sur sa conf.
J'ai un peu cherché et trouvé ce guide pour installer script_manager.
Mais ça n'a pas fonctionné, j'avais une erreur que j'ai reportée sur le github dt.
Et la réponse donnée par wpferguson était : tu vires luarc et le dossier lua et tu as le script_manager. Et c'est effectivement bien comme ça que j'ai maintenant le script_manager et moult scripts LUA. C'est un peu aussi à se demander à quoi sert la doc avec le guide d'installation du script_manager...
Mais du coup, ton script que j'utilisais tout le temps pour accéder directement au dossier des photos en cours d'édition (via F9 chez moi) n'était plus là, j'ai donc complété luarc avec les require précédents et remis les scripts correspondants dans le dossier lua.
Mais j'ai systématiquement l'erreur :
Code : 5,034948 LUA ERROR : ./tools/script_manager.lua:427: attempt to concatenate a nil value (local 'category')
Et c'est bien lié à "yield.lua" et/ou "fichiers.lua" (équivalent de ton fnav), il me suffit de les supprimer du dossier lua pour que script_manager re-apparaisse.
dt stable / Ubuntu 22.04
Messages : 3,199
Sujets : 49
Inscription : Feb 2016
Réputation :
72
Système d'exploitation:
Distribution(s) Linux: opensuse tumbleweed
Merci pour ton complément d'information. En effet, je n'avais pas la dernière version de script manager.
J'ai fait l'essai en ajoutant 'require "fnav"' au nouveau luarc sans succès : le script manager ne se lance plus.
Par contre, en enlevant la ligne que j'avais ajoutée à luarc et plaçant le fichier fnav.lua dans le dossier lua/contrib, là tout fonctionne : les scripts installés par script manager ainsi que fnav qui apparaît dans la liste des scripts contrib.
Je vais compléter le script pour qu'il soit compatible avec les autres (commentaires, etc.)
Tu me dis qu'il existe un autre script qui fait le même boulot dans le script manager ? Moi, je ne l'ai pas. Peux-tu m'en dire un peu plus ?
Messages : 1,123
Sujets : 51
Inscription : Jun 2016
Réputation :
15
Système d'exploitation:
Distribution(s) Linux: Ubuntu 22.04
Excellent, effectivement en mettant le seul "fichiers.lua" dans lua/contrib; "fichiers" est maintenant listé dans les "start/stop scripts" et après l'avoir activé, la fonction est bien retrouvée.
Merci @jpverru !
fichiers.lua n'est pas un autre script, c'est fnav.lua renommé.
dt stable / Ubuntu 22.04
Messages : 3,199
Sujets : 49
Inscription : Feb 2016
Réputation :
72
Système d'exploitation:
Distribution(s) Linux: opensuse tumbleweed
Reste à faire attention lors d'éventuelles mises à jour que le fichier ne disparaisse pas.
Messages : 3,199
Sujets : 49
Inscription : Feb 2016
Réputation :
72
Système d'exploitation:
Distribution(s) Linux: opensuse tumbleweed
22-06-22, 21:15
(Modification du message : 22-06-22, 21:17 par jpverrue.)
@manu :
J'ai repris le script pour l'adapter au système "script manager". Le but serait de l'inclure directement dedans. Chez moi ça fonctionne, mais peux-tu tester STP ?
Le voici en source directe. (j'aurais voulu le compresser et le mettre en pièce jointe, mais pas moyen sur le forum).
Code : --[[
file_manager.lua - launch file manager in photo directory with a shortcut
Copyright (C) Jean-Pierre Verrue <contact@jpverrue.fr>.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
]]
--[[
file manager - launch file manager in photo directory with a shortcut
INSTALLATION
* copy this file in $CONFIGDIR/lua/ where CONFIGDIR is your darktable configuration directory
* add the following line in the file $CONFIGDIR/luarc
require "fnav"
USAGE
* configure this script :
* set a shortcut in preferences->shortcut->lua
* set file manager path in preferences->lua options
* set file manager options in preferences->lua options
* select a photo
* type your shortcut
* after use dont forget to close file manager window !
]]
local dt = require "darktable"
local du = require "lib/dtutils"
-- module name
local MODULE_NAME = "file_manager"
du.check_min_api_version("7.0.0", MODULE_NAME)
-- return data structure for script_manager
local script_data = {}
script_data.destroy = nil -- function to destory the script
script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet, otherwise leave as nil
script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again
-- OS compatibility
local PS = dt.configuration.running_os == "windows" and "\\" or "/"
-- translation
local gettext = dt.gettext
gettext.bindtextdomain(MODULE_NAME, dt.configuration.config_dir..PS.."lua"..PS.."locale"..PS)
local function _(msgid)
return gettext.dgettext(MODULE_NAME, msgid)
end
dt.preferences.register("file_manager", "file_manager_options",
"string", _("options"), (_"file manager options"), "")
dt.preferences.register("file_manager", "file_manager_path",
"string", _("file manager"), _("file manager full path"), "")
local function file_manager_shortcut(event, shortcut)
local images = dt.gui.action_images
local image_path = string.gsub(tostring(images[1].path), '"', '\\"')
local file_manager_path = dt.preferences.read("file_manager", "file_manager_path", "string")
local file_manager_options = dt.preferences.read("file_manager", "file_manager_options", "string")
local command = file_manager_path.." "..file_manager_options..' "'..image_path..'"'
dt.print_log("command="..command)
dt.control.execute(command)
end
dt.register_event("file_manager", "shortcut", file_manager_shortcut,
_("launch file manager"))
-- end of script --------------------------------------------------------------
-- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua
-- kate: hl Lua;
Ce qu'il reste à faire : les traductions des 3 chaines de caractères dans le fichier ad hoc et regarder comment il faut faire pour le publier.
Au passage, j'ai tout renommé de file navigator vers file manager. C'est un peu mieux ;-) Du coup le nom du script est pour moi "file-manager.lua"
Messages : 1,123
Sujets : 51
Inscription : Jun 2016
Réputation :
15
Système d'exploitation:
Distribution(s) Linux: Ubuntu 22.04
@jpverrue, oui ce script "file-manager.lua" fonctionne également sur ma config.
Quelles seraient les 3 chaînes de caractères à traduire (en DE, FR, IT, PT si je m'en tiens au dossier locale) ?
dt stable / Ubuntu 22.04
Messages : 3,199
Sujets : 49
Inscription : Feb 2016
Réputation :
72
Système d'exploitation:
Distribution(s) Linux: opensuse tumbleweed
23-06-22, 10:19
(Modification du message : 23-06-22, 10:24 par jpverrue.)
En fait il y en a 5. Les voilà :
|en|fr|
|--|--|
|options|options|
|file manager options|options pour le gestionnaire de fichiers|
|file manager|gestionnaire de fichier|
|file manager full path|chemin complet pour le gestionnaire de fichier|
|launch file manager|lancer le gestionnaire de fichiers|
J'ai mis l'anglais et le français dans un tableau Markdown mais l'éditeur du forum n'a pas l'air de comprendre...
Ça devrait donner ça ;-)
Messages : 1,123
Sujets : 51
Inscription : Jun 2016
Réputation :
15
Système d'exploitation:
Distribution(s) Linux: Ubuntu 22.04
OK, je devrais pouvoir fournir les "file-manager.po" dans les langues précitées, à mettre dans lua/locale, mais le problème réside pour moi dans leur validation, car même en remplaçant la ligne de ton script :
Code : gettext.bindtextdomain(MODULE_NAME, dt.configuration.config_dir..PS.."lua"..PS.."locale"..PS)
par ce que qu'on trouve par exemple dans script_manager.lua:
Code : gettext.bindtextdomain(MODULE_NAME,dt.configuration.config_dir.."/lua/locale/")
Les traductions n'apparaissent pas dans dt.
La version fr_FR à mettre, a priori, dans ~/.config/darktable/lua/locale/fr_FR/LC_MESSAGES.
Sinon, je pense que dans l'entête de ton script LUA, tu peux rajouter une section :
AUTHOR
ton nom (ton mail)
LICENCE
la licence Open Source de ton choix (GPLv2 par exemple).
dt stable / Ubuntu 22.04
Messages : 3,199
Sujets : 49
Inscription : Feb 2016
Réputation :
72
Système d'exploitation:
Distribution(s) Linux: opensuse tumbleweed
Effectivement, les traductions n'apparaissent pas. Mais peut-être est-ce qu'elles ne fonctionnent que sur l'interface principale, pas sur l'interface de la fenêtre de préférences. Ce qui me fait penser à ça, c'est que le message "lua script installer dont show again" n'est pas traduit (au moins chez moi).
Pour la section AUTHOR, je l'ai justement supprimée pour me conformer aux scripts que j'ai (honteusement) copiés. Je vais la remettre ;-)
|