literate-dotfiles/polybar.org

972 lines
24 KiB
Org Mode
Raw Normal View History

2019-01-31 09:41:03 +01:00
#+TITLE: Polybar Configuration
2021-01-01 20:12:34 +01:00
#+SETUPFILE: ./setup/org-setup-file.org
2019-12-30 17:21:56 +01:00
#+PROPERTY: header-args :comments no
2019-01-31 09:41:03 +01:00
#+PROPERTY: header-args+ :mkdirp yes
2022-02-06 21:47:16 +01:00
#+PROPERTY: header-args+ :tangle ~/.config/polybar/config.ini
2019-01-31 09:41:03 +01:00
* Colors
#+begin_src conf
[colors]
bg = ${xrdb:background}
red = ${xrdb:color1}
green = ${xrdb:color2}
yellow = ${xrdb:color3}
blue = ${xrdb:color4}
purple = ${xrdb:color5}
aqua = ${xrdb:color6}
gray = ${colors.color7}
darkgray = ${colors.color8}
darkred = ${xrdb:color9}
darkgreen = ${xrdb:color10}
darkyellow = ${xrdb:color11}
darkblue = ${xrdb:color12}
darkpurple = ${xrdb:color13}
darkaqua = ${xrdb:color14}
fg = ${xrdb:foreground}
2019-01-31 09:41:03 +01:00
#+end_src
* VM
#+begin_src conf
[global/wm]
margin-top = 0
margin-bottom = 0
2019-01-31 09:41:03 +01:00
#+end_src
* Top Bar
#+BEGIN_SRC conf
[bar/top]
enable-ipc = true
2021-10-25 14:25:31 +02:00
# override-redirect = false
bottom = false
fixed-center = false
2019-01-31 09:41:03 +01:00
width = 100%
height = 27
radius = 0.0
2019-01-31 09:41:03 +01:00
background = ${colors.bg}
foreground = ${colors.fg}
2019-01-31 09:41:03 +01:00
line-size = 2
2019-01-31 09:41:03 +01:00
border-size = 0
2019-01-31 09:41:03 +01:00
padding-left = 2
padding-right = 12
2019-01-31 09:41:03 +01:00
module-margin-left = 1
module-margin-right = 1
2019-01-31 09:41:03 +01:00
2022-02-06 21:47:16 +01:00
font-0 = Hack Nerd Font:style=Regular:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
2019-01-31 09:41:03 +01:00
2021-10-25 14:25:31 +02:00
modules-left = i3 xwindow
modules-center =
2022-05-09 10:03:25 +02:00
modules-right = pulseaudio drive_monochromator drive_tmp drive_homelab drive_groupshare drive_data_id21 drive_unix_home dunst cursor unread_mail calendar battery date
2019-12-30 17:21:56 +01:00
2021-10-25 14:25:31 +02:00
# wm-restack = i3
2019-01-31 09:41:03 +01:00
tray-position = right
tray-detached = true
tray-padding = 0
tray-background = ${colors.bg}
2019-01-31 09:41:03 +01:00
#+END_SRC
* Show Windows Title
#+BEGIN_SRC conf
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
2019-01-31 09:41:03 +01:00
#+END_SRC
* I3 - Information about workspaces and active one
#+BEGIN_SRC conf
[module/i3]
type = internal/i3
2019-01-31 09:41:03 +01:00
enable-scroll = false
wrapping-scroll = false
2019-01-31 09:41:03 +01:00
#+END_SRC
#+BEGIN_SRC conf
format = <label-state> <label-mode>
index-sort = true
2019-01-31 09:41:03 +01:00
#+END_SRC
#+BEGIN_SRC conf
label-mode-foreground = ${colors.bg}
label-mode-background = ${colors.fg}
label-mode-padding = 1
# focused = Active workspace on focused monitor
label-focused = %icon% %index%
label-focused-foreground = ${colors.fg}
label-focused-background = ${colors.bg}
label-focused-underline = ${colors.aqua}
label-focused-padding = 1
# unfocused = Inactive workspace on any monitor
label-unfocused = %icon% %index%
label-unfocused-foreground = ${colors.fg}
label-unfocused-background = ${colors.bg}
label-unfocused-underline = ${colors.bg}
label-unfocused-padding = 1
# visible = Active workspace on unfocused monitor
label-visible = %icon% %index%
label-visible-background = ${colors.bg}
label-visible-underline = ${colors.aqua}
label-visible-padding = 1
# urgent = Workspace with urgency hint set
label-urgent = %icon% %index%
label-urgent-background = ${colors.red}
label-urgent-padding = 1
2019-01-31 09:41:03 +01:00
#+END_SRC
* Music using MPD
#+BEGIN_SRC conf
[module/mpd]
type = internal/mpd
2021-10-25 14:25:31 +02:00
format-online = <icon-prev> <toggle> <icon-next> %{A1:$TERMINAL -e ncmpcpp &:}<label-song>%{A}
format-online-spacing = 0
format-online-padding = 0
label-offline = mpd is offline
format-offline = <label-offline>
format-offline-foreground = #777
label-song = %artist% - %title%
label-song-maxlen = 30
label-song-ellipsis = true
icon-prev = 寧
icon-stop = 栗
icon-play = 契
icon-pause = 
icon-next = 嶺
icon-random = 咽
icon-repeat = 凌
# Used to display the state of random/repeat/repeatone/single
# Only applies if <icon-[random|repeat|repeatone|single]> is used
toggle-on-foreground = ${colors.fg}
toggle-off-foreground = ${colors.gray}
bar-progress-width = 15
bar-progress-indicator = |
bar-progress-fill = ─
bar-progress-empty = ─
2019-01-31 09:41:03 +01:00
#+END_SRC
* Backlight level
#+BEGIN_SRC conf
[module/xbacklight]
type = internal/xbacklight
format = <ramp>
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-3 = 
ramp-4 = 
ramp-5 = 
ramp-6 = 
ramp-7 = 
ramp-8 = 
ramp-9 = 
ramp-10 = 
ramp-11 = 
2019-01-31 09:41:03 +01:00
#+END_SRC
* CPU Usage
#+BEGIN_SRC conf
[module/cpu]
type = internal/cpu
interval = 2
2019-01-31 09:41:03 +01:00
format-prefix-foreground = ${colors.fg}
format-underline = ${colors.bg}
2019-01-31 09:41:03 +01:00
2021-10-25 14:25:31 +02:00
label = %{A1:$TERMINAL -e htop &:}﬙ %percentage:2%%%{A}
2019-01-31 09:41:03 +01:00
#+END_SRC
* Date
#+BEGIN_SRC conf
[module/date]
type = internal/date
interval = 1
2019-01-31 09:41:03 +01:00
# Open google calendar on left right
2021-10-25 14:25:31 +02:00
date = %{A1:$TERMINAL --title khal -e ikhal &:} %d-%m%{A}
date-alt = "%{A1:$TERMINAL --title khal -e ikhal &:} %d-%m-%Y%{A}"
2019-01-31 09:41:03 +01:00
time =  %H:%M
time-alt =  %H:%M:%S
2019-01-31 09:41:03 +01:00
label = %date% %time%
2019-01-31 09:41:03 +01:00
#+END_SRC
* Sound Volume
#+BEGIN_SRC conf
[module/pulseaudio]
type = internal/pulseaudio
2022-05-09 10:03:25 +02:00
sink = alsa_output.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_2__sink
# Open pavucontrol on left right
format-volume =%{A1:pavucontrol &:}<label-volume> <bar-volume>%{A}
label-volume = %percentage%%
label-volume-foreground = ${root.foreground}
label-muted = ﱝ muted
bar-volume-width = 10
bar-volume-foreground-0 = ${colors.green}
bar-volume-foreground-1 = ${colors.green}
bar-volume-foreground-2 = ${colors.blue}
bar-volume-foreground-3 = ${colors.blue}
bar-volume-foreground-4 = ${colors.red}
bar-volume-foreground-5 = ${colors.red}
bar-volume-foreground-6 = ${colors.red}
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.fg}
2019-01-31 09:41:03 +01:00
#+END_SRC
* Battery
#+BEGIN_SRC conf
[module/battery]
type = internal/battery
2019-02-03 17:54:54 +01:00
battery = BAT0
adapter = AC
full-at = 95
2019-02-03 17:54:54 +01:00
format-charging = %{A1:xfce4-power-manager-settings &:}<ramp-capacity> <label-charging>%{A}
format-charging-underline = ${colors.blue}
2019-02-03 17:54:54 +01:00
format-discharging = %{A1:xfce4-power-manager-settings &:}<ramp-capacity> <label-discharging>%{A}
format-discharging-underline = ${colors.red}
2019-02-03 17:54:54 +01:00
label-full = %{A1:xfce4-power-manager-settings &:} %{A}
format-full-underline = ${colors.bg}
2019-02-03 17:54:54 +01:00
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
2019-02-03 17:54:54 +01:00
#+END_SRC
* Temperature
#+begin_src conf
[module/temperature]
type = internal/temperature
interval = 2
thermal-zone = 0
2021-10-25 14:25:31 +02:00
base-temperature = 50
warn-temperature = 80
hwmon-path = /sys/class/thermal/thermal_zone10/temp
units = false
2021-10-25 14:25:31 +02:00
format = %{A1:$TERMINAL --title="Sensors" -e watch sensors &:}<ramp> <label>%{A}
format-warn = <ramp> <label-warn>
label = %temperature-c%°C
label-warn = %temperature-c%°C
label-warn-foreground = ${colors.fg}
format-warn-underline = ${colors.red}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-3 = 
ramp-4 = 
ramp-foreground = ${colors.fg}
#+end_src
2019-01-31 09:41:03 +01:00
2019-02-03 17:54:54 +01:00
* Unread Mails
2019-01-31 09:41:03 +01:00
#+BEGIN_SRC conf
[module/unread_mail]
type = custom/script
format-underline = ${colors.bg}
click-left = ~/.config/polybar/scripts/mail-open.sh >/dev/null 2>%1 &
click-right = ~/.config/polybar/scripts/mail-refresh.sh >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/mail-status.sh
interval = 2
2019-01-31 09:41:03 +01:00
#+END_SRC
2019-02-03 17:54:54 +01:00
** Unread Mail Scripts
2019-12-16 11:38:04 +01:00
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/mail-status.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
2019-02-03 17:54:54 +01:00
#+begin_src bash
mail_nb=`du -a ~/.mail/*/Inbox/new/* 2>/dev/null | wc -l`
2019-02-03 17:54:54 +01:00
if [ "$mail_nb" -eq "0" ]; then
echo "";
else
echo "%{F#859900} $mail_nb%{F-}";
fi
2019-02-03 17:54:54 +01:00
#+end_src
** Refresh Mail Scripts
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/mail-refresh.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:YpqAgorv "Mails " "Syncing...";
checkmail -q && \
mail_nb=`du -a ~/.mail/*/Inbox/new/* 2>/dev/null | wc -l` && \
if [ "$mail_nb" -eq "0" ]; then
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:YpqAgorv "Mails " "No new mail";
fi
#+end_src
2019-12-16 11:38:04 +01:00
** Open Mails
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/mail-open.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
2021-10-25 14:25:31 +02:00
$TERMINAL -e tmux new-session -A -s neomutt neomutt
2019-12-16 11:38:04 +01:00
#+end_src
2020-04-02 22:06:18 +02:00
* Unread News
#+BEGIN_SRC conf
[module/unread_news]
type = custom/script
format-underline = ${colors.bg}
click-left = ~/.config/polybar/scripts/news-open.sh >/dev/null 2>%1 &
click-right = ~/.config/polybar/scripts/news-refresh.sh >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/news-status.sh
interval = 60
2020-04-02 22:06:18 +02:00
#+END_SRC
** Unread News Scripts
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/news-status.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
news_nb=`newsboat -x print-unread 2>/dev/null | cut -d " " -f1`
2020-04-02 22:06:18 +02:00
if [ -z "$news_nb" ] || [ "$news_nb" -eq "0" ]; then
echo "";
else
echo "%{F#859900} $news_nb%{F-}";
fi
2020-04-02 22:06:18 +02:00
#+end_src
** Refresh News Scripts
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/news-refresh.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:4z5CvV6G "Newsboat " "Reloading...";
if pgrep -x "newsboat" >/dev/null; then
# If newsboat is already running, try to refresh in the tmux session
tmux send-keys -t newsboat R
else
newsboat -x reload && /
news_nb=`newsboat -x print-unread | cut -d " " -f1` && \
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:4z5CvV6G "Newsboat " "$news_nb Unread News";
fi
2020-04-02 22:06:18 +02:00
#+end_src
** Open Newsboat
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/news-open.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
2021-10-25 14:25:31 +02:00
$TERMINAL -e tmux new-session -A -s newsboat newsboat
2020-04-02 22:06:18 +02:00
#+end_src
2020-05-01 00:32:00 +02:00
* Calendar
#+BEGIN_SRC conf
[module/calendar]
type = custom/script
format-underline = ${colors.bg}
click-left = ~/.config/polybar/scripts/calendar-open.sh >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/calendar-status.sh
interval = 5
2020-05-01 00:32:00 +02:00
#+END_SRC
** Calendar Status Scripts
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/calendar-status.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
next_events=$(khal list "$(date +"%H:%M")" 23:59 --format "{start-time} - {title}" -df 'SKIPME' | grep -v 'SKIPME' | grep -v 'No events')
cal_icon=""
cal_nb=""
cal_desc=""
if [ -n "$next_events" ]; then
events_number="$(echo "$next_events" | wc -l)"
if [ "$events_number" -gt "1" ]; then
cal_nb=" ($events_number)"
fi
2020-05-01 00:32:00 +02:00
next_timed_events=$(echo "$next_events" | sed -e '/^[^0-9]/d')
if [ -z "$next_timed_events" ]; then
# Only full day events
cal_desc=" $(echo "$next_events" | sed -e '/^[0-9]/d;s/^ - //' | head -n 1 | cut -c 1-15)"
else
cal_desc=" $(echo "$next_timed_events" | head -n 1 | cut -c 1-20)"
fi
fi
echo "${cal_icon}${cal_nb}${cal_desc}"
2020-05-01 00:32:00 +02:00
#+end_src
** Open Calendar
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/calendar-open.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
2021-10-25 14:25:31 +02:00
$TERMINAL --title=khal -e ikhal
2020-05-01 00:32:00 +02:00
#+end_src
2019-01-31 09:41:03 +01:00
* Redshift
#+BEGIN_SRC conf
[module/redshift]
type = custom/script
format-underline = ${colors.bg}
click-left = ~/.config/polybar/scripts/redshift-toggle.sh >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/redshift-status.sh
interval = 2
2019-01-31 09:41:03 +01:00
#+END_SRC
2020-04-03 11:34:21 +02:00
** Redshift - Status
2019-12-16 11:38:04 +01:00
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/redshift-status.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
2019-02-03 17:54:54 +01:00
#+begin_src bash
if pgrep -x "redshift" >/dev/null; then
echo "望";
else
echo "盛";
fi
2019-12-16 11:38:04 +01:00
#+end_src
2019-02-03 17:54:54 +01:00
2019-12-16 11:38:04 +01:00
** Toggle Redshift
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/redshift-toggle.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
if pgrep -x "redshift" >/dev/null; then
killall redshift && \
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:EKFLpst1 "Redshift 望" "Turned off";
else
nohup redshift > /dev/null 2>&1 &
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:EKFLpst1 "Redshift 望" "Starting...";
fi
2019-01-31 09:41:03 +01:00
#+end_src
2019-02-03 17:54:54 +01:00
* Packages
#+BEGIN_SRC conf
[module/packages]
type = custom/script
format-underline = ${colors.bg}
click-left = ~/.config/polybar/scripts/packages-update.sh >/dev/null 2>%1 &
click-right = ~/.config/polybar/scripts/packages-refresh.sh >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/packages-status.sh
interval = 600
#+END_SRC
** Packages Status script
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/packages-status.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+BEGIN_SRC bash
2021-04-25 19:10:57 +02:00
paru -Sy > /dev/null 2>&1 && \
package_nb=`paru -Qu 2> /dev/null | wc -l` || \
package_nb=0
2020-04-06 00:11:57 +02:00
2020-03-19 15:20:33 +01:00
if [ "$package_nb" -eq "0" ]; then
echo "";
else
echo "%{F#859900} $package_nb%{F-}";
fi
#+END_SRC
** Refresh New Packages script
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/packages-refresh.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+BEGIN_SRC bash
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:SE5nDEVA 'Packages ' "Refreshing..."
2020-04-03 11:34:21 +02:00
2021-04-25 19:10:57 +02:00
paru -Sy > /dev/null 2>&1 && \
package_nb=$(paru -Qu 2> /dev/null | wc -l) || \
package_nb=0
if [ "$package_nb" -eq "0" ]; then
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:SE5nDEVA 'Packages ' "No upgrade available"
else
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:SE5nDEVA 'Packages ' "$package_nb upgrade(s) available"
fi
#+END_SRC
** Packages Update
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/packages-update.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+BEGIN_SRC bash
2021-10-25 14:25:31 +02:00
$TERMINAL -e paru
#+END_SRC
* Dunst
#+BEGIN_SRC conf
[module/dunst]
type = custom/script
format-underline = ${colors.bg}
click-left = ~/.config/polybar/scripts/dunst-toggle.sh >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/dunst-status.sh
interval = 2
2019-06-22 17:21:08 +02:00
#+END_SRC
** Dunst Status script
2019-12-16 11:38:04 +01:00
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/dunst-status.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
2019-06-22 17:21:08 +02:00
#+BEGIN_SRC bash
tmpfile="/tmp/dunststatus";
2019-06-22 17:21:08 +02:00
if [ -f $tmpfile ]; then
if grep -q "on" $tmpfile; then
2019-06-22 17:21:08 +02:00
echo "";
elif grep -q "off" $tmpfile; then
echo "";
2019-06-22 17:21:08 +02:00
fi
else
echo "";
fi
2019-01-31 09:41:03 +01:00
#+END_SRC
2019-12-16 11:38:04 +01:00
** Dunst Toggle
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/dunst-toggle.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+BEGIN_SRC bash
tmpfile="/tmp/dunststatus";
if [ -f $tmpfile ] && grep -q "off" $tmpfile ; then
killall -SIGUSR2 dunst && \
echo "on" > $tmpfile;
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:KLJ63nVo "Notifications " "Activated";
else
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:KLJ63nVo "Notifications " "Deactivated";
sleep 1 && \
killall -SIGUSR1 dunst && \
echo "off" > $tmpfile;
fi
2019-12-16 11:38:04 +01:00
#+END_SRC
* Lock Screen
#+BEGIN_SRC conf
[module/lockscreen]
type = custom/script
format-underline = ${colors.bg}
click-left = ~/.config/polybar/scripts/lockscreen-toggle.sh >/dev/null 2>%1 &
click-right = ~/.local/bin/lockscreen >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/lockscreen-status.sh
interval = 2
#+END_SRC
** Lock screen Status script
:PROPERTIES:
2019-12-16 11:38:04 +01:00
:header-args: :tangle ~/.config/polybar/scripts/lockscreen-status.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+BEGIN_SRC bash
if pgrep -x "xautolock" >/dev/null
then
echo "";
else
echo "";
fi
#+END_SRC
** Toggle Automatic Lock Screen
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/lockscreen-toggle.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
if pgrep -x "xautolock" >/dev/null ; then
pkill xautolock && \
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:tH6bxvvv 'Lock Screen ' 'Desactivated'
else
2022-02-06 21:45:41 +01:00
xautolock -locker "~/.local/bin/lockscreen" -detectsleep -time 30 -notify 60 -notifier "notify-send -u --hint=string:x-dunst-stack-tag:tH6bxvvv critical -t 10000 -- 'Locking Screen' '60 seconds'" &
notify-send --hint=string:x-dunst-stack-tag:tH6bxvvv 'Lock Screen ' 'Activated'
fi
#+end_src
2019-05-16 21:13:08 +02:00
* Network
2019-01-31 09:41:03 +01:00
#+begin_src conf
[module/wired-network]
type = internal/network
interface = enp57s0u2u4u4
2019-05-16 21:13:08 +02:00
label-connected = %{A3:bash ~/.config/polybar/scripts/connection-manager.sh >/dev/null 2>%1 &:}%{A1:bash ~/.config/polybar/scripts/connection-toggle.sh enp57s0u2u4u4 >/dev/null 2>%1 &:} %local_ip%%{A}%{A}
label-connected-foreground = ${colors.fg}
2019-01-31 09:41:03 +01:00
label-disconnected = %{A3:bash ~/.config/polybar/scripts/connection-manager.sh >/dev/null 2>%1 &:}%{A1:bash ~/.config/polybar/scripts/connection-toggle.sh enp57s0u2u4u4 >/dev/null 2>%1 &:}%{A}%{A}
label-disconnected-foreground = #777
2020-04-10 16:37:55 +02:00
#+end_src
2019-01-31 09:41:03 +01:00
2020-04-10 16:37:55 +02:00
#+begin_src conf
[module/wireless-network]
type = internal/network
interface = wlp2s0
2019-01-31 09:41:03 +01:00
format-connected = <label-connected>
format-disconnected = <label-disconnected>
2019-01-31 09:41:03 +01:00
label-connected = %{A3:bash ~/.config/polybar/scripts/connection-manager.sh >/dev/null 2>%1 &:}%{A1:bash ~/.config/polybar/scripts/connection-toggle.sh wlp2s0 >/dev/null 2>%1 &:}直 %essid%%{A}%{A}
label-connected-foreground = ${colors.fg}
2019-05-16 21:13:08 +02:00
label-disconnected = %{A3:bash ~/.config/polybar/scripts/connection-manager.sh >/dev/null 2>%1 &:}%{A1:bash ~/.config/polybar/scripts/connection-toggle.sh wlp2s0 >/dev/null 2>%1 &:}直%{A}%{A}
label-disconnected-foreground = #777
2019-05-16 21:13:08 +02:00
#+end_src
2019-01-31 09:41:03 +01:00
** Run Network Manager
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/connection-manager.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
2021-10-25 14:25:31 +02:00
$TERMINAL -e sudo nmtui
#+end_src
2020-11-15 19:02:51 +01:00
** Toggle Wifi or Ethernet
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/connection-toggle.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
# Check if an argument is passed
if [ -z "$1" ]
then
exit 1
fi
isdevicedown=$(nmcli device status | grep ^$1 | grep disconnected)
if [ -z "$isdevicedown" ]
then
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:EfjAHGgu "$1" "Disconnecting..." && \
nmcli device disconnect $1 && \
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:EfjAHGgu "$1" "Disconnected"
else
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:EfjAHGgu "$1" "Connection..." && \
nmcli device connect $1 && \
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:EfjAHGgu "$1" "Connected"
fi
2020-11-15 19:02:51 +01:00
#+end_src
* Bluetooth
2020-11-15 19:26:54 +01:00
#+BEGIN_SRC conf
[module/bluetooth]
type = custom/script
2020-11-15 19:26:54 +01:00
format-underline = ${colors.bg}
click-left = ~/.config/polybar/scripts/bluetooth-toggle.sh >/dev/null 2>%1 &
click-right = ~/.config/polybar/scripts/bluetooth-run.sh >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/bluetooth-status.sh
2020-11-15 19:26:54 +01:00
interval = 2
2020-11-15 19:26:54 +01:00
#+END_SRC
2021-01-01 20:12:34 +01:00
** =bluetooth-run.sh= - Bluetooth Run Manager
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/bluetooth-run.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
blueman-manager && pkill blueman-applet
#+end_src
2021-01-01 20:12:34 +01:00
** =bluetooth-status.sh= - Bluetooth Connection Status
2020-11-15 19:26:54 +01:00
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/bluetooth-status.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
controllerid="9C:B6:D0:96:6E:C0"
2020-11-15 19:26:54 +01:00
isconnected=$(bluetoothctl show $controllerid | grep Powered | grep yes)
2020-11-15 19:26:54 +01:00
if [ -z "$isconnected" ]
then
echo ""
else
echo "%{F#859900}%{F-}"
fi
2020-11-15 19:26:54 +01:00
#+end_src
2021-01-01 20:12:34 +01:00
** =bluetooth-toggle.sh= - Toggle Bluetooth Connection
2020-11-15 19:26:54 +01:00
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/bluetooth-toggle.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
controllerid="9C:B6:D0:96:6E:C0"
isconnected=$(bluetoothctl show $controllerid | grep Powered | grep yes)
if [ -z "$isconnected" ]
then
bluetoothctl power on && \
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:kidF4g53 "Bluetooth" "Power ON"
else
bluetoothctl power off && \
2022-02-06 21:45:41 +01:00
notify-send --hint=string:x-dunst-stack-tag:kidF4g53 "Bluetooth" "Power OFF"
fi
#+end_src
2020-11-15 19:26:54 +01:00
* NordVPN
#+BEGIN_SRC conf
[module/nordvpn]
type = custom/script
format-underline = ${colors.bg}
click-left = ~/.local/bin/nordvpn-toggle >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/nordvpn-status.sh
interval = 2
#+END_SRC
2020-11-15 19:26:54 +01:00
** Nordvpn Status script
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/nordvpn-status.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+BEGIN_SRC bash
tmpfile="/tmp/vpnstatus";
if [ -f $tmpfile ] && grep -q "on" $tmpfile; then
echo "%{F#859900}%{F-}";
else
echo "";
fi
#+END_SRC
** Nordvpn Toggle
The script is accessible [[file:binaries.org::#nordvpn-toggle][here]].
2020-11-15 19:26:54 +01:00
2022-02-06 21:47:16 +01:00
* High cursor
This is using this program: module/
2020-03-27 15:37:24 +01:00
#+BEGIN_SRC conf
2022-02-06 21:47:16 +01:00
[module/cursor]
type = custom/script
2020-03-27 15:37:24 +01:00
format-underline = ${colors.bg}
2022-02-06 21:47:16 +01:00
click-left = ~/.config/polybar/scripts/cursor-toggle.sh >/dev/null 2>%1 &
format = <label>
2022-02-06 21:47:16 +01:00
exec = ~/.config/polybar/scripts/cursor-status.sh
2020-03-27 15:37:24 +01:00
interval = 2
2020-03-27 15:37:24 +01:00
#+END_SRC
2022-02-06 21:47:16 +01:00
** Cursor - Status
2020-03-27 15:37:24 +01:00
:PROPERTIES:
2022-02-06 21:47:16 +01:00
:header-args: :tangle ~/.config/polybar/scripts/cursor-status.sh
2020-03-27 15:37:24 +01:00
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
2022-02-06 21:47:16 +01:00
if pgrep -x "highlight-point" >/dev/null; then
echo "%{F#859900}%{F-}";
else
2022-02-06 21:47:16 +01:00
echo "";
fi
2020-03-27 15:37:24 +01:00
#+end_src
2022-02-06 21:47:16 +01:00
** Toggle Cursor
2020-03-27 15:37:24 +01:00
:PROPERTIES:
2022-02-06 21:47:16 +01:00
:header-args: :tangle ~/.config/polybar/scripts/cursor-toggle.sh
2020-03-27 15:37:24 +01:00
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
2022-02-06 21:45:41 +01:00
if pgrep -x "highlight-point" >/dev/null; then
killall highlight-point && \
notify-send --hint=string:x-dunst-stack-tag:kidF4g53 "Cursor" "Turned off";
else
2022-02-06 21:45:41 +01:00
nohup highlight-pointer -r 10 > /dev/null 2>&1 &
notify-send --hint=string:x-dunst-stack-tag:kidF4g53 "Cursor" "Highlight...";
fi
2020-03-27 15:37:24 +01:00
#+end_src
2022-02-06 21:47:16 +01:00
* Mounted Drives
2020-04-30 21:57:54 +02:00
#+BEGIN_SRC conf
2022-02-06 21:47:16 +01:00
[module/drive_tmp]
type = custom/script
2020-04-30 21:57:54 +02:00
format-underline = ${colors.bg}
2022-02-06 21:47:16 +01:00
click-left = ~/.local/bin/mount-dir tmp_14_days >/dev/null 2>%1 &
format = <label>
2022-02-06 21:47:16 +01:00
exec = ~/.config/polybar/scripts/drive-status.sh tmp_14_days T
2020-04-30 21:57:54 +02:00
2022-02-06 21:47:16 +01:00
interval = 5
2020-04-30 21:57:54 +02:00
#+END_SRC
2022-02-06 21:47:16 +01:00
#+BEGIN_SRC conf
[module/drive_groupshare]
type = custom/script
2020-04-30 21:57:54 +02:00
2022-02-06 21:47:16 +01:00
format-underline = ${colors.bg}
click-left = ~/.local/bin/mount-dir groupshare >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/drive-status.sh groupshare G
2020-04-30 21:57:54 +02:00
2022-02-06 21:47:16 +01:00
interval = 5
#+END_SRC
2020-04-30 21:57:54 +02:00
2022-02-06 21:47:16 +01:00
#+BEGIN_SRC conf
[module/drive_homelab]
type = custom/script
2022-02-06 21:47:16 +01:00
format-underline = ${colors.bg}
click-left = ~/.local/bin/mount-dir homelab >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/drive-status.sh homelab H
2020-04-30 21:57:54 +02:00
2022-02-06 21:47:16 +01:00
interval = 5
#+END_SRC
2020-04-30 21:57:54 +02:00
2021-10-25 14:25:31 +02:00
#+BEGIN_SRC conf
2022-02-06 21:47:16 +01:00
[module/drive_unix_home]
2021-10-25 14:25:31 +02:00
type = custom/script
format-underline = ${colors.bg}
2022-02-06 21:47:16 +01:00
click-left = ~/.local/bin/mount-dir unix_home >/dev/null 2>%1 &
2021-10-25 14:25:31 +02:00
format = <label>
2022-02-06 21:47:16 +01:00
exec = ~/.config/polybar/scripts/drive-status.sh unix_home U
2021-10-25 14:25:31 +02:00
2022-02-06 21:47:16 +01:00
interval = 5
2021-10-25 14:25:31 +02:00
#+END_SRC
2022-05-09 10:03:25 +02:00
#+BEGIN_SRC conf
[module/drive_monochromator]
type = custom/script
format-underline = ${colors.bg}
click-left = ~/.local/bin/mount-dir monochromators >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/drive-status.sh monochromators M
interval = 5
#+END_SRC
2022-02-06 21:47:16 +01:00
#+BEGIN_SRC conf
[module/drive_data_id21]
type = custom/script
2021-10-25 14:25:31 +02:00
2022-02-06 21:47:16 +01:00
format-underline = ${colors.bg}
click-left = ~/.local/bin/mount-dir data_id21 >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/drive-status.sh data_id21 D
interval = 5
#+END_SRC
** Drive - Status
2021-10-25 14:25:31 +02:00
:PROPERTIES:
2022-02-06 21:47:16 +01:00
:header-args: :tangle ~/.config/polybar/scripts/drive-status.sh
2021-10-25 14:25:31 +02:00
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
2022-02-06 21:47:16 +01:00
if mountpoint -q ~/mnt/$1; then
echo "%{F#859900}$2 歷%{F-}";
2021-10-25 14:25:31 +02:00
else
2022-02-06 21:47:16 +01:00
echo "$2 轢";
2021-10-25 14:25:31 +02:00
fi
#+end_src
2019-05-16 21:13:08 +02:00
* Screenshot
2019-02-03 17:54:54 +01:00
2019-01-31 09:41:03 +01:00
#+BEGIN_SRC conf
[module/screenshot]
type = custom/text
content = ""
click-left = ~/.local/bin/screenshot >/dev/null 2>%1 &
2019-01-31 09:41:03 +01:00
#+END_SRC
2019-02-03 17:54:54 +01:00