better media controls

This commit is contained in:
zoe 2023-03-19 13:04:39 +01:00
parent 073a106a9b
commit 1df303e298
3 changed files with 32 additions and 22 deletions

View File

@ -115,7 +115,10 @@ in
k = "exec --no-startup-id python3 /etc/nixos/i3/volume.py 5%+";
m = "exec --no-startup-id amixer set Master toggle";
n = "exec --no-startup-id amixer set Capture toggle";
p = "exec --no-startup-id playerctld shift";
space = "exec python3 /etc/nixos/i3/play_pause.py";
l = "exec playerctl next";
h = "exec playerctl previous";
};
move = {
Escape = "mode default";

View File

@ -1,5 +1,8 @@
{ pkgs, ... }: {
imports = [ ./mainbar.nix ];
home-manager.users.zoe.programs.i3status-rust = { enable = true; };
home-manager.users.zoe.programs.i3status-rust = {
enable = true;
package = pkgs.unstable.i3status-rust;
};
}

View File

@ -1,64 +1,68 @@
{ config, ... }: {
{ config, ... }:
let
music = {
block = "music";
format = "$play $player {$combo.str(max_w:25,rot_interval:0.5)|}";
};
in
{
home-manager.users.zoe.programs.i3status-rust.bars.main = {
blocks = [
# music
{
block = "music";
buttons = [ "prev" "play" "next" ];
hide_when_empty = true;
}
music
# audio in
{
block = "sound";
device_kind = "source";
format = "{volume}";
format = "$icon";
driver = "pulseaudio";
on_click = "amixer set Capture toggle";
step_width = 1;
}
# audio out
{
block = "sound";
format = "{volume}";
format = "$icon $volume";
driver = "pulseaudio";
headphones_indicator = true;
on_click = "amixer set Master toggle";
step_width = 1;
}
# brightness
{
block = "backlight";
}
# network
{
block = "networkmanager";
ap_format = "{ssid} {strength}";
device_format = "{icon} {name} {ap}";
block = "net";
# ap_format = "{ssid} {strength}";
format = "$icon $ssid";
}
# battery
{
block = "battery";
format = "{percentage}";
hide_missing = true;
interval = 120;
}
# time
{
block = "time";
format = "%a %d/%m %R";
format = "$icon $timestamp.datetime(f:%R)";
timezone = "Europe/Berlin";
interval = 60;
locale = "de_DE";
}
];
icons = "material-nf";
settings = {
icons = {icons = "material-nf";};
theme = {
name = "gruvbox-light";
theme = "gruvbox-light";
overrides = {
separator = "";
separator = " ";
# background
good_bg = "#${config.color.background}";
good_bg = "#${config.color.background}";
critical_bg = "#${config.color.background}";
idle_bg = "#${config.color.background}";
info_bg = "#${config.color.background}";