Update i3 config, use polybar
parent
d40b370274
commit
f992491eeb
|
@ -1,64 +0,0 @@
|
|||
# i3status configuration file.
|
||||
# see "man i3status" for documentation.
|
||||
|
||||
# It is important that this file is edited as UTF-8.
|
||||
# The following line should contain a sharp s:
|
||||
# ß
|
||||
# If the above line is not correctly displayed, fix your editor first!
|
||||
|
||||
general {
|
||||
colors = true
|
||||
interval = 5
|
||||
}
|
||||
|
||||
#order += "ipv6"
|
||||
order += "disk /"
|
||||
#order += "run_watch DHCP"
|
||||
#order += "run_watch VPN"
|
||||
order += "wireless _first_"
|
||||
order += "ethernet _first_"
|
||||
order += "battery 0"
|
||||
|
||||
order += "cpu_temperature 0"
|
||||
cpu_temperature 0 {
|
||||
format = "T:%degrees°C"
|
||||
}
|
||||
|
||||
order += "load"
|
||||
order += "tztime local"
|
||||
|
||||
wireless _first_ {
|
||||
format_up = "☁%quality@%essid,%ip"
|
||||
format_down = "☁"
|
||||
}
|
||||
|
||||
ethernet _first_ {
|
||||
# if you use %speed, i3status requires root privileges
|
||||
format_up = "E: %ip (%speed)"
|
||||
format_down = "E"
|
||||
}
|
||||
|
||||
battery 0 {
|
||||
format = "%status %percentage %remaining"
|
||||
# hide_seconds = true
|
||||
}
|
||||
|
||||
run_watch DHCP {
|
||||
pidfile = "/var/run/dhcpcd.pid"
|
||||
}
|
||||
|
||||
run_watch VPN {
|
||||
pidfile = "/var/run/vpnc/pid"
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = "%d/%m %H:%M"
|
||||
}
|
||||
|
||||
load {
|
||||
format = "%1min"
|
||||
}
|
||||
|
||||
disk "/" {
|
||||
format = "%avail"
|
||||
}
|
43
i3/i3.nix
43
i3/i3.nix
|
@ -1,10 +1,17 @@
|
|||
{writeTextDir, writeScript, lib,
|
||||
rofi, xss-lock, nitrogen, compton-git, i3status, i3-gaps
|
||||
,i3lock-color, xset, alsaUtils, light, screenshot_public, xorg, libinput-gestures,
|
||||
haskellPackages,
|
||||
haskellPackages, polybar, procps,
|
||||
with_lock ? true, compton_name ? "default"}:
|
||||
|
||||
let
|
||||
kill-and-restart = pkg: as:
|
||||
with lib; let
|
||||
name = head (splitString " " as);
|
||||
args = concatStringsSep " " (tail (splitString " " as));
|
||||
in
|
||||
''exec_always --no-startup-id "pkill ${name}; while pgrep -x ${name} >/dev/null; do sleep 1; done; exec ${pkg}/bin/${name} ${args}"
|
||||
'';
|
||||
locker = writeScript "dlock.sh" ''
|
||||
#!/bin/sh
|
||||
revert() {
|
||||
|
@ -25,7 +32,7 @@ writeTextDir "i3-config" (''
|
|||
set $mod Mod4
|
||||
|
||||
gaps inner 5
|
||||
gaps outer 5
|
||||
# gaps outer 5
|
||||
|
||||
font pango:Source Code Pro 10
|
||||
|
||||
|
@ -77,6 +84,7 @@ bindsym $mod+Shift+Right move right
|
|||
bindsym $mod+h split h
|
||||
|
||||
# split in vertical orientation
|
||||
|
||||
bindsym $mod+v split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
|
@ -112,7 +120,7 @@ bindsym $mod+9 workspace 9
|
|||
bindsym $mod+0 workspace 10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace 1
|
||||
bindsym $mod+Shift+1 move container to workspace number 1
|
||||
bindsym $mod+Shift+2 move container to workspace 2
|
||||
bindsym $mod+Shift+3 move container to workspace 3
|
||||
bindsym $mod+Shift+4 move container to workspace 4
|
||||
|
@ -156,26 +164,16 @@ mode "resize" {
|
|||
bindsym $mod+r mode "resize"
|
||||
bindsym $mod+Escape workspace back_and_forth
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
bar {
|
||||
i3bar_command ${i3-gaps}/bin/i3bar -t
|
||||
status_command ${i3status}/bin/i3status
|
||||
colors {
|
||||
background #002b36d9
|
||||
statusline #839496
|
||||
}
|
||||
}
|
||||
|
||||
exec --no-startup-id ${nitrogen}/bin/nitrogen --restore
|
||||
exec --no-startup-id ${compton-git}/bin/compton --config /home/yorick/dotfiles/x/compton_${compton_name}.conf
|
||||
|
||||
exec_always --no-startup-id ${nitrogen}/bin/nitrogen --restore
|
||||
${kill-and-restart compton-git "compton --config /home/yorick/dotfiles/x/compton_${compton_name}.conf"}
|
||||
'' + (lib.optionalString with_lock ''
|
||||
|
||||
exec --no-startup-id ${xorg.xf86inputsynaptics}/bin/syndaemon -i 0.5 -k -t
|
||||
exec --no-startup-id ${xss-lock}/bin/xss-lock -l -- ${locker}
|
||||
exec --no-startup-id ${libinput-gestures}/bin/libinput-gestures
|
||||
exec --no-startup-id ${haskellPackages.arbtt}/bin/arbtt-capture
|
||||
${kill-and-restart xorg.xf86inputsynaptics "syndaemon -i 0.5 -k -t"}
|
||||
${kill-and-restart polybar "polybar -c /home/yorick/dotfiles/i3/polybar $(hostname)"}
|
||||
${kill-and-restart xss-lock "xss-lock -l -- ${locker}"}
|
||||
${kill-and-restart libinput-gestures "libinput-gestures"}
|
||||
${kill-and-restart haskellPackages.arbtt "arbtt-capture"}
|
||||
'') + ''
|
||||
|
||||
bindsym XF86MonBrightnessUp exec ${light}/bin/light -A 5
|
||||
|
@ -184,6 +182,9 @@ bindsym XF86AudioLowerVolume exec ${alsaUtils}/bin/amixer set Master 1%-
|
|||
bindsym XF86AudioRaiseVolume exec ${alsaUtils}/bin/amixer set Master 1%+
|
||||
bindsym XF86AudioMute exec ${alsaUtils}/bin/amixer set Master toggle
|
||||
bindsym $mod+Shift+s exec --no-startup-id ${screenshot_public}/bin/screenshot_public
|
||||
workspace_auto_back_and_forth yes
|
||||
|
||||
|
||||
hide_edge_borders smart
|
||||
for_window [class="URxvt"] border pixel 2
|
||||
new_window pixel 2
|
||||
'')
|
||||
|
|
|
@ -0,0 +1,393 @@
|
|||
;=====================================================
|
||||
;
|
||||
; To learn more about how to configure Polybar
|
||||
; go to https://github.com/jaagr/polybar
|
||||
;
|
||||
; The README contains alot of information
|
||||
;
|
||||
;=====================================================
|
||||
|
||||
[colors]
|
||||
background = #002b36
|
||||
;background = #222
|
||||
background-alt = #073642
|
||||
foreground = ${xrdb:foreground:#222}
|
||||
;foreground = #dfdfdf
|
||||
foreground-alt = ${xrdb:foreground:#555}
|
||||
primary = #ffb52a
|
||||
secondary = #e60053
|
||||
alert = #bd2c40
|
||||
|
||||
[bar/jarvis]
|
||||
monitor = eDP-1
|
||||
width = 100%
|
||||
height = 40
|
||||
;offset-x = 1%
|
||||
;offset-y = 1%
|
||||
radius = 6.0
|
||||
fixed-center = true
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 6
|
||||
line-color = #f00
|
||||
|
||||
border-size = 4
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 2
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 2
|
||||
|
||||
font-0 = FontAwesome:size=20;1
|
||||
font-1 = FiraMono:size=20;0
|
||||
|
||||
modules-left = i3 xwindow
|
||||
modules-center =
|
||||
modules-right = spotify filesystem volume backlight-acpi wlan battery temperature date
|
||||
|
||||
|
||||
tray-position = right
|
||||
tray-padding = 2
|
||||
tray-scale = 1.0
|
||||
;tray-transparent = true
|
||||
;tray-background = #0063ff
|
||||
|
||||
;wm-restack = bspwm
|
||||
;wm-restack = i3
|
||||
|
||||
;override-redirect = true
|
||||
|
||||
scroll-up = i3wm-wsnext
|
||||
scroll-down = i3wm-wsprev
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:90:...%
|
||||
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
blacklist-0 = num lock
|
||||
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-prefix-underline = ${colors.secondary}
|
||||
|
||||
label-layout = %layout%
|
||||
label-layout-underline = ${colors.secondary}
|
||||
|
||||
label-indicator-padding = 2
|
||||
label-indicator-margin = 1
|
||||
label-indicator-background = ${colors.secondary}
|
||||
label-indicator-underline = ${colors.secondary}
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
interval = 25
|
||||
|
||||
mount-0 = /
|
||||
|
||||
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
|
||||
label-unmounted = %mountpoint% not mounted
|
||||
label-unmounted-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/bspwm]
|
||||
type = internal/bspwm
|
||||
|
||||
label-focused = %index%
|
||||
label-focused-background = ${colors.background-alt}
|
||||
label-focused-underline= ${colors.primary}
|
||||
label-focused-padding = 2
|
||||
|
||||
label-occupied = %index%
|
||||
label-occupied-padding = 2
|
||||
|
||||
label-urgent = %index%!
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 2
|
||||
|
||||
label-empty = %index%
|
||||
label-empty-foreground = ${colors.foreground-alt}
|
||||
label-empty-padding = 2
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
format = <label-state> <label-mode>
|
||||
index-sort = true
|
||||
wrapping-scroll = false
|
||||
;strip-wsnumbers = true
|
||||
; Only show workspaces on the same output as the bar
|
||||
;pin-workspaces = true
|
||||
|
||||
label-mode-padding = 2
|
||||
label-mode-foreground = #000
|
||||
label-mode-background = ${colors.primary}
|
||||
|
||||
; focused = Active workspace on focused monitor
|
||||
label-focused = %index% %icon%
|
||||
label-focused-background = ${module/bspwm.label-focused-background}
|
||||
label-focused-underline = ${module/bspwm.label-focused-underline}
|
||||
label-focused-padding = ${module/bspwm.label-focused-padding}
|
||||
|
||||
; unfocused = Inactive workspace on any monitor
|
||||
label-unfocused = %index% %icon%
|
||||
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
|
||||
|
||||
; visible = Active workspace on unfocused monitor
|
||||
label-visible = %index% %icon%
|
||||
label-visible-background = ${self.label-focused-background}
|
||||
label-visible-underline = ${self.label-focused-underline}
|
||||
label-visible-padding = ${self.label-focused-padding}
|
||||
|
||||
; urgent = Workspace with urgency hint set
|
||||
label-urgent = %index% %icon%
|
||||
label-urgent-background = ${module/bspwm.label-urgent-background}
|
||||
label-urgent-padding = ${module/bspwm.label-urgent-padding}
|
||||
|
||||
ws-icon-0 = 1;
|
||||
ws-icon-1 = 2;
|
||||
ws-icon-2 = 3;
|
||||
ws-icon-default =
|
||||
ws-icon-3 = 6;
|
||||
ws-icon-4 = 7;
|
||||
;
|
||||
;
|
||||
[module/mpd]
|
||||
type = internal/mpd
|
||||
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
|
||||
|
||||
icon-prev =
|
||||
icon-stop =
|
||||
icon-play =
|
||||
icon-pause =
|
||||
icon-next =
|
||||
|
||||
label-song-maxlen = 25
|
||||
label-song-ellipsis = true
|
||||
|
||||
[module/xbacklight]
|
||||
type = internal/xbacklight
|
||||
|
||||
format = <label>
|
||||
label = %percentage%%
|
||||
format-underline = #9f78e1
|
||||
bar-width = 10
|
||||
bar-indicator = |
|
||||
bar-indicator-foreground = #ff
|
||||
bar-indicator-font = 2
|
||||
bar-fill = ─
|
||||
bar-fill-font = 2
|
||||
bar-fill-foreground = #9f78e1
|
||||
bar-empty = ─
|
||||
bar-empty-font = 2
|
||||
bar-empty-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/backlight-acpi]
|
||||
inherit = module/xbacklight
|
||||
type = internal/backlight
|
||||
card = intel_backlight
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #f90000
|
||||
label = %percentage%%
|
||||
|
||||
[module/spotify]
|
||||
type = custom/script
|
||||
exec = ~/dotfiles/i3/spotify.sh
|
||||
interval =2
|
||||
;format-underline = #FF1DB954
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = "m "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #4bffdc
|
||||
label = %percentage_used%%
|
||||
|
||||
[module/wlan]
|
||||
type = internal/network
|
||||
interface = wlp58s0
|
||||
interval = 3.0
|
||||
|
||||
format-connected =
|
||||
format-connected-underline = #9f78e1
|
||||
label-connected = %essid%
|
||||
|
||||
format-disconnected =
|
||||
;format-disconnected = <label-disconnected>
|
||||
;format-disconnected-underline = ${self.format-connected-underline}
|
||||
;label-disconnected = %ifname% disconnected
|
||||
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||
|
||||
ramp-signal-0 =
|
||||
ramp-signal-1 =
|
||||
ramp-signal-2 =
|
||||
ramp-signal-3 =
|
||||
ramp-signal-4 =
|
||||
ramp-signal-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/eth]
|
||||
type = internal/network
|
||||
interface = net0
|
||||
interval = 3.0
|
||||
|
||||
format-connected-underline = #55aa55
|
||||
format-connected-prefix = " "
|
||||
format-connected-prefix-foreground = ${colors.foreground-alt}
|
||||
label-connected = %local_ip%
|
||||
|
||||
format-disconnected =
|
||||
;format-disconnected = <label-disconnected>
|
||||
;format-disconnected-underline = ${self.format-connected-underline}
|
||||
;label-disconnected = %ifname% disconnected
|
||||
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 5
|
||||
|
||||
date =
|
||||
date-alt = " %Y-%m-%d"
|
||||
|
||||
time = %H:%M
|
||||
time-alt = %H:%M:%S
|
||||
|
||||
format-prefix =
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #0a6cf5
|
||||
|
||||
label = %date% %time%
|
||||
|
||||
[module/volume]
|
||||
type = internal/volume
|
||||
|
||||
format-volume = <ramp-volume> <label-volume>
|
||||
label-volume = %percentage%%
|
||||
label-volume-foreground = ${root.foreground}
|
||||
ramp-volume-0 =
|
||||
ramp-volume-1 =
|
||||
ramp-volume-2 =
|
||||
format-muted-prefix = " "
|
||||
;
|
||||
format-muted-foreground = ${colors.foreground-alt}
|
||||
label-muted = muted
|
||||
format-volume-underline = #55aa55
|
||||
format-muted-underline = #f5a70a
|
||||
bar-volume-width = 10
|
||||
bar-volume-foreground-0 = #55aa55
|
||||
bar-volume-foreground-1 = #55aa55
|
||||
bar-volume-foreground-2 = #55aa55
|
||||
bar-volume-foreground-3 = #55aa55
|
||||
bar-volume-foreground-4 = #55aa55
|
||||
bar-volume-foreground-5 = #f5a70a
|
||||
bar-volume-foreground-6 = #ff5555
|
||||
bar-volume-gradient = false
|
||||
bar-volume-indicator = |
|
||||
bar-volume-indicator-font = 2
|
||||
bar-volume-fill = ─
|
||||
bar-volume-fill-font = 2
|
||||
bar-volume-empty = ─
|
||||
bar-volume-empty-font = 2
|
||||
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
battery = BAT0
|
||||
adapter = ADP1
|
||||
full-at = 100
|
||||
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
format-charging-underline = #ffb52a
|
||||
time-format = %H:%M
|
||||
label-charging = %percentage%% - %time%
|
||||
label-discharging = %percentage%% - %time%
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
format-discharging-underline = ${self.format-charging-underline}
|
||||
|
||||
format-full-prefix = " "
|
||||
format-full-prefix-foreground = ${colors.foreground-alt}
|
||||
format-full-underline = ${self.format-charging-underline}
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
|
||||
ramp-capacity-foreground = ${colors.foreground-alt}
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
animation-charging-framerate = 500
|
||||
|
||||
animation-charging-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
thermal-zone = 1
|
||||
warn-temperature = 100
|
||||
|
||||
format = <ramp> <label>
|
||||
format-underline = #f50a4d
|
||||
format-warn = <ramp> <label-warn>
|
||||
format-warn-underline = ${self.format-underline}
|
||||
|
||||
label = %temperature%
|
||||
label-warn = %temperature%
|
||||
label-warn-foreground = ${colors.secondary}
|
||||
ramp-0 =
|
||||
ramp-1 =
|
||||
ramp-2 =
|
||||
ramp-3 =
|
||||
ramp-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/powermenu]
|
||||
type = custom/menu
|
||||
|
||||
format-spacing = 1
|
||||
|
||||
label-open =
|
||||
label-open-foreground = ${colors.secondary}
|
||||
label-close = cancel
|
||||
label-close-foreground = ${colors.secondary}
|
||||
label-separator = |
|
||||
label-separator-foreground = ${colors.foreground-alt}
|
||||
|
||||
menu-0-0 = reboot
|
||||
menu-0-0-exec = menu-open-1
|
||||
menu-0-1 = power off
|
||||
menu-0-1-exec = menu-open-2
|
||||
menu-0-2 = suspend
|
||||
menu-0-2-exec = systemctl suspend
|
||||
|
||||
menu-1-0 = cancel
|
||||
menu-1-0-exec = menu-open-0
|
||||
menu-1-1 = reboot
|
||||
menu-1-1-exec = reboot
|
||||
|
||||
menu-2-0 = poweroff
|
||||
menu-2-0-exec = poweroff
|
||||
menu-2-1 = cancel
|
||||
menu-2-1-exec = menu-open-0
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
;compositing-background = xor
|
||||
;compositing-background = screen
|
||||
;compositing-foreground = source
|
||||
;compositing-border = over
|
||||
|
||||
[global/wm]
|
||||
margin-top = 5
|
||||
margin-bottom = 5
|
||||
|
||||
; vim:ft=dosini
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/sh
|
||||
#Spotify
|
||||
spotify_status(){
|
||||
current_track=$(playerctl -p spotify metadata xesam:title)
|
||||
album=$(playerctl -p spotify metadata xesam:artist)
|
||||
echo -e $album" - " $current_track
|
||||
}
|
||||
|
||||
spotify_control(){
|
||||
current_status=$(playerctl -p spotify status)
|
||||
if echo $current_status | grep -q "Playing"
|
||||
then echo "%{F#FF1DB954}%{A:i3-msg [class=Spotify] focus:}%{A}%{F-} %{A:playerctl -p spotify previous:} %{A}%{A:playerctl -p spotify play-pause:} $(spotify_status) %{A}%{A:playerctl -p spotify next:} %{A}"
|
||||
elif echo $current_status | grep -q "Paused"
|
||||
then echo "%{F#FF1DB954}%{A:i3-msg [class=Spotify] focus:}%{A}%{F-} %{A:playerctl -p spotify previous:} %{A}%{A:playerctl -p spotify play-pause:} $(spotify_status) %{A}%{A:playerctl -p spotify next:} %{A}"
|
||||
fi
|
||||
}
|
||||
|
||||
spotify_control
|
|
@ -121,7 +121,7 @@
|
|||
sha256 = "0h4nzx46kcsp6b1i2lm9y4d1w1icrpvjl8g1h3wbpa5x4crh4703";
|
||||
};
|
||||
});
|
||||
|
||||
polybar = pkgs.polybar.override {i3GapsSupport = true; githubSupport = false;};
|
||||
|
||||
yscripts = pkgs.callPackage ../dotfiles/bin {};
|
||||
|
||||
|
@ -138,6 +138,8 @@
|
|||
xorg.xrandr
|
||||
pavucontrol
|
||||
light nitrogen
|
||||
# wpa_supplicant_gui
|
||||
xclip siji fira-mono playerctl font-awesome-ttf
|
||||
];
|
||||
scripts = mkEnv "y-scripts" [
|
||||
peageprint
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../../i3/.config/i3
|
Loading…
Reference in New Issue