Comments (5)
This was proposed as a separate widget in #534, which resulted in a simple watch
recipe: awesomeWM/awesome-www#167
Does that satisfy your use case?
from lain.
I think it does. Closing for inactivity. Feel free to comment back if you want to resume the conversation.
from lain.
Hi, thank you for the advice. It would be nice to have something like that integrated into lain
to let it work transparently, independently from puplse/pipewire.
Here is my custom widget, which might be useful for somebody
-- pipewire
local volume = wibox.widget{
markup = '[?]',
align = 'center',
valign = 'center',
widget = wibox.widget.textbox
}
local volume_update = function()
local cmd = [[pactl get-sink-volume @DEFAULT_SINK@ | cut -s -d/ -f2,4; pactl get-sink-mute @DEFAULT_SINK@]]
awful.spawn.easy_async_with_shell(cmd, function(stdout, stderr, reason, exit_code)
local values = {}
for v in stdout:gmatch("(%d+%%)") do table.insert(values, v) end
local value = "N/A";
if ((#values == 2) and (values[1] == values[2])) then value = values[1] end
if (#values == 1) then value = values[1] end
local muted = string.find(stdout, "Mute: yes")
local color = muted and '#FF0000' or '#00FFFF'
volume.markup = string.format("[%s] ", markup.fg.color(color, value))
end)
end
local volume_timer = gears.timer {
timeout = 5,
call_now = true,
autostart = true,
callback = volume_update
}
from lain.
Thank you for sharing your custom recipe.
It would be nice to have something like that integrated into
lain
to let it work transparently, independently from puplse/pipewire.
To satisfy your request, we could simply add a check, and then switch between the standard widget, or a variant similar to your recipe.
But this would create a catch-them-all approach, which goes against the simplicity principle I try to follow.
This is the rationale behind removing some lain widgets in favor of recipes, which are more maintainable.
My suggestion: if you have to switch between pulse
and pipewire
, then it's easy to implement the logic above in your configurations.
Otherwise, just use the widget you need.
from lain.
I also tried a "pipewire bar" widget like the alsabar and pulsebar here.
from lain.
Related Issues (20)
- Floor division requires Lua > 5.2 HOT 2
- Centerwork layout not keeping first client in center HOT 3
- Unaligned calendar with locale that has shorter day abbreviations then 3 letters
- I can't get the mpd widget working properly (and/or guidance needed). HOT 22
- We need a test suite HOT 4
- [Feature Request] Layout like Qtile's RatioTile
- util.quake: how to toggle Alacritty when class_id is not set HOT 3
- util.quake:toggle() stopped working HOT 1
- Is there a way to just `quake:show()` instead of toggling?
- setup github action to automatically publish to luarocks HOT 6
- openweathermap api request use lat and lon instead of city id
- Do not use global variables HOT 3
- [Net widget] auto-detect new interfaces (Wifi dongles, USB tethering...) within net_update / through another timer
- Quake clients windows not shown on rofi HOT 1
- Add format for fs widget
- the layout calendar lain widget HOT 2
- [Question] Memory widget doesn't take shared memory into account HOT 1
- Support for 40-80 rule? HOT 1
- Question about show ip thanks HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lain.