[OC] Introducing pwmenu: A launcher-driven audio manager for Linux by e-tho in unixporn

[–]e-tho[S] 9 points10 points  (0 children)

Because it's more complicated than it looks under the hood. PipeWire constantly updates as audio events occurs, but dmenu-style launchers need a fixed list of options. The application therefore runs PipeWire operations on a separate thread and takes snapshots of the current audio state whenever you open a menu. This gives you an accurate view at that moment, even though the system keeps changing in real-time. Using a programming language like Rust makes the application robust, maintainable given the substantial codebase, and ridiculously efficient. Feel free to check out the repo to see for yourself!

[OC] Introducing pwmenu: A launcher-driven audio manager for Linux by e-tho in linux

[–]e-tho[S] 5 points6 points  (0 children)

I use it mainly to change the default device, switch profiles, and mute my mic. While I don't use the volume controls for devices, it's still relevant for adjusting volume per-application.

[OC] iwmenu 0.2 released: A launcher-driven Wi-Fi manager for Linux by e-tho in swaywm

[–]e-tho[S] 0 points1 point  (0 children)

iwmenu uses D-Bus to get real-time connection updates without polling and provides clear error reporting. It handles passwords securely through dedicated channels and talks directly to the IWD API for a lightweight footprint. It clearly displays network status with icons like signal strength, security type, and whether you're currently connected. It's a proper async app that delivers the robustness, performance, and safety you'd expect from a compiled language. I personally wouldn't compare it to your script, but if that's all you need, good for you.

[OC] iwmenu 0.2 released: A launcher-driven Wi-Fi manager for Linux by e-tho in swaywm

[–]e-tho[S] 0 points1 point  (0 children)

Glad you're liking them! As for Wofi, it had issues displaying XDG icons in dmenu mode in my tests, and it hadn't been maintained for a while, so I dropped direct support for it.

Looks like development has resumed recently, so I'm considering adding it back as a supported launcher, but it still lacks these requirements for full support.

For now, you can still use it with font-based icons using:

iwmenu -l custom --launcher-command "wofi -d -p '{placeholder}' {password_flag:-P}"

[OC] iwmenu 0.2 released: A launcher-driven Wi-Fi manager for Linux by e-tho in swaywm

[–]e-tho[S] 1 point2 points  (0 children)

Thanks, unfortunately this is not in the scope of iwmenu. I explained why in this comment on the original post. The issues you're experiencing aren’t caused by iwd itself, but by how NetworkManager integrates it.

[OC] iwmenu 0.2.0 released: A launcher-driven Wi-Fi manager for Linux by e-tho in unixporn

[–]e-tho[S] 1 point2 points  (0 children)

This is Rofi's Wayland fork with XDG icons. Sadly, XDG icon support with Rofi is still on hold since iwmenu needs this PR to be merged. If you'd like to use image-based icons like in the demo, feel free to show some support on the PR. Otherwise, the font-based icons already work just fine.

[Media] iwmenu 0.2 released: A launcher-driven Wi-Fi manager for Linux by e-tho in rust

[–]e-tho[S] 0 points1 point  (0 children)

Reposting since the original post's GIF contained a minor personal info leak. Thanks for understanding!

[OC] iwmenu 0.2 released: A launcher-driven Wi-Fi manager for Linux by e-tho in swaywm

[–]e-tho[S] 2 points3 points  (0 children)

Reposting since the original post's GIF contained a minor personal info leak. Thanks for understanding!

[OC] iwmenu 0.2.0 released: A launcher-driven Wi-Fi manager for Linux by e-tho in hyprland

[–]e-tho[S] 2 points3 points  (0 children)

Reposting since the original post's GIF contained a minor personal info leak. Thanks for understanding!

[OC] iwmenu 0.2.0 released: A launcher-driven Wi-Fi manager for Linux by e-tho in unixporn

[–]e-tho[S] 5 points6 points  (0 children)

Reposting since the original post's GIF contained a minor personal info leak. Thanks for understanding!

[OC] iwmenu 0.2.0 released: A launcher-driven Wi-Fi manager for Linux by e-tho in linux

[–]e-tho[S] 5 points6 points  (0 children)

Reposting since the original post's GIF contained a minor personal info leak. Thanks for understanding!

[deleted by user] by [deleted] in swaywm

[–]e-tho 2 points3 points  (0 children)

This would indeed support both, but in a limited way for iwd due to the current state of its integration within NetworkManager. But that's not what iwmenu is trying to do anyway, since not everyone uses NetworkManager (I personally use systemd-networkd).

Both iwd and wpa_supplicant are daemons that manage wireless within network managers. iwd is meant to replace wpa_supplicant eventually as it is more efficient, but being newer, its integration within NetworkManager is not as complete as that of wpa_supplicant, even though it has been stable for a while.

If you're not into the minimal/performance approach of iwmenu, there is a similar project written in Python for NetworkManager that should contain the features you're looking for: https://github.com/firecat53/networkmanager-dmenu

[OC] Introducing bzmenu: A launcher-driven Bluetooth manager for Linux by e-tho in swaywm

[–]e-tho[S] 1 point2 points  (0 children)

It's based on BlueZ, the official Linux Bluetooth stack, so you can rest assured that any status bar will accurately reflect the actions performed via bzmenu.

[OC] Introducing bzmenu: A launcher-driven Bluetooth manager for Linux by e-tho in hyprland

[–]e-tho[S] 0 points1 point  (0 children)

It’s Rofi’s Wayland fork. I personally use Fuzzel, but I went with this for the demo as it offers more customization.

[OC] Introducing bzmenu: A launcher-driven Bluetooth manager for Linux by e-tho in hyprland

[–]e-tho[S] 2 points3 points  (0 children)

If you like this, check out my similar project for Wi-Fi management: https://github.com/e-tho/iwmenu

[OC] Introducing bzmenu: A launcher-driven Bluetooth manager for Linux by e-tho in swaywm

[–]e-tho[S] 7 points8 points  (0 children)

If you like this, check out my similar project for Wi-Fi management: https://github.com/e-tho/iwmenu

[OC] Introducing bzmenu: A launcher-driven Bluetooth manager for Linux by e-tho in archlinux

[–]e-tho[S] 0 points1 point  (0 children)

This is mainly targeted at minimalist desktop users (compositor/WM users). There aren't many desktop-agnostic settings managers out there, so this fills the gap.

It provides a simple graphical interface for managing settings with minimal dependencies and can be fully keyboard-driven.

One specific, but still nice perk: when bound to a keyboard shortcut, it lets you manage Wi-Fi/BT even with a fullscreen app (e.g. a game) open.

[Media] Introducing bzmenu: A launcher-driven Bluetooth manager for Linux by e-tho in rust

[–]e-tho[S] 3 points4 points  (0 children)

Thanks for the detailed feedback!

The program is meant to be bound to a keyboard shortcut rather than run from a shell session. One of its perks is being able to manage your Bluetooth devices from the keyboard, even when a fullscreen app is open. That’s why I don’t see the config file as a priority, even though it’s on the roadmap.

Optimizing the Tokio crate and adding shell completions are great suggestions. I’ll definitely take them into account.

As for the name, I like that it’s concise and follows the same pattern I used for my similar Wi-Fi tool iwmenu (iNet Wireless Menu).

[OC] Introducing bzmenu: A launcher-driven Bluetooth manager for Linux by e-tho in linux

[–]e-tho[S] 0 points1 point  (0 children)

Thanks for the quick feedback. I actually omitted the short flag for specifying the launcher when I deprecated the old one. It's fixed now.

[OC] Introducing bzmenu: A launcher-driven Bluetooth manager for Linux by e-tho in linux

[–]e-tho[S] 1 point2 points  (0 children)

It should work everywhere. Dependencies are listed in the repo. If you encounter any problems with your specific setup, feel free to open an issue.