How to Use the Command 'wofi' (with Examples)
- Linux
- December 17, 2024
Wofi is a lightweight and highly customizable application launcher designed for wlroots-based Wayland compositors. It serves as a modern alternative to popular launchers like rofi
and dmenu
, providing a sleek user interface to streamline searching and launching applications, executing commands, and creating custom menus via piping.
Use Case 1: Showing the List of Applications
Code:
wofi --show drun
Motivation:
In environments where graphics and visual smoothness are paramount, having a quick and effective way to launch applications is crucial. That’s where wofi --show drun
proves invaluable. By providing a straightforward and efficient method to navigate and select installed applications, it caters to minimalists and power users alike who want to streamline accessing their software toolkit without the need for a full graphical application menu.
Explanation:
wofi
: This is the command to invoke the wofi application launcher.--show drun
: This option tells wofi to display (show) the “drun” mode, which lists desktop applications installed on the system. The “drun” mode essentially searches for .desktop files that conform to the XDG Desktop Entry specification, commonly found in Linux environments, allowing users to launch them via a quick GUI.
Example Output:
Upon executing the command, a window will pop up listing installed applications. It could look something like this:
➤ Firefox
Terminal
LibreOffice Writer
Spotify
GIMP
You can type to narrow down choices and press Enter to launch the selected application.
Use Case 2: Showing the List of All Commands
Code:
wofi --show run
Motivation:
For users who appreciate the power of the command line but occasionally prefer the speed of graphical interfaces, executing wofi --show run
is a perfect middle ground. It enables users to execute any command without leaving the comfort of a visual interface, thereby balancing the robustness of terminal-based commands with the simplicity of a GUI launcher. This is particularly beneficial for running scripts or programs by entering commands that aren’t represented by desktop files.
Explanation:
wofi
: This is the command initiator for the application launcher.--show run
: Activating the “run” mode, this option allows users to enter and execute arbitrary commands. Unlike “drun,” which is limited to predefined desktop entries, “run” accommodates any command or script that would normally be run in a terminal.
Example Output:
The output is a simple window with a text input field where you can start typing any command. For example:
Enter command:
You could type firefox
to launch the Firefox browser, and the action would be identical to typing it into a terminal.
Use Case 3: Piping a List of Items and Selecting One
Code:
printf "Choice1\nChoice2\nChoice3" | wofi --dmenu
Motivation:
The need for customized menus is frequent in scripting and automation. Using wofi --dmenu
, one can create an interactive menu from a custom list of choices. This is invaluable for scripts or user interfaces that require a selection from predefined options, ensuring flexibility and custom behavior in GUI applications. It provides a simple yet dynamic way to receive user input without needing to build complex UIs.
Explanation:
printf "Choice1\nChoice2\nChoice3"
: This command generates a newline-separated list of items, effectively creating input options for wofi to display.|
: This symbol represents a pipe, which directs the output from theprintf
command directly into the input of thewofi
command.wofi --dmenu
: The--dmenu
option converts wofi into a text-based menu application, mimicking the style and functionality of tools likedmenu
. It takes input from standard input (stdin) and outputs the selected choice to standard output (stdout).
Example Output:
This command results in a menu with the options “Choice1,” “Choice2,” and “Choice3.” When you select an option and press Enter, the choice is printed to stdout; for example:
Choice2
If “Choice2” was selected, this would be the resulting output, making it available for subsequent scripting logic.
Conclusion:
Wofi is a versatile and efficient application launcher ideal for users in Wayland environments looking to streamline application access and command execution. Whether enabling quick access to installed applications via --show drun
, providing a command execution GUI with --show run
, or facilitating custom user interactions via --dmenu
, wofi offers dynamic functionality tailored to a range of user needs.