Wyrd, l'agenda en console

Magazine
Marque
Linux Pratique
Numéro
76
Mois de parution
mars 2013
Spécialité(s)


Résumé
Vous débarquez sous Linux et vous êtes perdu dans la masse des solutions de planning pour cette plateforme ? Vous avez de mauvais souvenirs d'Outlook et visez un changement radical ? Vous n'avez pas d'interface graphique, mais des rendez-vous à honorer et il vous faut un assistant ? Si la ligne de commandes ne vous effraie pas, alors Wyrd est fait pour vous. Interface graphique en ncurses à Remind, elle offre beaucoup d'options de ce dernier...

Body

1. Introduction

Pourquoi Wyrd ? « Because you’re tired of waiting for your bloated calendar program to start up. » C'est en tout cas la raison majeure donnée par les concepteurs de Wyrd. Difficile en effet de faire plus rapide que l'exécution d'une application en console !

Au milieu des années 90, dans la foulée du développement d'un système d'exploitation autour du noyau Linux, un passionné inventa Remind, simple commande pour organiser ses rendez-vous et appeler une liste de ceux-ci au jour voulu, le tout sans interface graphique.

Wyrd est justement une sorte d'interface graphique pour Remind. Si le nombre de commandes possibles est plus restreint que dans Remind, les deux logiciels partagent le même fichier pour consigner les rendez-vous, ce qui permet de les utiliser alternativement sans souci.

2. Installation

Wyrd est présent dans les dépôts des distributions les plus courantes. Pour les Debian-like, en console et en root, tapez :

apt-get install wyrd

Ce qui installera Wyrd et Remind.

Dans le Software Center et dans Synaptic, il suffit de chercher Wyrd, de le cocher pour installation et de laisser le logiciel installer les éventuelles dépendances nécessaires.

3. Interface

Il y a deux manières d'utiliser Wyrd et Remind. Directement en ligne de commandes (on utilise alors Remind seul) ou avec l'interface en ncurses. Nous développerons l'usage de cette dernière. Pour ouvrir Wyrd, placez-vous dans une console et tapez :

wyrd

Une fenêtre en quatre volets s'affiche (Fig. 1). En haut à droite, un calendrier miniature permet de situer le jour consulté dans le mois. En-dessous du calendrier, on trouve la liste des événements prévus pour le jour en question et qui n'ont pas d'horaire attribué. À gauche, on a le calendrier détaillé des jours. Enfin, en-dessous de ces panneaux, une zone détaille les rendez-vous correspondant à la position du curseur dans l'agenda, avec la description et les heures de début et de fin, ainsi que l'heure actuelle.

Pour se déplacer d'un volet à l'autre, on utilise les flèches de direction. Pour les habitués de Vim, les touches [h], [j], [k] et [l] marchent également. Dans la vue détaillée de l'agenda, la touche [z] permet de choisir entre différents niveaux de zoom (heure, demi-heure ou quart d'heure).

generale-wyrd

Fig. 1 : Bien qu'en ncurses, l'interface de Wyrd est intuitive. On navigue naturellement d'un compartiment à l'autre à l'aide des flèches de direction, ou bien des lettres [h],[j],[k] et [l], comme dans Vim.

4. Utilisation

Une fois les contrôles de base bien en main, on peut créer un rendez-vous. Pour cela, allez dans le panneau du planning ou dans celui des événements sans horaire, puis tapez sur la touche [Entrée].

Un éditeur de texte s'ouvre alors (par défaut, l'éditeur défini comme $EDITOR dans votre environnement, Vim ou Nano le plus souvent). La structure basique d'un rendez-vous se présente sur une ligne comme suit (Fig. 2) :

REM Nov 25 2012 AT 10:00 DURATION 2:00 MSG Courses en ville

REM démarre la ligne et indique une nouvelle entrée dans le registre des rendez-vous. Suit la date, puis l'heure de départ (après AT), la durée (après DURATION) et enfin, la nature du rendez-vous (ou message, après MSG).

L'ajout d'une heure de départ fera figurer le rendez-vous dans le panneau de gauche de l'interface en ncurses, tandis que l'absence d'une heure de départ le fera figurer dans le panneau de droite.

Une fois l'événement édité, sautez une ligne à la fin du fichier (afin que le rendez-vous suivant démarre bien sur une nouvelle ligne). Vous pouvez placer le symbole dièse (#) en début de ligne pour désactiver un rendez-vous, comme vous neutraliseriez une entrée de fichier de configuration.

Quittez ensuite l'éditeur de la même manière que si vous y accédiez en dehors de Wyrd. Voilà ! Pour quitter Wyrd, il suffit de taper [q] pour revenir à l'invite de commande de l'émulateur de terminal.

reminders-wyrd

Fig. 2 : L'édition des rendez-vous se fait dans un simple fichier texte. Comme dans les fichiers de configuration, pour masquer une entrée sans la détruire, on peut ajouter le symbole dièse (#) en début de ligne.

Semaine et mois en tableau

Dans Wyrd, on n'est pas obligé de consulter ses rendez-vous du jour uniquement : il existe aussi une vue par semaine et une vue par mois. Néanmoins, ce mode de visualisation ne permet pas d'éditer les rendez-vous existants ou d'en ajouter de nouveaux.

Dans la fenêtre principale, appuyez sur la touche [c] pour afficher une vue par semaine. Un tableau liste alors les rendez-vous en utilisant une colonne par jour. Pratique pour voir en un clin d’œil l'étendue de ce qui vous attend, ou isoler les jours les plus agités.

Pour afficher une vue par mois, dans l'interface principale, tapez la touche [C].

Dans les deux cas, pour retourner à la fenêtre principale, tapez [q].

semaine-wyrd

Wyrd peut produire une vue par semaine et une vue par mois en tapant respectivement [c] et [C]. La touche [q] ramène à la fenêtre principale.

5. Importation et exportation des données

Par le passé, le paquet rem2ps permettait de produire une sortie PostScript des calendriers dans leur forme graphique. Apparemment, le paquet en question ne donne plus signe de vie dans les principales distributions.

Actuellement, de base, Wyrd n'inclut pas de solution pour exporter ses rendez-vous. En revanche, le site web consacré au projet fournit un script qui permet de convertir le fichier des rendez-vous en fichier .ics (iCalendar). De cette façon, les rappels peuvent être intégrés dans Google Calendar, Apple Calendar (ex-iCal), Lotus Notes ou encore Lightning, l'extension de planning pour Thunderbird/Icedove.

Pour l'importation, il existe un script, ical2rem, pour effectuer l'opération inverse.

Répétition d'événements

Dans Wyrd, toute particularité de date est bonne pour établir une répétition : nombre de jours, jour de la semaine, mois, année, ou même phase de la lune ! Voyons un exemple simple de répétition d'un événement chaque lundi :

REM Monday FROM Nov 25 2012 AT 10:00 DURATION 2:00 MSG Courses en ville

L'ajout de Monday après REM indique le jour de répétition et l'option FROM détermine la date de début de la répétition. Dans ce cas, Wyrd prendra le premier lundi situé après le 25 novembre 2012, soit le 26, et le rendez-vous sera répété ad æternam.

D'autres exemples plus pointus sont détaillés dans la page de manuel de Remind. On peut notamment exclure certains jours dans l'intervalle donné, ou encore invoquer le énième jour de semaine d'un mois en particulier.

6. Configuration

Toute la configuration de Wyrd tient dans un fichier de votre répertoire personnel, .wyrdrc. Si celui-ci n'existe pas, le logiciel se réfère à /etc/wyrdrc ou à /usr/local/etc/wyrdrc, selon les installations.

On y décide des raccourcis clavier de l'interface ncurses, des couleurs des différents éléments, mais aussi de l'éditeur de texte à utiliser pour éditer un nouveau rendez-vous ou un rendez-vous existant (variables set edit_*_command="${VISUAL:-'*'}, l'éditeur étant à renseigner après VISUAL pour les rendez-vous existants, les nouveaux rendez-vous et l'édition d'un fichier de rendez-vous donné).

Un réglage pratique pour les francophones :

set week_starts_monday="true"

Pour démarrer les semaines du mini-calendrier au lundi et non au dimanche, comme paramétré par défaut.

D'autres réglages s'avèrent utiles, comme afficher les numéros des semaines :

set number_weeks="true"

ou encore spécifier la largeur du panneau de droite, donc l'aspect général de l'interface :

set untimed_window_width="40"

(par défaut, en nombre de caractères), voire définir le comportement du curseur (libre par défaut, ou toujours au centre de l'écran) :

set center_cursor="false"

Une fois vos modifications effectuées, sauvez le fichier .wyrdrc. Les changements dans l'interface ncurses sont immédiats.

Conclusion

Nous avons passé en revue les aspects principaux de l'utilisation de l'agenda Wyrd. Par sa nature, il consomme peu de ressources et répond immédiatement. On regrettera néanmoins l'absence de calendriers partagés. Mais pour une utilisation personnelle, sa versatilité et sa configurabilité en font un compagnon indispensable, sinon alternatif aux plugins de Thunderbird/Icedove et autres suites comme Evolution ou Kontact avec KOrganizer.

Pour aller plus loin

- Le site de Wyrd. On y trouve notamment un manuel au format PDF (moins austère que la page de manuel !) : http://pessimization.com/software/wyrd/

- Le site de Remind (le wiki donne de nombreuses indications sur des cas d'utilisation de Remind et par extension de Wyrd ou encore tkremind, une autre interface graphique à Remind) : http://www.roaringpenguin.com/products/remind

- La page web consacrée à ical2rem, un script pour importer ses rendez-vous dans Wyrd : http://www.offensivethinking.org/projects/ical2rem/

- La page Launchpad pour rem2ics : https://launchpad.net/rem2ics/

- Une présentation en diapositives au sujet de Remind (on y apprend les origines du programme) : http://www.roaringpenguin.com/files/download/remind-oclug.pdf

- La page de manuel de Remind est accessible depuis la console (man remind). C'est un puits d'astuces pour programmer encore plus finement ses rendez-vous !




Article rédigé par

Par le(s) même(s) auteur(s)

Le dessin assisté par ordinateur sous Linux avec LibreCAD et FreeCAD

Magazine
Marque
Linux Pratique
Numéro
74
Mois de parution
novembre 2012
Spécialité(s)
Résumé
En architecture ou en mécanique, les logiciels de dessin assisté par ordinateur en 2D et en 3D sont indispensables. À côté des poids lourds du secteur comme CATIA, AutoCAD ou SolidWorks, il existe des alternatives pour Linux. Petit tour d'horizon de quelques fonctionnalités de LibreCAD pour la 2D et de FreeCAD pour la 3D.

I3, le « tiling window manager » pour tous

Magazine
Marque
Linux Pratique
Numéro
74
Mois de parution
novembre 2012
Spécialité(s)
Résumé

Et si vous utilisiez un gestionnaire de fenêtres minimaliste, comme les power users ? Mais vous vous dites qu'il faut apprendre un langage de programmation pour le configurer, que cela prend un temps fou... Qu'à cela ne tienne, i3 est un gestionnaire avec des fichiers de configuration en langage naturel et aux raccourcis clavier intuitifs. Présentation de la version 4.2.

Quod Libet, la gestion musicale à votre image

Magazine
Marque
Linux Pratique
Numéro
73
Mois de parution
septembre 2012
Spécialité(s)
Résumé
Votre collection de musique dépasse allègrement les dix mille titres, et vous êtes confronté à un dilemme : quel gestionnaire musical choisir ? Vous composez avec les défauts des uns et des autres... Quod Libet vous laisse gérer votre musique à votre manière, sans sacrifier la rapidité.

Les derniers articles Premiums

Les derniers articles Premium

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Programmation des PIO de la Raspberry Pi Pico

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

La carte Pico de Raspberry Pi est appréciable à bien des égards. Ses ressources, son prix, ses deux cœurs ARM... Mais ce morceau de silicium qu'est le RP2040 renferme une fonctionnalité unique : des blocs PIO permettant de créer librement des périphériques supplémentaires qu'il s'agisse d'éléments standardisés comme SPI, UART ou i2c, ou des choses totalement exotiques et très spécifiques à un projet ou un environnement donné. Voyons ensemble comment prendre en main cette ressource et explorer le monde fantastique des huit machines à états de la Pico !

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous