mirror of
https://github.com/sahinakkaya/dotfiles.git
synced 2024-12-23 07:39:36 +01:00
Add qtile config
This commit is contained in:
parent
6514f48479
commit
f7cd6b1274
@ -12,8 +12,8 @@ follow_mouse_focus = True
|
|||||||
bring_front_click = False
|
bring_front_click = False
|
||||||
cursor_warp = False
|
cursor_warp = False
|
||||||
auto_fullscreen = True
|
auto_fullscreen = True
|
||||||
focus_on_window_activation = "smart"
|
focus_on_window_activation = "urgent"
|
||||||
wmname = "Qtile"
|
wmname = "LG3D"
|
||||||
widget_defaults = dict(
|
widget_defaults = dict(
|
||||||
font='Cascadia Code',
|
font='Cascadia Code',
|
||||||
fontsize=13,
|
fontsize=13,
|
||||||
|
@ -1,21 +1,42 @@
|
|||||||
from libqtile.config import Group, Key, Match
|
from libqtile.config import Group, Key, Match, ScratchPad, DropDown
|
||||||
from libqtile.lazy import lazy
|
from libqtile.lazy import lazy
|
||||||
|
|
||||||
from .keys import keys, mod
|
from .keys import keys, mod
|
||||||
|
|
||||||
groups = [Group(i) for i in "123456789"]
|
groups = [Group(i) for i in "1234567890"]
|
||||||
|
|
||||||
symbols = ['semicolon', 'comma', 'period', 'p', 'y', 'equal', 'g', 'c', 'r', 'percent']
|
browsers = [
|
||||||
|
Match(wm_class="firefox"),
|
||||||
|
Match(wm_class="Google-chrome")]
|
||||||
|
file_managers = [Match(wm_class="Thunar")]
|
||||||
|
video_players = [
|
||||||
|
Match(wm_class="streamlink-twitch-gui"),
|
||||||
|
Match(wm_class="mpv")]
|
||||||
|
groups = [
|
||||||
|
Group('1'),
|
||||||
|
Group('2', matches=[Match(wm_class="VirtualBox Manager")]),
|
||||||
|
Group('3', matches=[Match(wm_class="Thunderbird")]),
|
||||||
|
Group('4', matches=[Match(wm_class="st-256color")]),
|
||||||
|
Group('5', matches=file_managers),
|
||||||
|
Group('6'),
|
||||||
|
Group('7', matches=browsers),
|
||||||
|
Group('8', matches=video_players),
|
||||||
|
Group('9'),
|
||||||
|
Group('0', matches=[Match(wm_class="TelegramDesktop")]),
|
||||||
|
]
|
||||||
|
groups.append(ScratchPad("scratchpad", [
|
||||||
|
# define a drop down terminal.
|
||||||
|
# it is placed in the upper third of screen by default.
|
||||||
|
DropDown("term", "st", opacity=1.0)
|
||||||
|
]))
|
||||||
|
|
||||||
|
symbols = 'arstgmneio'
|
||||||
|
|
||||||
for i, j in zip(groups, symbols):
|
for i, j in zip(groups, symbols):
|
||||||
keys.extend([
|
keys.extend([
|
||||||
Key([mod], j, lazy.group[i.name].toscreen(),
|
Key([mod], j, lazy.group[i.name].toscreen(),
|
||||||
desc="Switch to group {}".format(i.name)),
|
desc="Switch to group {}".format(i.name)),
|
||||||
|
|
||||||
Key([mod, "shift"], j, lazy.window.togroup(i.name),
|
Key([mod, "shift"], j, lazy.window.togroup(i.name, switch_group=True),
|
||||||
desc="move focused window to group {}".format(i.name)),
|
desc="Switch to & move focused window to group {}".format(i.name)),
|
||||||
|
|
||||||
# Use below if you prefer to switch to that group.
|
|
||||||
# Key([mod, "shift"], j, lazy.window.togroup(i.name, switch_group=True),
|
|
||||||
# desc="Switch to & move focused window to group {}".format(i.name)),
|
|
||||||
])
|
])
|
||||||
|
@ -1,9 +1,20 @@
|
|||||||
import os
|
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from libqtile import hook
|
from libqtile import hook
|
||||||
|
from libqtile.command.client import InteractiveCommandClient
|
||||||
|
|
||||||
|
|
||||||
@hook.subscribe.startup
|
@hook.subscribe.startup
|
||||||
def autostart():
|
def autostart():
|
||||||
subprocess.call([os.path.expanduser('~/.config/qtile/autostart.sh')])
|
subprocess.call(['autostart.sh'])
|
||||||
|
|
||||||
|
|
||||||
|
@hook.subscribe.startup_complete
|
||||||
|
def focus_group():
|
||||||
|
c = InteractiveCommandClient()
|
||||||
|
c.group['4'].toscreen()
|
||||||
|
|
||||||
|
|
||||||
|
@hook.subscribe.client_managed
|
||||||
|
def show_window(window):
|
||||||
|
window.group.cmd_toscreen()
|
||||||
|
@ -2,14 +2,23 @@ import os
|
|||||||
|
|
||||||
from libqtile.config import Key, KeyChord
|
from libqtile.config import Key, KeyChord
|
||||||
from libqtile.lazy import lazy
|
from libqtile.lazy import lazy
|
||||||
from libqtile.utils import guess_terminal
|
|
||||||
|
|
||||||
mod = "mod1"
|
mod = "mod4"
|
||||||
terminal = guess_terminal()
|
terminal = "st"
|
||||||
# terminal = "xfce4-terminal"
|
# terminal = "xfce4-terminal"
|
||||||
home = os.path.expanduser
|
home = os.path.expanduser
|
||||||
|
|
||||||
keys = [
|
keys = [
|
||||||
|
# '`': 'grave',
|
||||||
|
# '-': 'minus',
|
||||||
|
# '=': 'equal',
|
||||||
|
# '[': 'bracketleft',
|
||||||
|
# ']': 'bracketright',
|
||||||
|
# '\\': 'backslash',
|
||||||
|
# ';': 'semicolon',
|
||||||
|
# '\'': 'quote',
|
||||||
|
# ',': 'comma',
|
||||||
|
# '.': 'dot',
|
||||||
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
|
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
|
||||||
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
|
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
|
||||||
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
|
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
|
||||||
@ -19,82 +28,82 @@ keys = [
|
|||||||
desc="Toggle back and forth between latest groups"),
|
desc="Toggle back and forth between latest groups"),
|
||||||
Key([mod], "d", lazy.spawn("rofi -show combi"), desc="spawn rofi"),
|
Key([mod], "d", lazy.spawn("rofi -show combi"), desc="spawn rofi"),
|
||||||
|
|
||||||
# Move windows between left/right columns or move up/down in current stack.
|
# Move windows between left/right columns or move up/down in current
|
||||||
# Moving out of range in Columns layout will create new column.
|
# stack. Moving out of range in Columns layout will create new column.
|
||||||
Key([mod, "shift"],
|
Key([mod, "shift"], "h",
|
||||||
"h",
|
lazy.layout.shuffle_left(), desc="Move window to the left"),
|
||||||
lazy.layout.shuffle_left(),
|
Key([mod, "shift"], "l",
|
||||||
desc="Move window to the left"),
|
lazy.layout.shuffle_right(), desc="Move window to the right"),
|
||||||
Key([mod, "shift"],
|
Key([mod, "shift"], "j",
|
||||||
"l",
|
lazy.layout.shuffle_down(), desc="Move window down"),
|
||||||
lazy.layout.shuffle_right(),
|
Key([mod, "shift"], "k",
|
||||||
desc="Move window to the right"),
|
lazy.layout.shuffle_up(), desc="Move window up"),
|
||||||
Key([mod, "shift"],
|
|
||||||
"j",
|
|
||||||
lazy.layout.shuffle_down(),
|
|
||||||
desc="Move window down"),
|
|
||||||
Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"),
|
|
||||||
|
|
||||||
# Grow windows. If current window is on the edge of screen and direction
|
# Grow windows. If current window is on the edge of screen and direction
|
||||||
# will be to screen edge - window would shrink.
|
# will be to screen edge - window would shrink.
|
||||||
Key([mod, "control"],
|
Key([mod, "control"], "h",
|
||||||
"h",
|
lazy.layout.grow_left(), desc="Grow window to the left"),
|
||||||
lazy.layout.grow_left(),
|
Key([mod, "control"], "l",
|
||||||
desc="Grow window to the left"),
|
lazy.layout.grow_right(), desc="Grow window to the right"),
|
||||||
Key([mod, "control"],
|
Key([mod, "control"], "j",
|
||||||
"l",
|
lazy.layout.grow_down(), desc="Grow window down"),
|
||||||
lazy.layout.grow_right(),
|
Key([mod, "control"], "k",
|
||||||
desc="Grow window to the right"),
|
lazy.layout.grow_up(), desc="Grow window up"),
|
||||||
Key([mod, "control"],
|
# KeyChord([mod], "w", [
|
||||||
"j",
|
# Key([], "g", lazy.layout.grow()),
|
||||||
lazy.layout.grow_down(),
|
# Key([], "s", lazy.layout.shrink()),
|
||||||
desc="Grow window down"),
|
# Key([], "n", lazy.layout.normalize(), desc="Reset all window sizes"),
|
||||||
Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"),
|
# Key([], "m", lazy.layout.maximize())],
|
||||||
KeyChord([mod], "w", [
|
# mode="Windows"
|
||||||
Key([], "g", lazy.layout.grow()),
|
# ),
|
||||||
Key([], "s", lazy.layout.shrink()),
|
Key([mod], "f",
|
||||||
Key([], "n", lazy.layout.normalize(), desc="Reset all window sizes"),
|
lazy.window.toggle_fullscreen(), desc='Toggle fullscreen'),
|
||||||
Key([], "m", lazy.layout.maximize())],
|
Key([mod, "shift"], "f",
|
||||||
mode="Windows"
|
lazy.window.toggle_floating(), desc='Toggle floating'),
|
||||||
),
|
|
||||||
Key([mod], "f", lazy.window.toggle_fullscreen(), desc='Toggle fullscreen'),
|
|
||||||
Key([mod, "shift"], "f", lazy.window.toggle_floating(),
|
|
||||||
desc='Toggle floating'),
|
|
||||||
|
|
||||||
# Toggle between split and unsplit sides of stack.
|
# Toggle between split and unsplit sides of stack.
|
||||||
# Split = all windows displayed
|
# Split = all windows displayed
|
||||||
# Unsplit = 1 window displayed, like Max layout, but still with
|
# Unsplit = 1 window displayed, like Max layout, but still with
|
||||||
# multiple stack panes
|
# multiple stack panes
|
||||||
Key([mod, "shift"],
|
Key([mod, "shift"], "Return",
|
||||||
"Return",
|
|
||||||
lazy.layout.toggle_split(),
|
lazy.layout.toggle_split(),
|
||||||
desc="Toggle between split and unsplit sides of stack"),
|
desc="Toggle between split and unsplit sides of stack"),
|
||||||
Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
|
Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
|
||||||
|
|
||||||
# Toggle between different layouts as defined below
|
# Toggle between different layouts as defined below
|
||||||
Key([mod], "space", lazy.next_layout(), desc="Toggle between layouts"),
|
Key([mod], "space", lazy.next_layout(), desc="Toggle between layouts"),
|
||||||
Key([mod, 'shift'], "space", lazy.widget["keyboardlayout"].next_keyboard(), desc="Next keyboard layout."),
|
Key([mod, 'shift'], "space",
|
||||||
Key([mod], "e", lazy.screen.prev_group(), desc="Move to the group on the left"),
|
lazy.spawn("chlayout"), desc="Next keyboard layout."),
|
||||||
Key([mod], "u", lazy.screen.next_group(), desc="Move to the group on the right"),
|
Key([mod], "comma",
|
||||||
Key([mod], "q", lazy.window.kill(), desc="Kill focused window"),
|
lazy.screen.prev_group(), desc="Move to the group on the left"),
|
||||||
Key([mod, "shift", "control"], "h", lazy.layout.swap_column_left()),
|
Key([mod], "period",
|
||||||
|
lazy.screen.next_group(), desc="Move to the group on the right"),
|
||||||
|
Key([mod], "q",
|
||||||
|
lazy.window.kill(), desc="Kill focused window"),
|
||||||
|
Key([mod, "shift", "control"], "h",
|
||||||
|
lazy.layout.swap_column_left()),
|
||||||
Key([mod, "shift", "control"], "l", lazy.layout.swap_column_right()),
|
Key([mod, "shift", "control"], "l", lazy.layout.swap_column_right()),
|
||||||
Key([mod, "shift"], "space", lazy.layout.flip()),
|
# Key([mod, "shift"], "space", lazy.layout.flip()),
|
||||||
Key([mod, "control"], "r", lazy.restart(), desc="Restart Qtile"),
|
Key([mod, "control"], "r", lazy.restart(), desc="Restart Qtile"),
|
||||||
Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
|
Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
|
||||||
Key([mod, "shift"],
|
Key([mod, "control"], "n",
|
||||||
"d",
|
lazy.spawn("lock-screen"), desc="Lock screen"),
|
||||||
lazy.spawncmd(),
|
Key([mod, "control"], "s",
|
||||||
desc="Spawn a command using a prompt widget"),
|
lazy.spawn("toggle-screenkey"), desc="Show keys on screen"),
|
||||||
Key([mod], "s", lazy.spawn("passmenu"), desc="Spawn passmenu"),
|
Key([mod, "shift"], "d",
|
||||||
|
lazy.spawncmd(), desc="Spawn a command using a prompt widget"),
|
||||||
|
Key([mod], "p", lazy.spawn("passmenu"), desc="Spawn passmenu"),
|
||||||
|
|
||||||
# Key([mod, "shift"], "e", lazy.spawn("menu_powermenu"), desc="Spawn powermenu using rofi"),
|
# Key([mod, "shift"], "e", lazy.spawn("menu_powermenu"), desc="Spawn powermenu using rofi"),
|
||||||
|
|
||||||
# Key([mod], "n", lazy.spawn(home("~/Desktop/GitRepositories/networkmanager-dmenu/networkmanager_dmenu")), desc="Launch network manager"),
|
# Key([mod], "n", lazy.spawn(home("~/Desktop/GitRepositories/networkmanager-dmenu/networkmanager_dmenu")), desc="Launch network manager"),
|
||||||
# Key([mod], "i", lazy.spawn("sxiv " + home("~/Pictures/keyboard-layout.jpg")), desc="Show current keyboard layout"),
|
# Key([mod], "i", lazy.spawn("sxiv " + home("~/Pictures/keyboard-layout.jpg")), desc="Show current keyboard layout"),
|
||||||
|
|
||||||
# Key([mod], "b", lazy.spawn(home("~/Desktop/GitRepositories/rofi-bluetooth/rofi-bluetooth")),
|
Key([mod], "b", lazy.spawn('rofi-bluetooth'),
|
||||||
# desc="Control bluetooth devices"),
|
desc="Manage bluetooth devices"),
|
||||||
|
|
||||||
|
Key([mod], "v", lazy.spawn('polybar-wireguard --toggle'),
|
||||||
|
desc="Manage VPN connections"),
|
||||||
|
|
||||||
# Key([mod], "x", lazy.spawn(home("~/scripts/kill-process.sh")),
|
# Key([mod], "x", lazy.spawn(home("~/scripts/kill-process.sh")),
|
||||||
# desc="Kill processes using rofi"),
|
# desc="Kill processes using rofi"),
|
||||||
@ -117,12 +126,23 @@ keys = [
|
|||||||
Key([], "XF86MonBrightnessDown",
|
Key([], "XF86MonBrightnessDown",
|
||||||
lazy.spawn("xbacklight -dec 5")),
|
lazy.spawn("xbacklight -dec 5")),
|
||||||
|
|
||||||
# Key([], "XF86KbdBrightnessUp",
|
Key([], "Print",
|
||||||
# lazy.spawn(home("~/scripts/keyboard_backlight.sh inc"))),
|
lazy.spawn("flameshot gui")),
|
||||||
# Key([], "XF86KbdBrightnessDown",
|
|
||||||
# lazy.spawn(home("~/scripts/keyboard_backlight.sh dec"))),
|
Key(["shift"], "Print",
|
||||||
|
lazy.spawn("flameshot full")),
|
||||||
|
|
||||||
|
Key(["control"], "Print",
|
||||||
|
lazy.spawn("flameshot full")),
|
||||||
|
|
||||||
|
Key([], 'F12', lazy.group['scratchpad'].dropdown_toggle('term')),
|
||||||
|
|
||||||
|
Key([], "XF86KbdBrightnessUp",
|
||||||
|
lazy.spawn("keyboard_backlight.sh inc")),
|
||||||
|
Key([], "XF86KbdBrightnessDown",
|
||||||
|
lazy.spawn("keyboard_backlight.sh dec")),
|
||||||
|
|
||||||
|
|
||||||
# Key([], "XF86TouchpadToggle",
|
Key([], "XF86TouchpadToggle",
|
||||||
# lazy.spawn(home("~/scripts/toggle-touchpad.sh"))),
|
lazy.spawn("toggle-touchpad.sh")),
|
||||||
]
|
]
|
||||||
|
@ -7,9 +7,9 @@ from libqtile.config import Match
|
|||||||
# "border_focus": "#5294e2",
|
# "border_focus": "#5294e2",
|
||||||
# "border_normal": "#2c5380"}
|
# "border_normal": "#2c5380"}
|
||||||
layouts = [
|
layouts = [
|
||||||
layout.MonadTall(margin=8, border_focus='#5294e2',
|
# layout.MonadTall(margin=8, border_focus='#5294e2',
|
||||||
border_normal='#2c5380'),
|
# border_normal='#2c5380'),
|
||||||
#layout.Columns(border_focus_stack='#d75f5f'),
|
layout.Columns(margin=8, border_focus_stack='#d75f5f'),
|
||||||
layout.Max(),
|
layout.Max(),
|
||||||
# Try more layouts by unleashing below layouts.
|
# Try more layouts by unleashing below layouts.
|
||||||
# layout.Stack(num_stacks=2),
|
# layout.Stack(num_stacks=2),
|
||||||
@ -31,6 +31,10 @@ floating_layout = layout.Floating(float_rules=[
|
|||||||
Match(wm_class='makebranch'), # gitk
|
Match(wm_class='makebranch'), # gitk
|
||||||
Match(wm_class='maketag'), # gitk
|
Match(wm_class='maketag'), # gitk
|
||||||
Match(wm_class='ssh-askpass'), # ssh-askpass
|
Match(wm_class='ssh-askpass'), # ssh-askpass
|
||||||
|
Match(wm_class='sxiv'),
|
||||||
|
Match(wm_class='telegram-desktop'),
|
||||||
|
Match(wm_class='streamlink-twitch-gui'),
|
||||||
|
Match(wm_class='pinentry-gtk-2'),
|
||||||
Match(title='branchdialog'), # gitk
|
Match(title='branchdialog'), # gitk
|
||||||
Match(title='pinentry'), # GPG key password entry
|
Match(title='pinentry'), # GPG key password entry
|
||||||
])
|
])
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
from libqtile.config import Screen
|
from libqtile.config import Screen
|
||||||
|
|
||||||
from .widgets import *
|
|
||||||
|
|
||||||
screens = [Screen()]
|
screens = [Screen()]
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
from libqtile import widget
|
|
||||||
from libqtile import qtile
|
|
||||||
|
|
||||||
colors = [
|
|
||||||
["#282c34", "#282c34"], # panel background
|
|
||||||
["#3d3f4b", "#434758"], # background for current screen tab
|
|
||||||
["#ffffff", "#ffffff"], # font color for group names
|
|
||||||
["#ff5555", "#ff5555"], # border line color for current tab
|
|
||||||
["#74438f", "#74438f"], # border line color for 'other tabs' and color for 'odd widgets'
|
|
||||||
["#4f76c7", "#4f76c7"], # color for the 'even widgets'
|
|
||||||
["#e1acff", "#e1acff"], # window name
|
|
||||||
["#ecbbfb", "#ecbbfb"] # backbround for inactive screens
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
widget_defaults = dict(
|
|
||||||
font='Cantarell',
|
|
||||||
fontsize=12,
|
|
||||||
padding=3,
|
|
||||||
)
|
|
||||||
extension_defaults = widget_defaults.copy()
|
|
||||||
class MyVolume(widget.Volume):
|
|
||||||
def _configure(self, qtile, bar):
|
|
||||||
widget.Volume._configure(self, qtile, bar)
|
|
||||||
self.volume = self.get_volume()
|
|
||||||
if self.volume <= 0:
|
|
||||||
self.text = ''
|
|
||||||
elif self.volume <= 15:
|
|
||||||
self.text = ''
|
|
||||||
elif self.volume < 50:
|
|
||||||
self.text = ''
|
|
||||||
else:
|
|
||||||
self.text = ''
|
|
||||||
# drawing here crashes Wayland
|
|
||||||
|
|
||||||
def _update_drawer(self, wob=False):
|
|
||||||
if self.volume <= 0:
|
|
||||||
self.text = ''
|
|
||||||
elif self.volume <= 15:
|
|
||||||
self.text = ''
|
|
||||||
elif self.volume < 50:
|
|
||||||
self.text = ''
|
|
||||||
else:
|
|
||||||
self.text = ''
|
|
||||||
self.draw()
|
|
||||||
|
|
||||||
if wob:
|
|
||||||
with open(self.wob, 'a') as f:
|
|
||||||
f.write(str(self.volume) + "\n")
|
|
||||||
|
|
||||||
volume = MyVolume(
|
|
||||||
fontsize=18,
|
|
||||||
font='Font Awesome 5 Free',
|
|
||||||
foreground=colors[4],
|
|
||||||
background='#2f343f',
|
|
||||||
mouse_callbacks = {'Button1': lambda: qtile.cmd_spawn("pavucontrol")}
|
|
||||||
)
|
|
@ -1,30 +0,0 @@
|
|||||||
## Copyright (C) 2020-2021 Aditya Shakya <adi1090x@gmail.com>
|
|
||||||
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[color]
|
|
||||||
BG = #1E2128
|
|
||||||
BGL = #2A2D34
|
|
||||||
BGA = #808080
|
|
||||||
FG = #D8D8D8
|
|
||||||
AC = #62AEEF
|
|
||||||
|
|
||||||
BLACK = #000000
|
|
||||||
WHITE = #FFFFFF
|
|
||||||
RED = #E06B74
|
|
||||||
GREEN = #98C379
|
|
||||||
YELLOW = #E5C07A
|
|
||||||
BLUE = #62AEEF
|
|
||||||
PURPLE = #C778DD
|
|
||||||
CYAN = #55B6C2
|
|
||||||
TEAL = #8BC5BF
|
|
||||||
AMBER = #D4B158
|
|
||||||
ORANGE = #D49474
|
|
||||||
BROWN = #AC8476
|
|
||||||
GRAY = #8C8C8C
|
|
||||||
BLUEGRAY = #6F8A91
|
|
||||||
PINK = #D46389
|
|
||||||
LIME = #D7DD91
|
|
||||||
INDIGO = #7985D0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
@ -1,318 +0,0 @@
|
|||||||
## Copyright (C) 2020-2021 Aditya Shakya <adi1090x@gmail.com>
|
|
||||||
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Global WM Settings
|
|
||||||
|
|
||||||
[global/wm]
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
|
||||||
; Used for top aligned bars
|
|
||||||
margin-bottom = 10
|
|
||||||
|
|
||||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
|
||||||
; Used for bottom aligned bars
|
|
||||||
margin-top = 0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; File Inclusion
|
|
||||||
; include an external file, like module file, etc.
|
|
||||||
|
|
||||||
include-file = ~/.config/qtile/polybar/system.ini
|
|
||||||
|
|
||||||
include-file = ~/.config/qtile/polybar/default/colors.ini
|
|
||||||
include-file = ~/.config/qtile/polybar/default/modules.ini
|
|
||||||
include-file = ~/.config/qtile/polybar/default/decor.ini
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Bar Settings
|
|
||||||
|
|
||||||
[bar/main]
|
|
||||||
; Use either of the following command to list available outputs:
|
|
||||||
; If unspecified, the application will pick the first one it finds.
|
|
||||||
; $ polybar -m | cut -d ':' -f 1
|
|
||||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
|
||||||
monitor =
|
|
||||||
|
|
||||||
; Use the specified monitor as a fallback if the main one is not found.
|
|
||||||
monitor-fallback =
|
|
||||||
|
|
||||||
; Require the monitor to be in connected state
|
|
||||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
|
||||||
monitor-strict = false
|
|
||||||
|
|
||||||
; Tell the Window Manager not to configure the window.
|
|
||||||
; Use this to detach the bar if your WM is locking its size/position.
|
|
||||||
override-redirect = false
|
|
||||||
|
|
||||||
; Put the bar at the bottom of the screen
|
|
||||||
bottom = false
|
|
||||||
|
|
||||||
; Prefer fixed center position for the `modules-center` block
|
|
||||||
; When false, the center position will be based on the size of the other blocks.
|
|
||||||
fixed-center = true
|
|
||||||
|
|
||||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
|
||||||
width = 100%
|
|
||||||
height = 26
|
|
||||||
|
|
||||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
; the percentage can optionally be extended with a pixel offset like so:
|
|
||||||
; 50%:-10, this will result in an offset in the x or y direction
|
|
||||||
; of 50% minus 10 pixels
|
|
||||||
offset-x = 0%
|
|
||||||
offset-y = 0%
|
|
||||||
|
|
||||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
background = ${color.BG}
|
|
||||||
|
|
||||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
foreground = ${color.FG}
|
|
||||||
|
|
||||||
; Background gradient (vertical steps)
|
|
||||||
; background-[0-9]+ = #aarrggbb
|
|
||||||
;;background-0 =
|
|
||||||
|
|
||||||
; Value used for drawing rounded corners
|
|
||||||
; Note: This shouldn't be used together with border-size because the border
|
|
||||||
; doesn't get rounded
|
|
||||||
; Individual top/bottom values can be defined using:
|
|
||||||
; radius-{top,bottom}
|
|
||||||
radius-top = 0.0
|
|
||||||
radius-bottom = 0.0
|
|
||||||
|
|
||||||
; Under-/overline pixel size and argb color
|
|
||||||
; Individual values can be defined using:
|
|
||||||
; {overline,underline}-size
|
|
||||||
; {overline,underline}-color
|
|
||||||
line-size = 2
|
|
||||||
line-color = ${color.AC}
|
|
||||||
|
|
||||||
; Values applied to all borders
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; border-{left,top,right,bottom}-size
|
|
||||||
; border-{left,top,right,bottom}-color
|
|
||||||
; The top and bottom borders are added to the bar height, so the effective
|
|
||||||
; window height is:
|
|
||||||
; height + border-top-size + border-bottom-size
|
|
||||||
; Meanwhile the effective window width is defined entirely by the width key and
|
|
||||||
; the border is placed withing this area. So you effectively only have the
|
|
||||||
; following horizontal space on the bar:
|
|
||||||
; width - border-right-size - border-left-size
|
|
||||||
border-size = 6
|
|
||||||
border-color = ${color.BG}
|
|
||||||
|
|
||||||
; Number of spaces to add at the beginning/end of the bar
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; padding-{left,right}
|
|
||||||
padding = 0
|
|
||||||
|
|
||||||
; Number of spaces to add before/after each module
|
|
||||||
; Individual side values can be defined using:
|
|
||||||
; module-margin-{left,right}
|
|
||||||
module-margin-left = 0
|
|
||||||
module-margin-right = 0
|
|
||||||
|
|
||||||
; Fonts are defined using <font-name>;<vertical-offset>
|
|
||||||
; Font names are specified using a fontconfig pattern.
|
|
||||||
; font-0 = "JetBrains Mono:size=10;3"
|
|
||||||
; font-1 = MaterialIcons:size=10
|
|
||||||
; font-2 = Termsynu:size=8;-1
|
|
||||||
; font-3 = FontAwesome:size=10
|
|
||||||
; See the Fonts wiki page for more details
|
|
||||||
|
|
||||||
; text
|
|
||||||
font-0 = "JetBrains Mono:size=10;3"
|
|
||||||
; icons
|
|
||||||
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"
|
|
||||||
; clock & mpd
|
|
||||||
font-4 = "Iosevka:style=bold:size=10;4"
|
|
||||||
|
|
||||||
; Modules are added to one of the available blocks
|
|
||||||
; modules-left = cpu ram
|
|
||||||
; modules-center = xwindow xbrightness
|
|
||||||
; modules-right = ipc clock
|
|
||||||
|
|
||||||
# Default
|
|
||||||
modules-left = LD menu RD dot-alt LD qtile RD dot cpu dot used-memory dot filesystem
|
|
||||||
modules-center = LD date RD dot-alt LD mpd RD sep song
|
|
||||||
;modules-center = LD date RD dot-alt LD
|
|
||||||
modules-right = volume dot backlight dot ethernet dot wlan dot LD battery RD dot-alt LD sysmenu RD
|
|
||||||
|
|
||||||
# Alternate
|
|
||||||
;modules-left = qtile 2LD cpu 3LD memory 4LD filesystem 5LD
|
|
||||||
;modules-center = mpd
|
|
||||||
;modules-right = 2RD volume 3RD brightness 4RD battery 5RD ethernet 6RD date sep
|
|
||||||
|
|
||||||
; The separator will be inserted between the output of each module
|
|
||||||
separator =
|
|
||||||
|
|
||||||
; This value is used to add extra spacing between elements
|
|
||||||
; @deprecated: This parameter will be removed in an upcoming version
|
|
||||||
spacing = 0
|
|
||||||
|
|
||||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
|
||||||
dim-value = 1.0
|
|
||||||
|
|
||||||
; Value to be used to set the WM_NAME atom
|
|
||||||
; If the value is empty or undefined, the atom value
|
|
||||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
|
||||||
; NOTE: The placeholders are not available for custom values
|
|
||||||
wm-name =
|
|
||||||
|
|
||||||
; Locale used to localize various module data (e.g. date)
|
|
||||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
|
||||||
locale =
|
|
||||||
|
|
||||||
; Position of the system tray window
|
|
||||||
; If empty or undefined, tray support will be disabled
|
|
||||||
; NOTE: A center aligned tray will cover center aligned modules
|
|
||||||
;
|
|
||||||
; Available positions:
|
|
||||||
; left
|
|
||||||
; center
|
|
||||||
; right
|
|
||||||
; none
|
|
||||||
tray-position = right
|
|
||||||
|
|
||||||
; If true, the bar will not shift its
|
|
||||||
; contents when the tray changes
|
|
||||||
tray-detached = false
|
|
||||||
|
|
||||||
; Tray icon max size
|
|
||||||
tray-maxsize = 16
|
|
||||||
|
|
||||||
; DEPRECATED! Since 3.3.0 the tray always uses pseudo-transparency
|
|
||||||
; Enable pseudo transparency
|
|
||||||
; Will automatically be enabled if a fully transparent
|
|
||||||
; background color is defined using `tray-background`
|
|
||||||
; tray-transparent = false
|
|
||||||
|
|
||||||
; Background color for the tray container
|
|
||||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
|
||||||
; By default the tray container will use the bar
|
|
||||||
; background color.
|
|
||||||
tray-background = ${color.BG}
|
|
||||||
|
|
||||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
|
||||||
tray-offset-x = 0
|
|
||||||
tray-offset-y = 0
|
|
||||||
|
|
||||||
; Pad the sides of each tray icon
|
|
||||||
tray-padding = 0
|
|
||||||
|
|
||||||
; Scale factor for tray clients
|
|
||||||
tray-scale = 1.0
|
|
||||||
|
|
||||||
; Restack the bar window and put it above the
|
|
||||||
; selected window manager's root
|
|
||||||
;
|
|
||||||
; Fixes the issue where the bar is being drawn
|
|
||||||
; on top of fullscreen window's
|
|
||||||
;
|
|
||||||
; Currently supported WM's:
|
|
||||||
; bspwm
|
|
||||||
; i3 (requires: `override-redirect = true`)
|
|
||||||
; wm-restack =
|
|
||||||
|
|
||||||
; Set a DPI values used when rendering text
|
|
||||||
; This only affects scalable fonts
|
|
||||||
; dpi =
|
|
||||||
|
|
||||||
; Enable support for inter-process messaging
|
|
||||||
; See the Messaging wiki page for more details.
|
|
||||||
enable-ipc = true
|
|
||||||
|
|
||||||
; Fallback click handlers that will be called if
|
|
||||||
; there's no matching module handler found.
|
|
||||||
click-left =
|
|
||||||
click-middle =
|
|
||||||
click-right =
|
|
||||||
scroll-up =
|
|
||||||
scroll-down =
|
|
||||||
double-click-left =
|
|
||||||
double-click-middle =
|
|
||||||
double-click-right =
|
|
||||||
|
|
||||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
|
||||||
; Possible values are:
|
|
||||||
; - default : The default pointer as before, can also be an empty string (default)
|
|
||||||
; - pointer : Typically in the form of a hand
|
|
||||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
|
||||||
cursor-click =
|
|
||||||
cursor-scroll =
|
|
||||||
|
|
||||||
;; WM Workspace Specific
|
|
||||||
|
|
||||||
; bspwm
|
|
||||||
;;scroll-up = bspwm-desknext
|
|
||||||
;;scroll-down = bspwm-deskprev
|
|
||||||
;;scroll-up = bspc desktop -f prev.local
|
|
||||||
;;scroll-down = bspc desktop -f next.local
|
|
||||||
|
|
||||||
;i3
|
|
||||||
;;scroll-up = i3wm-wsnext
|
|
||||||
;;scroll-down = i3wm-wsprev
|
|
||||||
;;scroll-up = i3-msg workspace next_on_output
|
|
||||||
;;scroll-down = i3-msg workspace prev_on_output
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
;; Application Settings
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
; The throttle settings lets the eventloop swallow up til X events
|
|
||||||
; if they happen within Y millisecond after first event was received.
|
|
||||||
; This is done to prevent flood of update event.
|
|
||||||
;
|
|
||||||
; For example if 5 modules emit an update event at the same time, we really
|
|
||||||
; just care about the last one. But if we wait too long for events to swallow
|
|
||||||
; the bar would appear sluggish so we continue if timeout
|
|
||||||
; expires or limit is reached.
|
|
||||||
throttle-output = 5
|
|
||||||
throttle-output-for = 10
|
|
||||||
|
|
||||||
; Time in milliseconds that the input handler will wait between processing events
|
|
||||||
;throttle-input-for = 30
|
|
||||||
|
|
||||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
|
||||||
screenchange-reload = false
|
|
||||||
|
|
||||||
; Compositing operators
|
|
||||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
|
||||||
compositing-background = source
|
|
||||||
compositing-foreground = over
|
|
||||||
compositing-overline = over
|
|
||||||
compositing-underline = over
|
|
||||||
compositing-border = over
|
|
||||||
|
|
||||||
; Define fallback values used by all module formats
|
|
||||||
;format-foreground =
|
|
||||||
;format-background =
|
|
||||||
;format-underline =
|
|
||||||
;format-overline =
|
|
||||||
;format-spacing =
|
|
||||||
;format-padding =
|
|
||||||
;format-margin =
|
|
||||||
;format-offset =
|
|
||||||
|
|
||||||
; Enables pseudo-transparency for the bar
|
|
||||||
; If set to true the bar can be transparent without a compositor.
|
|
||||||
pseudo-transparency = false
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
;; __________ ______
|
|
||||||
;; / ____/ __ \/ ____/
|
|
||||||
;; / __/ / / / / /_
|
|
||||||
;; / /___/ /_/ / __/
|
|
||||||
;; /_____/\____/_/
|
|
||||||
;;
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
|||||||
## Copyright (C) 2020-2021 Aditya Shakya <adi1090x@gmail.com>
|
|
||||||
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3
|
|
||||||
|
|
||||||
;; DECOR _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/sep]
|
|
||||||
type = custom/text
|
|
||||||
content = -
|
|
||||||
|
|
||||||
content-background = ${color.BG}
|
|
||||||
content-foreground = ${color.BG}
|
|
||||||
|
|
||||||
;; Dots
|
|
||||||
|
|
||||||
[module/dot]
|
|
||||||
type = custom/text
|
|
||||||
content =
|
|
||||||
content-foreground = ${color.BGL}
|
|
||||||
content-padding = 1
|
|
||||||
content-font = 4
|
|
||||||
|
|
||||||
[module/dot-alt]
|
|
||||||
inherit = module/dot
|
|
||||||
content-foreground = ${color.BLUEGRAY}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
|
|
||||||
[module/LD]
|
|
||||||
type = custom/text
|
|
||||||
content = "%{T3}%{T-}"
|
|
||||||
content-background = ${color.BG}
|
|
||||||
content-foreground = ${color.BGL}
|
|
||||||
|
|
||||||
[module/RD]
|
|
||||||
type = custom/text
|
|
||||||
content = "%{T3}%{T-}"
|
|
||||||
content-background = ${color.BG}
|
|
||||||
content-foreground = ${color.BGL}
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
;; __________ ______
|
|
||||||
;; / ____/ __ \/ ____/
|
|
||||||
;; / __/ / / / / /_
|
|
||||||
;; / /___/ /_/ / __/
|
|
||||||
;; /_____/\____/_/
|
|
||||||
;;
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
@ -1,16 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
## Copyright (C) 2020-2021 Aditya Shakya <adi1090x@gmail.com>
|
|
||||||
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3
|
|
||||||
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|
||||||
|
|
||||||
|
|
||||||
# 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
|
|
||||||
polybar -q main -c "$DIR"/config.ini &
|
|
File diff suppressed because it is too large
Load Diff
@ -1,47 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
## Copyright (C) 2020-2021 Aditya Shakya <adi1090x@gmail.com>
|
|
||||||
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3
|
|
||||||
|
|
||||||
## Files and Directories
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|
||||||
SFILE="$DIR/system.ini"
|
|
||||||
RFILE="$DIR/.system"
|
|
||||||
|
|
||||||
## Get system variable values for various modules
|
|
||||||
get_values() {
|
|
||||||
CARD=$(light -L | grep 'backlight' | head -n1 | cut -d'/' -f3)
|
|
||||||
BATTERY=$(upower -i `upower -e | grep 'BAT'` | grep 'native-path' | cut -d':' -f2 | tr -d '[:blank:]')
|
|
||||||
ADAPTER=$(upower -i `upower -e | grep 'AC'` | grep 'native-path' | cut -d':' -f2 | tr -d '[:blank:]')
|
|
||||||
INTERFACE=$(ip link | awk '/state UP/ {print $2}' | tr -d :)
|
|
||||||
}
|
|
||||||
|
|
||||||
## Write values to `system.ini` file
|
|
||||||
set_values() {
|
|
||||||
if [[ "$ADAPTER" ]]; then
|
|
||||||
sed -i -e "s/adapter = .*/adapter = $ADAPTER/g" ${SFILE}
|
|
||||||
fi
|
|
||||||
if [[ "$BATTERY" ]]; then
|
|
||||||
sed -i -e "s/battery = .*/battery = $BATTERY/g" ${SFILE}
|
|
||||||
fi
|
|
||||||
if [[ "$CARD" ]]; then
|
|
||||||
sed -i -e "s/graphics_card = .*/graphics_card = $CARD/g" ${SFILE}
|
|
||||||
fi
|
|
||||||
if [[ "$INTERFACE" ]]; then
|
|
||||||
sed -i -e "s/network_interface = .*/network_interface = $INTERFACE/g" ${SFILE}
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
## Launch Polybar with selected style
|
|
||||||
launch_bar() {
|
|
||||||
STYLE="default"
|
|
||||||
bash "$HOME"/.config/qtile/polybar/"$STYLE"/launch.sh
|
|
||||||
}
|
|
||||||
|
|
||||||
# Execute functions
|
|
||||||
if [[ ! -f "$RFILE" ]]; then
|
|
||||||
get_values
|
|
||||||
set_values
|
|
||||||
touch ${RFILE}
|
|
||||||
fi
|
|
||||||
launch_bar
|
|
@ -1,28 +0,0 @@
|
|||||||
## Copyright (C) 2020-2021 Aditya Shakya <adi1090x@gmail.com>
|
|
||||||
## Everyone is permitted to copy and distribute copies of this file under GNU-GPL3
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
||||||
;;
|
|
||||||
;; System Variables (Edit according to your system)
|
|
||||||
;;
|
|
||||||
;; Warning : DO NOT DELETE THIS FILE
|
|
||||||
;;
|
|
||||||
;; Run `ls -1 /sys/class/power_supply/` to list list batteries and adapters.
|
|
||||||
;;
|
|
||||||
;; Run `ls -1 /sys/class/backlight/` to list available graphics cards.
|
|
||||||
;;
|
|
||||||
;; Run `ip link | awk '/state UP/ {print $2}' | tr -d :` to get active network interface.
|
|
||||||
;;
|
|
||||||
;; Polybar Variables For Modules :
|
|
||||||
;; card = ${system.graphics_card}
|
|
||||||
;; battery = BAT0
|
|
||||||
;; adapter = AC
|
|
||||||
;; interface = ${system.network_interface}
|
|
||||||
|
|
||||||
[system]
|
|
||||||
adapter = AC0
|
|
||||||
battery = BAT0
|
|
||||||
graphics_card = intel_backlight
|
|
||||||
wlan_interface = wlan0
|
|
||||||
ethernet_interface = enp3s0
|
|
||||||
|
|
||||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
|
Loading…
Reference in New Issue
Block a user