mirror of
https://github.com/sahinakkaya/dotfiles.git
synced 2024-12-22 23:29: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
|
||||
cursor_warp = False
|
||||
auto_fullscreen = True
|
||||
focus_on_window_activation = "smart"
|
||||
wmname = "Qtile"
|
||||
focus_on_window_activation = "urgent"
|
||||
wmname = "LG3D"
|
||||
widget_defaults = dict(
|
||||
font='Cascadia Code',
|
||||
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 .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):
|
||||
keys.extend([
|
||||
Key([mod], j, lazy.group[i.name].toscreen(),
|
||||
desc="Switch to group {}".format(i.name)),
|
||||
|
||||
Key([mod, "shift"], j, lazy.window.togroup(i.name),
|
||||
desc="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)),
|
||||
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
|
||||
|
||||
from libqtile import hook
|
||||
from libqtile.command.client import InteractiveCommandClient
|
||||
|
||||
|
||||
@hook.subscribe.startup
|
||||
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,127 +2,147 @@ import os
|
||||
|
||||
from libqtile.config import Key, KeyChord
|
||||
from libqtile.lazy import lazy
|
||||
from libqtile.utils import guess_terminal
|
||||
|
||||
mod = "mod1"
|
||||
terminal = guess_terminal()
|
||||
mod = "mod4"
|
||||
terminal = "st"
|
||||
# terminal = "xfce4-terminal"
|
||||
home = os.path.expanduser
|
||||
|
||||
keys = [
|
||||
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
|
||||
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
|
||||
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
|
||||
Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
|
||||
# '`': 'grave',
|
||||
# '-': 'minus',
|
||||
# '=': 'equal',
|
||||
# '[': 'bracketleft',
|
||||
# ']': 'bracketright',
|
||||
# '\\': 'backslash',
|
||||
# ';': 'semicolon',
|
||||
# '\'': 'quote',
|
||||
# ',': 'comma',
|
||||
# '.': 'dot',
|
||||
Key([mod], "h", lazy.layout.left(), desc="Move focus to left"),
|
||||
Key([mod], "l", lazy.layout.right(), desc="Move focus to right"),
|
||||
Key([mod], "j", lazy.layout.down(), desc="Move focus down"),
|
||||
Key([mod], "k", lazy.layout.up(), desc="Move focus up"),
|
||||
|
||||
Key([mod], "Tab", lazy.screen.toggle_group(),
|
||||
desc="Toggle back and forth between latest groups"),
|
||||
Key([mod], "d", lazy.spawn("rofi -show combi"), desc="spawn rofi"),
|
||||
Key([mod], "Tab", lazy.screen.toggle_group(),
|
||||
desc="Toggle back and forth between latest groups"),
|
||||
Key([mod], "d", lazy.spawn("rofi -show combi"), desc="spawn rofi"),
|
||||
|
||||
# Move windows between left/right columns or move up/down in current stack.
|
||||
# Moving out of range in Columns layout will create new column.
|
||||
Key([mod, "shift"],
|
||||
"h",
|
||||
lazy.layout.shuffle_left(),
|
||||
desc="Move window to the left"),
|
||||
Key([mod, "shift"],
|
||||
"l",
|
||||
lazy.layout.shuffle_right(),
|
||||
desc="Move window to the right"),
|
||||
Key([mod, "shift"],
|
||||
"j",
|
||||
lazy.layout.shuffle_down(),
|
||||
desc="Move window down"),
|
||||
Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"),
|
||||
# Move windows between left/right columns or move up/down in current
|
||||
# stack. Moving out of range in Columns layout will create new column.
|
||||
Key([mod, "shift"], "h",
|
||||
lazy.layout.shuffle_left(), desc="Move window to the left"),
|
||||
Key([mod, "shift"], "l",
|
||||
lazy.layout.shuffle_right(), desc="Move window to the right"),
|
||||
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
|
||||
# will be to screen edge - window would shrink.
|
||||
Key([mod, "control"],
|
||||
"h",
|
||||
lazy.layout.grow_left(),
|
||||
desc="Grow window to the left"),
|
||||
Key([mod, "control"],
|
||||
"l",
|
||||
lazy.layout.grow_right(),
|
||||
desc="Grow window to the right"),
|
||||
Key([mod, "control"],
|
||||
"j",
|
||||
lazy.layout.grow_down(),
|
||||
desc="Grow window down"),
|
||||
Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"),
|
||||
KeyChord([mod], "w", [
|
||||
Key([], "g", lazy.layout.grow()),
|
||||
Key([], "s", lazy.layout.shrink()),
|
||||
Key([], "n", lazy.layout.normalize(), desc="Reset all window sizes"),
|
||||
Key([], "m", lazy.layout.maximize())],
|
||||
mode="Windows"
|
||||
),
|
||||
Key([mod], "f", lazy.window.toggle_fullscreen(), desc='Toggle fullscreen'),
|
||||
Key([mod, "shift"], "f", lazy.window.toggle_floating(),
|
||||
desc='Toggle floating'),
|
||||
# Grow windows. If current window is on the edge of screen and direction
|
||||
# will be to screen edge - window would shrink.
|
||||
Key([mod, "control"], "h",
|
||||
lazy.layout.grow_left(), desc="Grow window to the left"),
|
||||
Key([mod, "control"], "l",
|
||||
lazy.layout.grow_right(), desc="Grow window to the right"),
|
||||
Key([mod, "control"], "j",
|
||||
lazy.layout.grow_down(), desc="Grow window down"),
|
||||
Key([mod, "control"], "k",
|
||||
lazy.layout.grow_up(), desc="Grow window up"),
|
||||
# KeyChord([mod], "w", [
|
||||
# Key([], "g", lazy.layout.grow()),
|
||||
# Key([], "s", lazy.layout.shrink()),
|
||||
# Key([], "n", lazy.layout.normalize(), desc="Reset all window sizes"),
|
||||
# Key([], "m", lazy.layout.maximize())],
|
||||
# mode="Windows"
|
||||
# ),
|
||||
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.
|
||||
# Split = all windows displayed
|
||||
# Unsplit = 1 window displayed, like Max layout, but still with
|
||||
# multiple stack panes
|
||||
Key([mod, "shift"],
|
||||
"Return",
|
||||
lazy.layout.toggle_split(),
|
||||
desc="Toggle between split and unsplit sides of stack"),
|
||||
Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
|
||||
# Toggle between split and unsplit sides of stack.
|
||||
# Split = all windows displayed
|
||||
# Unsplit = 1 window displayed, like Max layout, but still with
|
||||
# multiple stack panes
|
||||
Key([mod, "shift"], "Return",
|
||||
lazy.layout.toggle_split(),
|
||||
desc="Toggle between split and unsplit sides of stack"),
|
||||
Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"),
|
||||
|
||||
# Toggle between different layouts as defined below
|
||||
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], "e", lazy.screen.prev_group(), desc="Move to the group on the left"),
|
||||
Key([mod], "u", 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"], "space", lazy.layout.flip()),
|
||||
Key([mod, "control"], "r", lazy.restart(), desc="Restart Qtile"),
|
||||
Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
|
||||
Key([mod, "shift"],
|
||||
"d",
|
||||
lazy.spawncmd(),
|
||||
desc="Spawn a command using a prompt widget"),
|
||||
Key([mod], "s", lazy.spawn("passmenu"), desc="Spawn passmenu"),
|
||||
# Toggle between different layouts as defined below
|
||||
Key([mod], "space", lazy.next_layout(), desc="Toggle between layouts"),
|
||||
Key([mod, 'shift'], "space",
|
||||
lazy.spawn("chlayout"), desc="Next keyboard layout."),
|
||||
Key([mod], "comma",
|
||||
lazy.screen.prev_group(), desc="Move to the group on the 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"], "space", lazy.layout.flip()),
|
||||
Key([mod, "control"], "r", lazy.restart(), desc="Restart Qtile"),
|
||||
Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
|
||||
Key([mod, "control"], "n",
|
||||
lazy.spawn("lock-screen"), desc="Lock screen"),
|
||||
Key([mod, "control"], "s",
|
||||
lazy.spawn("toggle-screenkey"), desc="Show keys on screen"),
|
||||
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], "i", lazy.spawn("sxiv " + home("~/Pictures/keyboard-layout.jpg")), desc="Show current keyboard layout"),
|
||||
# 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], "b", lazy.spawn(home("~/Desktop/GitRepositories/rofi-bluetooth/rofi-bluetooth")),
|
||||
# desc="Control bluetooth devices"),
|
||||
Key([mod], "b", lazy.spawn('rofi-bluetooth'),
|
||||
desc="Manage bluetooth devices"),
|
||||
|
||||
# Key([mod], "x", lazy.spawn(home("~/scripts/kill-process.sh")),
|
||||
# desc="Kill processes using rofi"),
|
||||
Key([mod], "v", lazy.spawn('polybar-wireguard --toggle'),
|
||||
desc="Manage VPN connections"),
|
||||
|
||||
# == audio
|
||||
# Key([mod], "x", lazy.spawn(home("~/scripts/kill-process.sh")),
|
||||
# desc="Kill processes using rofi"),
|
||||
|
||||
Key([], "XF86AudioRaiseVolume",
|
||||
lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ +5%")),
|
||||
Key([], "XF86AudioLowerVolume",
|
||||
lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ -5%")),
|
||||
Key([], "XF86AudioMute",
|
||||
lazy.spawn("pactl set-sink-mute @DEFAULT_SINK@ toggle")),
|
||||
Key([], "XF86AudioMicMute",
|
||||
lazy.spawn("pactl set-source-mute @DEFAULT_SOURCE@ toggle")),
|
||||
# == audio
|
||||
|
||||
Key([], "XF86AudioRaiseVolume",
|
||||
lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ +5%")),
|
||||
Key([], "XF86AudioLowerVolume",
|
||||
lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ -5%")),
|
||||
Key([], "XF86AudioMute",
|
||||
lazy.spawn("pactl set-sink-mute @DEFAULT_SINK@ toggle")),
|
||||
Key([], "XF86AudioMicMute",
|
||||
lazy.spawn("pactl set-source-mute @DEFAULT_SOURCE@ toggle")),
|
||||
|
||||
|
||||
# == backlight
|
||||
Key([], "XF86MonBrightnessUp",
|
||||
lazy.spawn("xbacklight -inc 5")),
|
||||
Key([], "XF86MonBrightnessDown",
|
||||
lazy.spawn("xbacklight -dec 5")),
|
||||
# == backlight
|
||||
Key([], "XF86MonBrightnessUp",
|
||||
lazy.spawn("xbacklight -inc 5")),
|
||||
Key([], "XF86MonBrightnessDown",
|
||||
lazy.spawn("xbacklight -dec 5")),
|
||||
|
||||
# Key([], "XF86KbdBrightnessUp",
|
||||
# lazy.spawn(home("~/scripts/keyboard_backlight.sh inc"))),
|
||||
# Key([], "XF86KbdBrightnessDown",
|
||||
# lazy.spawn(home("~/scripts/keyboard_backlight.sh dec"))),
|
||||
Key([], "Print",
|
||||
lazy.spawn("flameshot gui")),
|
||||
|
||||
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",
|
||||
# lazy.spawn(home("~/scripts/toggle-touchpad.sh"))),
|
||||
Key([], "XF86TouchpadToggle",
|
||||
lazy.spawn("toggle-touchpad.sh")),
|
||||
]
|
||||
|
@ -7,9 +7,9 @@ from libqtile.config import Match
|
||||
# "border_focus": "#5294e2",
|
||||
# "border_normal": "#2c5380"}
|
||||
layouts = [
|
||||
layout.MonadTall(margin=8, border_focus='#5294e2',
|
||||
border_normal='#2c5380'),
|
||||
#layout.Columns(border_focus_stack='#d75f5f'),
|
||||
# layout.MonadTall(margin=8, border_focus='#5294e2',
|
||||
# border_normal='#2c5380'),
|
||||
layout.Columns(margin=8, border_focus_stack='#d75f5f'),
|
||||
layout.Max(),
|
||||
# Try more layouts by unleashing below layouts.
|
||||
# layout.Stack(num_stacks=2),
|
||||
@ -31,6 +31,10 @@ floating_layout = layout.Floating(float_rules=[
|
||||
Match(wm_class='makebranch'), # gitk
|
||||
Match(wm_class='maketag'), # gitk
|
||||
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='pinentry'), # GPG key password entry
|
||||
])
|
||||
|
@ -1,5 +1,3 @@
|
||||
from libqtile.config import Screen
|
||||
|
||||
from .widgets import *
|
||||
|
||||
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