Journal Utiliser i3blocks pour avoir un walkman pilotable à la souris dans i3

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
9
31
jan.
2020

Tout à l’heure, j’étais parti pour lire un article de blog quand ma radio (Internet) principale s’est mise à passer un titre que je n’aime vraiment pas. J’ai donc repris mon clavier, sauté la chanson, et décidé que, prendre le clavier pour si peu, c’est excessif.

J’ai donc codé vite fait un petit script qui, pour ceux qui utilisent conjointement i3blocks et mpc, permet de transformer la barre de statut en walkman, version flat design (à ma décharge, faire des ombrages avec i3 requiert plus de travail qu’un printf()).
Je me suis dis que je pouvais aussi bien le partager ici, même si c’est perfectible :

#!/bin/sh

btn_type="${1:-"error unknown option $1"}"
which mpc 2>/dev/null >/dev/null || btn_type="error mpc not found"

case "$btn_type" in
    "prev")
        ACT="prev"
        TXT="[<<]\n[<<]\n#ffff00\n"
        ;;
    "next")
        ACT="next"
        TXT="[>>]\n[>>]\n#ffff00\n"
        ;;
    "play")
        ACT="toggle"
        if mpc | grep '^\[playing\]' -q >/dev/null 2>/dev/null
        then
            TXT='[||]\n[||]\n#0000ff\n'
        else
            TXT='[|>]\n[|>]\n#00ff00\n'
        fi
        ;;
    "stop")
        ACT="stop"
        TXT="[S]\n[S]\n#ff0000\n"
        ;;
    *)
        #TODO: write the fucking manual
        TXT="wtfm $btn_type\n$btn_type\n#ff0000\n"
        ;;
esac

test -n "$BLOCK_BUTTON" && mpc $ACT >/dev/null 2>/dev/null

printf "$TXT"
  • # Merci !

    Posté par  . Évalué à 1.

    Je connaissais pas i3block, ça a l'air sympa. Merci!

  • # commande vocale?

    Posté par  . Évalué à 3.

    Si tu ne voulais pas "prendre le clavier", n'était-ce pas plus pertinent de coder un truc pour passer la chanson sur un mot clé énoncé verbalement?

    Je dis-ça je dis rien moi quand je lis un article j'ai de toute façon tendance à avoir le clavier dans les mains pour scroller et accéder rapidement au pageup/pagedown. L'article tient rarement sur un seul écran.

    • [^] # Re: commande vocale?

      Posté par  . Évalué à 3.

      Bonnes remarques.

      n'était-ce pas plus pertinent de coder un truc pour passer la chanson sur un mot clé énoncé verbalement?

      Bof. Mon bricolage me permets de savoir si la musique que j'écoute est celle qui viens de mpd ou d'un onglet en arrière-plan (le "bouton" pause/play, même si ça a ses limites) et c'est utilisable au bureau, contrairement à des commandes vocales.

      Je dis-ça je dis rien moi quand je lis un article j'ai de toute façon tendance à avoir le clavier dans les mains pour scroller et accéder rapidement au pageup/pagedown. L'article tient rarement sur un seul écran.

      Perso, la molette me suffit. Et mon navigateur me permets nativement d'utiliser juste la souris (sans avoir a aller chercher un bouton ou menu quelconque, j'entend, hein… sinon ils le font tous, j'imagine…) pour un tas de trucs. Du coup, en «mode lecture», le clavier est plus une gêne qu'autre chose.
      Le seul truc que je regrette, c'est le fait qu'il faille choisir entre le buffer sélection de X11 et le «scroll mode» que j'utilisais quand j'étais sous windows, ça, j'avoue, ça me manque. Me semble qu'Opera 12 (et moins) permettais de config ça, mais bon… J'imagine que je pourrais créer un mouvement de souris pour le remplacer…

      • [^] # Re: commande vocale?

        Posté par  . Évalué à 1.

        Tu dois être un des seuls personne qui utilise i3 et préfère utiliser la souris pour scoller une fenêtre…

        • [^] # Re: commande vocale?

          Posté par  . Évalué à 3. Dernière modification le 03/02/20 à 21:35.

          Ceux qui supportent pas la souris, ils utilisent pas i3, qui implémente le support des fenêtres flottantes, mais un truc plus adapté a leurs envies, genre… ratpoison.

          D'ailleurs, si c'étais le cas, i3blocks aurais jamais été codé, un de ses avantages principaux étant de supporter la souris sur la barre de statut.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.