Use builtin bar of qtile instead of polybar

This commit is contained in:
Şahin Akkaya 2022-03-20 20:00:58 +03:00
parent b4895a30aa
commit ed4235db43
4 changed files with 162 additions and 240 deletions

View File

@ -1,220 +0,0 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
background = #282A2E
background-alt = #373B41
foreground = #C5C8C6
; BLUE = #62AEEF
primary = #62AEEF
; primary = #F0C674
secondary = #8ABEB7
alert = #A54242
disabled = #707880
[bar/main]
width = 100%
height = 24pt
radius = 6
; dpi = 96
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3pt
border-size = 4pt
border-color = #00000000
padding-left = 0
padding-right = 1
module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
; font-0 = "Material Icons:style=Regular:size=15;2"
font-0 = monospace;2
font-1 = "Iosevka Nerd Font Mono:size=20;7"
; glyphs
font-2 = "Iosevka Nerd Font Mono:size=23;8"
; dot
; font-3 = "Iosevka Nerd Font Mono:size=18;8"
font-3 = "Material Icons:style=Regular:size=15;2"
; clock & mpd
font-4 = "Iosevka:style=bold:size=10;4"
modules-left = xworkspaces xwindow
; enable wireguard after allowing passwordless sudo
; https://github.com/mil-ad/polybar-wireguard
; modules-right = wireguard bluetooth filesystem pulseaudio xkeyboard memory cpu wlan eth date
modules-right = bluetooth filesystem pulseaudio xkeyboard memory cpu wlan eth date
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
tray-position = left
; If true, the bar will not shift its
; contents when the tray changes
tray-detached = false
; wm-restack = generic
; wm-restack = bspwm
; wm-restack = i3
; override-redirect = true
[module/xworkspaces]
type = internal/xworkspaces
icon-0 = 1;1
icon-1 = 2;
icon-2 = 3;
icon-3 = 4;
icon-4 = 5;
icon-5 = 6;6
icon-6 = 7;
icon-7 = 8;既
icon-8 = 9;ﭮ
icon-9 = 0;
label-active = %icon%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-foreground= ${colors.primary}
label-active-padding = 1
label-occupied = %icon%
label-occupied-underline = #999999
label-occupied-padding = 1
label-urgent = %icon%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-empty = %icon%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/xwindow]
type = internal/xwindow
label = %title:0:37:...%
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#62AEEF}%mountpoint%%{F-} %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.disabled}
[module/pulseaudio]
type = internal/pulseaudio
format-volume-prefix = "VOL "
format-volume-prefix-foreground = ${colors.primary}
format-volume = <label-volume>
label-volume = %percentage%%
label-muted = muted
label-muted-foreground = ${colors.disabled}
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout = %icon%
layout-icon-0 = us;Programmer Colemak-DH with Turkish support;
layout-icon-1 = us;Programmer Colemak-DH ISO with Turkish support;
click-left = pavucontrol
label-layout-foreground = ${colors.primary}
; indicator-icon-0 = caps lock;-CL;+CL
; label-indicator-on = %icon%
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}
[module/memory]
type = internal/memory
interval = 2
format-prefix = "RAM "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "CPU "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
[network-base]
type = internal/network
interval = 5
format-connected = <label-connected>
format-disconnected = <label-disconnected>
label-disconnected = %{F#62AEEF}%ifname%%{F#707880} disconnected
[module/wlan]
inherit = network-base
interface-type = wireless
label-connected = %{F#62AEEF}%ifname%%{F-} %essid% %local_ip%
[module/eth]
inherit = network-base
interface-type = wired
label-connected = %{F#62AEEF}%ifname%%{F-} %local_ip%
[module/date]
type = internal/date
interval = 1
date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S
label = %date%
label-foreground = ${colors.primary}
[module/wireguard]
type = custom/script
exec = ~/GitRepositories/polybar-wireguard/polybar-wireguard
tail = false
label-foreground = ${colors.primary}
interval = 1
click-left = ~/GitRepositories/polybar-wireguard/polybar-wireguard --toggle &
[module/bluetooth]
type = custom/script
exec = rofi-bluetooth --status
label-foreground = ${colors.primary}
interval = 1
click-left = rofi-bluetooth &
[settings]
screenchange-reload = true
pseudo-transparency = true
; vim:ft=dosini

View File

@ -1,12 +0,0 @@
#!/bin/bash
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
# Launch the bar
for m in $(polybar --list-monitors | cut -d":" -f1); do
MONITOR=$m polybar --reload main &
done

View File

@ -1,3 +1,163 @@
from libqtile.config import Screen import re
import subprocess
screens = [Screen()] from subprocess import check_output
from libqtile import bar, widget
from libqtile.config import Screen
from libqtile.command import lazy
# from libqtile.log_utils import logger
def create_sep():
return widget.Sep(foreground="707880", size_percent=60)
def run_shell_command(command):
def inner():
res = check_output(command.split()).decode("utf-8").strip()
return res or " "
return inner
class CapsNumScrollLockIndicator(widget.CapsNumLockIndicator):
def get_indicators(self):
"""Return a list with the current state of the keys."""
try:
output = self.call_process(["xset", "q"])
except subprocess.CalledProcessError as err:
output = err.output
return []
indicators = re.findall(r"(?:Caps|Num|Scroll)\s+Lock:\s*(\w*)", output)
return indicators
def poll(self):
"""Poll content for the text box."""
indicators = self.get_indicators()
on, off = "", ""
status = " ".join(indicators)
status = status.replace("off", off).replace("on", on)[::-1]
# reversed because it cames backwards somehow.
return status
screens = [
Screen(
top=bar.Bar(
[
# widget.CurrentLayout(),
widget.GroupBox(
active="62AEEF", # Active group font colour
block_highlight_text_color="62AEFF", # Selected group font colour
disable_drag=True, # Disable dragging and dropping of group names on widget
font="Iosevka Nerd Font",
fontsize=20,
foreground="ff0000", # Foreground colour
highlight_color=[
"373B41",
# "282828",
], # Active group highlight color when using 'line' highlight method.
highlight_method="line", # Method of highlighting ('border', 'block', 'text', or 'line')Uses *_border color settings
inactive="707880", # Inactive group font colour
invert_mouse_wheel=True, # Whether to invert mouse wheel group movement
padding_x=8, # X Padding. Overrides 'padding' if set
),
widget.Prompt(),
create_sep(),
widget.WindowName(),
widget.Chord(
chords_colors={
"launch": ("#ff0000", "#ffffff"),
},
name_transform=lambda name: name.upper(),
),
widget.GenPollText(
func=run_shell_command("wgd"),
fontsize=23,
font="Iosevka Nerd Font",
foreground="62AEEF",
fmt="{}",
update_interval=1,
mouse_callbacks={"Button1": lazy.spawn("wgd --toggle")},
),
create_sep(),
widget.GenPollText(
func=run_shell_command("rofi-bluetooth --status"),
fontsize=18,
font="Iosevka Nerd Font",
foreground="62AEEF",
update_interval=1,
mouse_callbacks={"Button1": lazy.spawn("rofi-bluetooth")},
),
create_sep(),
widget.PulseVolume(
emoji=True,
limit_max_volume=True,
step=4,
update_interval=0.1,
fmt='<span foreground="#62AEEF">VOL</span> {}',
),
create_sep(),
widget.KeyboardLayout(
configured_keyboards=["us cdhpt", "us cdhisopt"],
font="Iosevka Nerd Font Mono",
fontsize=23,
display_map={"us cdhpt": "", "us cdhisopt": ""},
foreground="62AEFF",
),
CapsNumScrollLockIndicator(update_interval=0.5, foreground="62AEFF"),
create_sep(),
widget.WidgetBox(
widgets=[
widget.DF(
visible_on_warn=False,
format='<span foreground="#62AEEF">{p}</span> {r:.0f}%',
),
create_sep(),
widget.Memory(
fmt='<span foreground="#62AEEF">RAM</span> {}',
format="{MemPercent: .0f}%",
),
create_sep(),
widget.CPU(
format="{load_percent: .0f}%",
fmt='<span foreground="#62AEEF">CPU</span> {}',
),
create_sep(),
],
text_closed="[S<]",
text_open="[S>]",
foreground="62AEEF",
close_button_location="right",
),
widget.WidgetBox(
widgets=[
widget.Net(interface=["enp3s0"]),
widget.Wlan(format="{essid} {percent:2.0%}"),
create_sep(),
],
text_closed="[N<]",
text_open="[N>]",
foreground="62AEEF",
close_button_location="right",
),
widget.Battery(format="{char} {percent:2.0%} {hour:d}:{min:02d}"),
widget.Clock(format="%Y-%m-%d %a %I:%M %p"),
widget.Systray(),
],
size=30,
background="#282A2E",
border_width=[0, 0, 0, 0],
margin=[4, 4, 4, 4],
border_color=[
"000000",
"000000",
"000000",
"000000",
],
opacity=0.95,
),
),
]

View File

@ -12,10 +12,4 @@ function run {
nitrogen --save --set-zoom-fill ~/Pictures/Wallpapers/default.jpg nitrogen --save --set-zoom-fill ~/Pictures/Wallpapers/default.jpg
run picom & disown # --experimental-backends --vsync should prevent screen tearing on most setups if needed run picom & disown # --experimental-backends --vsync should prevent screen tearing on most setups if needed
# Low battery notifier
#~/.config/qtile/scripts/check_battery.sh & disown
# Start welcome
#run eos-welcome & disown
$HOME/.config/polybar/launch.sh & disown
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & disown # start polkit agent from GNOME /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & disown # start polkit agent from GNOME