diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..f4f3fc1 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "i3-auto-layout"] + path = i3-auto-layout + url = https://github.com/chmln/i3-auto-layout.git diff --git a/config b/config index 378d953..195385c 100644 --- a/config +++ b/config @@ -220,25 +220,25 @@ bindsym $mod+l exec --no-startup-id ~/.config/i3/i3lock-fancy-dualmonitor # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) -bar { -# status_command i3status -# status_command i3status --config ~/.config/i3/i3status.conf - -# font pango:FontAwesome, DejaVu Sans Mono 9 - font pango: Iosevka 9 - position top - status_command i3status-rs ~/.config/i3/i3status-rust.toml - colors { - separator #666666 - background #222222 - statusline #dddddd - focused_workspace #0088CC #0088CC #ffffff - active_workspace #333333 #333333 #ffffff - inactive_workspace #333333 #333333 #888888 - urgent_workspace #2f343a #900000 #ffffff - } -} +#bar { +## status_command i3status +## status_command i3status --config ~/.config/i3/i3status.conf +## font pango:FontAwesome, DejaVu Sans Mono 9 +# font pango: Iosevka 9 +# position top +# status_command i3status-rs ~/.config/i3/i3status-rust.toml +# colors { +# separator #666666 +# background #222222 +# statusline #dddddd +# focused_workspace #0088CC #0088CC #ffffff +# active_workspace #333333 #333333 #ffffff +# inactive_workspace #333333 #333333 #888888 +# urgent_workspace #2f343a #900000 #ffffff +# } +#} +exec_always --no-startup-id 'bash ~/.config/i3/polybar.sh' ## my exec --no-startup-id 'xset -b' @@ -250,9 +250,10 @@ exec --no-startup-id "setxkbmap -layout us,ru -option grp:caps_toggle" exec "compton -b -G -C -f -D30 -I0.45 -O0.45 --paint-on-overlay --unredir-if-possible --backend glx --glx-no-stencil --glx-no-rebind-pixmap --no-fading-openclose --inactive-dim-fixed --config /dev/null --vsync opengl" exec --no-startup-id "hsetroot -solid '#000000'" -exec --no-startup-id "dunst" +exec_always --no-startup-id "dunst" exec nm-applet +exec_always --no-startup-id ~/.config/i3/i3-auto-layout-run # windows managing diff --git a/dunstrc b/dunstrc index 3340ddc..b38a4c0 100644 --- a/dunstrc +++ b/dunstrc @@ -1,6 +1,6 @@ [global] monitor = 0 -follow = mouse +#follow = mouse geometry = "300x60-20+48" indicate_hidden = yes shrink = no diff --git a/i3-auto-layout b/i3-auto-layout new file mode 160000 index 0000000..c782196 --- /dev/null +++ b/i3-auto-layout @@ -0,0 +1 @@ +Subproject commit c78219641cf83530b7cdfedd9b23e46888e6ba62 diff --git a/i3-auto-layout-run b/i3-auto-layout-run new file mode 100755 index 0000000..404a589 Binary files /dev/null and b/i3-auto-layout-run differ diff --git a/polybar.conf b/polybar.conf index 8fd6a00..53af4c5 100644 --- a/polybar.conf +++ b/polybar.conf @@ -5,6 +5,8 @@ ; ; The README contains alot of information ; +; https://github.com/polybar/polybar/wiki/ +; ;===================================================== [settings] @@ -23,7 +25,7 @@ alert = #bd2c40 margin-top = 5 margin-bottom = 5 -[bar/example] +[bar/mybar] bottom = false separator = "" @@ -37,8 +39,8 @@ offset-y = 0 background = ${colors.background} foreground = ${colors.foreground} -overline-size = 2 -overline-color = #f00 +line-size = 2 +line-color = #f00 underline-size = 2 underline-color = #00f @@ -50,21 +52,23 @@ padding-right = 2 module-margin-left = 1 module-margin-right = 2 -font-0 = FontAwesome:style=Regular -font-1 = Iosevka:style=Regular -font-2 = Roboto:style=Regular -font-3 = Cantarell:style=Regular +font-0 = "JetBrainsMono Nerd Font:size=11;2" +font-1 = "JetBrainsMono Nerd Font:size=11;3" +font-2 = "JetBrainsMono Nerd Font:size=11;3" +font-3 = siji:pixelsize=12;3 +font-4 = Font Awesome 5 Free:pixelsize=9;2 +font-5 = Font Awesome 5 Free Solid:pixelsize=9;2 +font-6 = Font Awesome 5 Brands:pixelsize=11;2 +font-7 = unifont:pixelsize=12;3 +font-8 = FontAwesome:style=Regular +font-9 = PT Sans:style=Regular +font-10 = OpenSymbol:style=Regular +font-11 = Abyssinica SIL:style=Regular +font-12 = Symbola:style=Regular -;font-0 = System San Francisco Display:pixelsize=12 -;font-1 = unifont:fontformat=truetype:size=6:heavy;-2 -;font-2 = siji:pixelsize=10 -;font-3 = FontAwesome:pixelsize=12;0 -;font-4 = fixed:pixelsize=10 -;font-5 = TakaoPGothic:pixelsize=12 - -modules-left = i3 xwindow +modules-left = suspend-control i3 xwindow modules-center = -modules-right = xbacklight-acpi volume xkeyboard memory cpu wlan battery temperature date powermenu +modules-right = zoom-audio xbacklight-acpi volume xkeyboard memory cpu wlan battery temperature date powermenu tray-position = right tray-padding = 2 @@ -72,9 +76,9 @@ tray-padding = 2 ;tray-background = #0063ff ;wm-restack = bspwm -;wm-restack = i3 +wm-restack = i3 -override-redirect = true +;override-redirect = true ;scroll-up = bspwm-desknext ;scroll-down = bspwm-deskprev @@ -103,7 +107,7 @@ interval = 25 mount-0 = / mount-1 = /home -mount-2 = /invalid/mountpoint +;mount-2 = /invalid/mountpoint label-mounted = %mountpoint%: %percentage_free%% @@ -159,11 +163,11 @@ label-visible-background = ${self.label-focused-background} label-visible-underline = ${self.label-focused-underline} label-visible-padding = ${self.label-focused-padding} -; ws-icon-0 = "1;a" -; ws-icon-1 = "2;a" -; ws-icon-2 = "3;a" -; ws-icon-3 = "4;四" -; ws-icon-default = k +ws-icon-0 = "1;WWW" +ws-icon-1 = "2;Slack" +ws-icon-2 = "3;Tg" +ws-icon-3 = "4;" +ws-icon-default = k [module/mpd] type = internal/mpd @@ -204,15 +208,27 @@ bar-empty = ─ bar-empty-font = 2 bar-empty-foreground = ${colors.foreground-alt} -[module/backlight-acpi] +[module/backlight-acpi-inherit] inherit = module/xbacklight type = internal/backlight card = intel_backlight +[module/backlight-acpi] +type = internal/xbacklight +;output = HDMI-1 +enable-scroll = true +format = ramp +ramp-0 = 🌕 +ramp-1 = 🌔 +ramp-2 = 🌓 +ramp-3 = 🌒 +ramp-4 = 🌑 + + [module/cpu] type = internal/cpu interval = 2 -format-prefix = " " +format-prefix = "CPU " format-prefix-foreground = ${colors.foreground-alt} format-underline = #f90000 label = %percentage%% @@ -220,7 +236,7 @@ label = %percentage%% [module/memory] type = internal/memory interval = 2 -format-prefix = " " +format-prefix = "MEM " format-prefix-foreground = ${colors.foreground-alt} format-underline = #4bffdc label = %percentage_used%% @@ -251,7 +267,7 @@ interface = eth0 interval = 3.0 format-connected-underline = #55aa55 -format-connected-prefix = " " +format-connected-prefix = "📶 " format-connected-foreground-foreground = ${colors.foreground-alt} label-connected = %local_ip% @@ -269,7 +285,7 @@ date-alt = " %Y-%m-%d" time = %H:%M time-alt = %H:%M:%S -format-prefix =  +;format-prefix =  format-prefix-foreground = ${colors.foreground-alt} format-underline = #0a6cf5 @@ -306,9 +322,9 @@ bar-volume-empty-foreground = ${colors.foreground-alt} [module/battery] type = internal/battery -battery = BAT0 +battery = BAT1 adapter = ADP1 -full-at = 98 +full-at = 99 format-charging = format-charging-underline = #ffb52a @@ -341,8 +357,8 @@ format-underline = #f50a4d format-warn = format-warn-underline = ${self.format-underline} -label = %temperature% -label-warn = %temperature% +label = %temperature-c% +label-warn = %temperature-c% label-warn-foreground = ${colors.secondary} ramp-0 =  @@ -355,9 +371,9 @@ type = custom/menu format-spacing = 1 -label-open =  power +label-open = ⏻ power label-open-foreground = ${colors.secondary} -label-close =  cancel +label-close = ⏻ cancel label-close-foreground = ${colors.secondary} label-separator = | label-separator-foreground = ${colors.foreground-alt} @@ -378,3 +394,22 @@ menu-2-1 = cancel menu-2-1-exec = menu-open-0 ; vim:ft=dosini + +[module/zoom-audio] +type = custom/script +;exec = pactl list short | grep -e 'bluez_sink.2C_4D_79_47_42_9F.headset_head_unit[^.]' | awk '{print $NF}' || 'NORMAL' +label = 🎧 %output% +interval = 0.5 +exec = pactl list short | grep -q 'bluez_sink.2C_4D_79_47_42_9F.headset_head_unit[^.]' && echo $(pactl list short | grep -e 'bluez_sink.2C_4D_79_47_42_9F.headset_head_unit[^.]' | awk '{print "ZOOM:"$NF}') || echo 'MUSIC' +;click-left = pactl set-card-profile bluez_card.2C_4D_79_47_42_9F headset_head_unit +;click-right = pactl set-card-profile bluez_card.2C_4D_79_47_42_9F a2dp_sink +click-left = pactl list short | grep -q 'bluez_sink.2C_4D_79_47_42_9F.headset_head_unit[^.]' && pactl set-card-profile bluez_card.2C_4D_79_47_42_9F a2dp_sink || pactl set-card-profile bluez_card.2C_4D_79_47_42_9F headset_head_unit +click-right = $HOME/.config/i3/rofi-btooth + +[module/suspend-control] +type = custom/script +interval = 0.5 +exec = xset q | grep -q 'DPMS is Disabled' && echo '🔲' || echo '🔳' +click-left = xset q | grep 'DPMS is Disabled' && xset s on +dpms || xset s off -dpms + + diff --git a/polybar.conf.example b/polybar.conf.example new file mode 100644 index 0000000..8fa0051 --- /dev/null +++ b/polybar.conf.example @@ -0,0 +1,462 @@ +;========================================================== +; +; +; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ +; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ +; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ +; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ +; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ +; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ +; +; +; To learn more about how to configure Polybar +; go to https://github.com/polybar/polybar +; +; The README contains a lot of information +; +;========================================================== + + +[colors] +;background = ${xrdb:color0:#222} +;;background = #2e3440 +background = #2e3440 +background-alt = #00000000 +;foreground = ${xrdb:color7:#222} +foreground = #eceff4 +foreground-alt = #eceff4 +primary = #5E81AC +secondary = #e60053 +alert = #bd2c40 + +[bar/mybar] +;monitor = ${env:MONITOR:HDMI-1} +width = 100% +height = 30 +;offset-x = 1% +;offset-y = 1% +radius = 0.0 +fixed-center = true + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 4 +line-color = #f00 + +border-size = 4 +border-color = #00000000 + +padding-left = 0 +padding-right = 0 + +module-margin-left = 0 +module-margin-right = 0 + +font-0 = "JetBrainsMono Nerd Font:size=11;2" +font-1 = "JetBrainsMono Nerd Font:size=11;3" +font-2 = "JetBrainsMono Nerd Font:size=11;3" +font-3 = siji:pixelsize=12;3 +font-4 = Font Awesome 5 Free:pixelsize=9;2 +font-5 = Font Awesome 5 Free Solid:pixelsize=9;2 +font-6 = Font Awesome 5 Brands:pixelsize=11;2 +font-7 = unifont:pixelsize=12;3 +font-8 = FontAwesome:style=Regular +font-9 = PT Sans:style=Regular +font-10 = OpenSymbol:style=Regular +font-11 = Abyssinica SIL:style=Regular + +modules-left = i3 xwindow +modules-center = +modules-right = xkeyboard pulseaudio memory cpu wlan temperature date powermenu + +separator = " / " + +tray-position = right +tray-padding = 2 + +;tray-background = #0063ff + +;wm-restack = bspwm +wm-restack = i3 + +;override-redirect = true + +;scroll-up = bspwm-desknext +;scroll-down = bspwm-deskprev + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +cursor-click = pointer +cursor-scroll = ns-resize + + +[module/xwindow] +type = internal/xwindow +label = %title% +format-padding = 4 + +[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 + +; Separator in between workspaces +; label-separator = | + +[module/i3] +type = internal/i3 +format = +; +index-sort = true +wrapping-scroll = false + +; Only show workspaces on the same output as the bar +;pin-workspaces = true + +ws-icon-0 = 1 +ws-icon-1 = 2 +ws-icon-2 = 3 +ws-icon-3 = 4 +ws-icon-4 = 5 +ws-icon-5 = 6 +ws-icon-6 = 7 +ws-icon-7 = 8 +ws-icon-8 = 9 +ws-icon-9 = 0 + + +label-mode-padding = 2 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +label-focused = %icon% +label-focused-background = #0000 +;label-focused-underline= ${colors.primary} +label-focused-padding = 2 +label-focused-foreground = #85a7e6 + +; unfocused = Inactive workspace on any monitor +label-unfocused = %icon% +label-unfocused-padding = 2 + +; visible = Active workspace on unfocused monitor +label-visible = %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 = %icon% +label-urgent-background = #85a7e6 +label-urgent-padding = 2 + +; Separator in between workspaces +; label-separator = | + + +[module/mpd] +type = internal/mpd +format-online = + +icon-prev =  +icon-stop =  +icon-play =  +icon-pause =  +icon-next =  + +label-song-maxlen = 25 +label-song-ellipsis = true + +[module/xbacklight] +type = internal/xbacklight + +format =