J'ai commencé à écrire il y a un an déjà une petit programme en ligne de commande qui répond au besoin suivant : lancer progressivement (tout au long d'une session) des programmes, avec un ajout/retrait de la liste aussi aidé et rapide que possible.
Génèse du projet
L’idée de base était d’afficher régulièrement une liste de tâches avec Taskwarrior.
Après coup, on se rend compte que ça peut servir à programmer des tâches pour un prochain démarrage (finir de télécharger la dernière distribution à la mode, compresser un dossier, planifier une mise à jour…) ou à utiliser aisément un client en ligne de commande (par exemple profanity ou irssi).
L’avantage par rapport au simple ajout de la commande dans le bashrc, c’est qu’on ouvre son terminal une première fois, le client de clavardage (par exemple) s’affiche et au deuxième lancement, pas de nouvel affichage, on peut travailler.
Fonctionnalités actuelles
- Ajout aisé de programmes (graphiques ou en ligne de commande) par envoi sur l’entrée standard de la commande ou édition du fichier de configuration
- Liste des programmes actuels
- Suppression très facile
- Fichier de configuration alternatif
- Installation facile avec 0install & simple ajout de la commande
oclaunch
au bashrc
S’approprier le programme
J'attends vos retours avec impatience ! Je serai ravi d’ajouter des fonctionnalités (il y a déjà une bonne TODO list, si vous voulez participer). Contactez-moi par courriel par exemple leowzukw CHEZ vmail POINT me
Le logiciel est bien entendu libre (licence CeCILL) et hébergé chez Tuxfamily. Merci à eux !
Aller plus loin
- Page d’accueil (515 clics)
- Quelques cas d'usages (287 clics)
- Dépot sur Gitlab (78 clics)
- Démonstration vidéo dans ce dossier (253 clics)
# Bien, mais presque « lapin compris ! »
Posté par vlamy (site web personnel) . Évalué à 10. Dernière modification le 23 avril 2015 à 09:16.
Merci pour cette dépêche !
Un ptit commentaire pour dire qu'il m'a fallu bien 10 minutes, parcourir l'ensemble des liens de journal, regarder tous les exemples, relire la dépêche, pour comprendre ce que faisait OcLaunch. Et encore, j'ai des doutes :)
Je ne critique pas la présentation, car c'est très dur de présenter un outil qui propose une fonctionnalité nouvelle, c.-à-d. sans pouvoir se comparer à un autre outil.
Pour résumer (tu me diras si j'ai bien tout compris), OcLaunch :
Question : Est-ce qu'il faut supprimer explicitement une tâche de la liste (tâche persistante), ou est-ce fait automatiquement après son appel (tâche type « run only once ») ?
[^] # Re: Bien, mais presque « lapin compris ! »
Posté par leowzukw (site web personnel) . Évalué à 3.
Si un point en particulier n'est pas clair, je suis naturellement ouvert à toute proposition d'explication.
Effectivement, OcLaunch lance à chaque ouverture du terminal un des éléments de la liste, dans l'ordre. C'est ainsi que je l'utilise. Comme il s'agit d'un simple appel de la commande, on peut imaginer lancer manuellement (
oclaunch
) ou utiliser une tâche cron, un script quelconque…Pour l'ajout pensé aussi simple que possible, c'est tout à fait ça. (Il n'y a juste pas de GUI en dehors de ton éditeur de texte préféré ;-))
Il faut pour le moment supprimer explicitement (
oclaunch -d <numéro de la tâche, facultatif si on veut retirer la dernière>
).L'idée est que pour une utilisation quotidienne, on lance toujours un certains nombre de programme, la liste n'évolue pas (tâche persistante).
On pourrait imaginer cependant qu'une option de la configuration permette à terme de supprimer automatiquement.
PS : J'ai ajouté la demande de fonctionnalité à la TODO liste
# Commentaire supprimé
Posté par Anonyme . Évalué à -10. Dernière modification le 23 avril 2015 à 09:36.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -10. Dernière modification le 23 avril 2015 à 11:23.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -10.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Mercatique et innovation
Posté par lolop (site web personnel) . Évalué à 0.
Je ne vois pas le rapport entre le fait d'avoir une seule valeur en sortie et le fait de ne pas introduire d'effet de bord. QQ'un peut expliquer ?
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -10. Dernière modification le 23 avril 2015 à 15:20.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -10. Dernière modification le 23 avril 2015 à 18:07.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -10. Dernière modification le 23 avril 2015 à 20:09.
Ce commentaire a été supprimé par l’équipe de modération.
# gnein ?
Posté par neilux . Évalué à 6.
Pourrais-tu donner d'autres exemples d'utilisation d'OcLaunch en faisant une espèce de comparaison avec un déroulement sans OcLaunch ? Parce que pour le lancement du client de messagerie je ne saisis pas du tout l'intérêt à part économiser une opération de lancement d'un programme…
L'objectif est-il de ne lancer que des terminaux et finalement ça lance une par une les opérations que tu as planifié ?
[^] # Re: gnein ?
Posté par leowzukw (site web personnel) . Évalué à 6.
C’est tout à fait l’objectif, en tout cas tel que je ne m’en sers actuellement principalement que comme ça. Si tu as d'autres idées, n’hésite pas !
L’intérêt pour le client de messagerie, dont la commande est assez courte pour être tapé à chaque fois peut effectivement sembler limité.
Je vais reprendre l’exemple du site avec Taskwarrior, puisque c’est ce programme qui m’a amené à développer le logiciel.
En ajoutant dans le bashrc la commande
task
, qui affiche une liste des tâches (j'avais commencé comme ça)Avec OcLaunch
task
à la liste d'OcLaunch, la liste de tâches est affichée une fois et aux lancements suivants d'un terminal, rien.oclaunch 0
(0 puisqu'elle est seule dans notre exemple).task +rdv
pour afficher les rendez-vous, puistask ls
pour afficher une liste minimale) puis… plus rien, on laisse l’utilisateur en paix.PS : J'espère que cet explication rend les choses plus claires. Si tel est le cas, je pourrais l'ajouter au site web, ça en aidera plus d'un.
# Intéressant mais quelques limites
Posté par Simon (site web personnel) . Évalué à 1.
Projet intéressant.
Je vois cependant plusieurs limites :
- pour lancer une application graphique, tu dois passer par l'ouverture d'un xterm
- tu es vite limité par la création d'une seule liste de "tâches". Imaginons que tu veuilles préparer des environnements de travail par bureau virtuel, comment fais-tu ?
Sans parler de difficulté de configuration, je me suis déjà penché sur cette dernière question et j'ai trouvé une solution avec xdotool (exemple). Cependant, Je suis conscience que ce n'est pas tout à fait ce que tu proposes :)
[^] # Re: Intéressant mais quelques limites
Posté par leowzukw (site web personnel) . Évalué à 1.
Comme je l'ai indiqué dans les commentaires précédant, OcLaunch peut-être utilisé à peu près partout, c'est une simple commande, même si le plus pratique semble être une application type xterm.
Il n'y a pas de limitation de liste de tâche. Je ne l'ai pas indiqué dans la dépêche mais on peu passer un fichier de configuration de la commande en argument
oclaunch -c <le fichier>
. On peut ainsi avoir plusieurs fichiers de configuration et donc plusieurs listes. C'est une fonctionnalité assez récente qui doit être améliorée mais ça marche à peu près. Par ailleurs, le programme pourrait tirer partit du contexte (bureau virtuel, activités dans KDE…).Je ne connaissait pas
xdotool
mais c'est effectivement beaucoup plus lourd à configurer. Par contre, les possibilités semblent plus importantes.Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.