-
Notifications
You must be signed in to change notification settings - Fork 471
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Future block ideas #715
Comments
From my point of view, |
Although both |
I would vote for a "all-in-one" solution. Personally, I hate the hassle that I have to maintain several external scripts which are "just" called by From the list in the initial issue, I would be very interested in some of the blocks and could imagine to contribute (for) some of them. |
Do you have any scripts that aren't covered by anything from the list in the first post and are general enough to be useful for others? If so please list those up as well. |
I think a collection of simple/common uses of the Custom block (shell one-liners, basically) would be a great addition to the documentation. We could potentially re-jig |
Hey @ammgws, could you update your first comment to add that the |
I hope it's ok to add a suggestions in this thread. Firefox and Chrome have a "Sharing Indicator", this results with no additional configuration with a sharing indicator becoming a tiling-window. I believe it would be nice to have configuration that omits the sharing-indicator window itself in sway + an additional status item in i3dstatus that will be visible once the sharing indicator id shows up in the swaytree. An alternative to using the sharing-indicator of Firefox we could add a "audio recording" indicator to Adding some similar functionality for the webcam is not trivial until we have pipewire though, unless OK, webcam sharing indicator works fairly simple, here an example (and I hope not to resource consuming): (example requires #!/usr/bin/env bash
set -ueo pipefail
if fuser /dev/video* >/dev/null; then
icon="music_play"
state="Critical"
text="Rec"
else
icon=""
state="Idle"
text=""
fi
cat - <<EOF
{
"icon": "${icon}",
"state": "${state}",
"text": "${text}"
}
EOF
and the same for audio #!/usr/bin/env bash
set -ueo pipefail
if [ -n "$(pactl list source-outputs short)" ]; then
icon="microphone_full"
state="Critical"
text="Rec"
else
icon=""
state="Idle"
text=""
fi
cat - <<EOF
{
"icon": "${icon}",
"state": "${state}",
"text": "${text}"
}
EOF
In addition I'm using
to hide the Firefox Sharing Indicator since there is no proper way of minimizing/hiding windows in swaywm. Though an better alternative to this is adding this to your userChrome.css #webrtcIndicator {
display: none;
} |
|
I have been thinking about creating a |
Hi, I would like to have a trayicon holder block or at least something that lets me use nextcloud. |
@ObiWahn tray icons are not managed by You can of course use a
(The unicode codepoint is an Icon from NF, you might have to change/remove it) |
Block idea: a [[block]]
block = "menu"
text = "\uf011 "
[[block.items]]
display = "-> Power Off <-"
cmd = "poweroff"
[[block.items]]
display = "-> Sleep <-"
cmd = "systemctl suspend" A prototype: rec.mp4 |
Looks good! |
I'd love to see a block with IO usage, of course I can run an external command but spawning external commands takes up resources. |
Hello, im new to Open Source Development and Rust and wanted to know a good first PR to tackle. Any recommendation? |
A tuned switcher (via dbus) |
It would be nice if the custom component would support the waybar JSON format. There are a bunch of stuff that could be used from there and from custom modules. |
Custom can be used for clickable buttons. But it does always require a command option even if you don't use it. [[block]]
block = "custom"
command = "/run/current-system/sw/bin/false"
format = " "
[[block.click]]
button = "left"
cmd = "/nix/store/92rdwiipzag7bix2fzdirxqm41x5dwfn-wlogout-1.2.2/bin/wlogout" Suggestion: Make command optional or add a button block. |
You can just set command = "echo <button label>"
interval = "once" I'm not sure it is worth making |
Took a quick look at some other status line generators and listed up their blocks to see what ones might be good to implement ourselves. Of interest to me are blocks that use DBus/i3 IPC/etc since we can write those natively to get asynchronously updating blocks and no calls to external programs.
Note that there are a lot of simple blocks here that could be handled by the
custom
block, especially those that just call external programs, so I don't see the advantage of adding those into the Rust codebase since there's no performance gains etc to be made. However we could look into the idea of having contributed configs for the custom block either in the repo or wiki or somewhere. Another idea could be allowing for modules/blocks from other status line generators to be able to be imported/used directly in i3status-rust.From bumblebee-status:
aptwe have pacman already, so I guess we could have this tooDone in #943dnfdunsthostnamehttp_statuskernelmocpmusic
block (assuming mocp has MPRIS interface)pingexamples/README.md
)redshiftsystemxkcdexamples/README.md
)From py3status:
do_not_disturbgetjsonhueshiftkdeconnectorscreenshotexamples/README.md
)unameexamples/README.md
)whoamiFrom i3blocks:
dunstgpu-loadgoshutdown_menuOthers
#762:
The text was updated successfully, but these errors were encountered: