URI:
       ## title: A Transient menu for qBittorrent
       ## date: "2026-03-30"
       
       ## Introduction
       
       I often use qBittorrent and I usually manage my files with
       Emacs, especially my torrent files. One day, while in Dired,
       I noticed I had some unused torrent files. I wanted to mark
       them and then use a command to start the downloads, but I
       realized that this feature didn’t exist. So I had the idea
       to create an Emacs package that would provide an ELisp API
       to communicate with the qBittorrent CLI.
  HTML qBittorrent
       
       ## My goal
       
       The goal is to have a simple, intuitive Emacs user interface
       to communicate with the official qBittorrent CLI and allow
       me to pass torrent files to qBittorrent from Dired.
       
       ## Using Transient
       
       Transient is an Emacs library specialized in creating menus
       for keyboard users. Using Transient will allow me to create
       a menu for composing a qBittorrent command line, handling
       the configuration and the actions to be performed.
  HTML Transient
       
       ## API Overview
       
       The Emacs package is called qbittorrent-transient. It exposes
       customizations in a group of the same name, as well as
       functions and commands. The main entry point is the
       qbittorrent-transient command, which provides access to the
       Transient menu for qBittorrent. Below are the main Emacs
       commands.
       
       /qbittorrent-transient-commands.png
   IMG /qbittorrent-transient-commands.png
       
       ## Results
       
       I’m satisfied with the result; it allows me to pass files
       marked with Dired to qBittorrent, which was my main goal.
       Here’s what the Transient menu looks like.
       
       /qbittorrent-transient.png
   IMG /qbittorrent-transient.png
       
       ## Contributing
       
       Anyone is free to contribute to the source code available at
       GitHub repository.
  HTML GitHub repository
       
       ## Conclusion
       
       This was a rewarding project to work on; I still love ELisp,
       which allowed me to create an Emacs user interface that is
       easy and pleasant to use.