OcLaunch, launch automagically

Posté par  (site Web personnel) . Édité par palm123, Benoît Sibaud et ymz. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
18
22
avr.
2015
Bureautique

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.

logo

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

  • # Bien, mais presque « lapin compris ! »

    Posté par  (site Web personnel) . Évalué à 10. Dernière modification le 23/04/15 à 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 :

    • Se lance automatiquement à chaque ouverture de session de terminal.
    • Utilise une liste de « tâches », dont la manipulation (ajout/retrait) est pensée pour être simple et rapide (notamment avec un GUI, si j'ai bien compris).
    • Lance à chaque appel (donc à chaque ouverture de terminal) les « tâches » comprises dans sa liste.

    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  (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  . Évalué à -10. Dernière modification le 23/04/15 à 09:36.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Commentaire supprimé

      Posté par  . Évalué à -10. Dernière modification le 23/04/15 à 11:23.

      Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Commentaire supprimé

      Posté par  . Évalué à -10.

      Ce commentaire a été supprimé par l’équipe de modération.

      • [^] # Re: Mercatique et innovation

        Posté par  (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 ?

        Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

        • [^] # Commentaire supprimé

          Posté par  . Évalué à -10. Dernière modification le 23/04/15 à 15:20.

          Ce commentaire a été supprimé par l’équipe de modération.

          • [^] # Commentaire supprimé

            Posté par  . Évalué à -10. Dernière modification le 23/04/15 à 18:07.

            Ce commentaire a été supprimé par l’équipe de modération.

          • [^] # Commentaire supprimé

            Posté par  . Évalué à -10. Dernière modification le 23/04/15 à 20:09.

            Ce commentaire a été supprimé par l’équipe de modération.

  • # gnein ?

    Posté par  . É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  (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)

      • À chaque ouverture du terminal, la liste est affichée.
      • C’est assez pénible à l’usage : ça prend la moitié de l’écran, c'est assez long de lancer sans cesse la commande (particulièrement avec d’autres commandes plus longues ou au milieu d'une session avec un tas de choses qui tournent) et surtout lassant (en affichant 100 fois par session la liste de choses à faire, on ne la lis plus dès le deuxième affichage et c’est donc contre-productif)

      Avec OcLaunch

      • On peux ajouter task à la liste d'OcLaunch, la liste de tâches est affichée une fois et aux lancements suivants d'un terminal, rien.
      • On peut bien sûr rappeler la liste par son numéro avec oclaunch 0 (0 puisqu'elle est seule dans notre exemple).
      • On peut en plus afficher par thème (par exemple task +rdv pour afficher les rendez-vous, puis task ls pour afficher une liste minimale) puis… plus rien, on laisse l’utilisateur en paix.
      • C’est plus rapide à l’usage, mais surtout plus efficace : on ajoute autant de programmes que l'on veut alors que on ne peux pas mettre plus d’une commande dans la bashrc au risque de ne pas voir sa sortie et d’aggraver le problème de lenteur.

      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  (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  (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 à ceux qui les ont postés. Nous n’en sommes pas responsables.