Compare commits

...

10 commits

Author SHA1 Message Date
fe78b2b0c3 prepare system migration 2025-08-08 16:23:05 +02:00
4090294e27 saving state before system upgrade 2025-02-21 10:49:18 +01:00
806fb0f269 minor error correction 2024-11-20 21:07:49 +01:00
ac51e596a0 get rid of templates 2024-11-20 19:27:56 +01:00
490c8e0abc fixed beets 2024-11-16 11:09:14 +01:00
2c112c549b fixed beets 2024-11-16 10:52:41 +01:00
0e52e123c5 added beets 2024-11-16 10:51:04 +01:00
1db2f5c097 nerdfonts 2024-10-04 18:47:40 +02:00
c07794a6f4 reduce qtile config to XFCE 2024-09-30 22:36:00 +02:00
9fc9f17117 add xplr 2024-02-23 18:36:27 +01:00
10 changed files with 416 additions and 188 deletions

View file

@ -0,0 +1,8 @@
directory: ~/Music
import:
move: yes
paths:
default: $albumartist/($year) $album/$track - $title
singleton: Non-Album/$artist/$title
comp: Compilations/$album%aunique{}/$track - $title
plugins: duplicates

View file

@ -1,7 +1,9 @@
theme = "gruvbox" theme = "gruvbox_transparent"
[editor] [editor]
cursorline = true cursorline = true
[editor.soft-wrap]
enable = true
[editor.cursor-shape] [editor.cursor-shape]
insert = "bar" insert = "bar"
normal = "block" normal = "block"

View file

@ -0,0 +1,2 @@
inherits = "gruvbox"
"ui.background" = {}

View file

@ -0,0 +1,80 @@
[General]
version=3.22.0
save_mode_on_exit=1
save_definitions_on_exit=1
ignore_locale=0
colorize=1
auto_update_exchange_rates=-1
spacious=1
vertical_space=1
excessive_parenthesis=0
short_multiplication=1
use_unicode_signs=1
lower_case_numbers=0
lower_case_e=0
imaginary_j=0
base_display=1
twos_complement=1
hexadecimal_twos_complement=0
spell_out_logical_operators=1
digit_grouping=0
decimal_comma=-1
dot_as_separator=-1
comma_as_separator=0
multiplication_sign=2
division_sign=0
[Mode]
min_deci=0
use_min_deci=0
max_deci=2
use_max_deci=0
precision=10
interval_arithmetic=1
interval_display=0
min_exp=-1
negative_exponents=0
sort_minus_last=1
number_fraction_format=-1
complex_number_form=0
use_prefixes=1
use_prefixes_for_all_units=0
use_prefixes_for_currencies=0
use_binary_prefixes=0
abbreviate_names=1
all_prefixes_enabled=0
denominator_prefix_enabled=1
place_units_separately=1
auto_post_conversion=3
mixed_units_conversion=3
local_currency_conversion=1
number_base=10
number_base_expression=10
read_precision=0
assume_denominators_nonzero=1
warn_about_denominators_assumed_nonzero=1
structuring=1
angle_unit=1
caret_as_xor=0
functions_enabled=1
variables_enabled=1
calculate_variables=1
calculate_functions=1
variable_units_enabled=1
sync_units=1
unknownvariables_enabled=0
units_enabled=1
allow_complex=1
allow_infinite=1
indicate_infinite_series=0
show_ending_zeroes=1
round_halfway_to_even=0
approximation=-1
interval_calculation=1
in_rpn_mode=0
rpn_syntax=0
limit_implicit_multiplication=0
parsing_mode=0
default_assumption_type=4
default_assumption_sign=0

View file

@ -1,15 +1,28 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os import os
# import re import re
import socket import socket
import subprocess import subprocess
from libqtile import qtile from libqtile import qtile
from libqtile.config import Click, Drag, Group, KeyChord, Key, Match, Screen, ScratchPad, DropDown from libqtile.config import (
Click,
Drag,
Group,
KeyChord,
Key,
Match,
Screen,
ScratchPad,
DropDown,
)
# from libqtile.command import lazy # from libqtile.command import lazy
from libqtile import layout, bar, hook # ,widget from libqtile import layout, bar, hook # ,widget
from libqtile.lazy import lazy from libqtile.lazy import lazy
# from libqtile.utils import guess_terminal # from libqtile.utils import guess_terminal
from libqtile.dgroups import simple_key_binder from libqtile.dgroups import simple_key_binder
# from typing import List # from typing import List
from qtile_extras import widget from qtile_extras import widget
from qtile_extras.widget import UPowerWidget from qtile_extras.widget import UPowerWidget
@ -18,118 +31,166 @@ from qtile_extras.widget.decorations import PowerLineDecoration
from qutils import get_num_screens, get_network_interface, get_batteries, Colors from qutils import get_num_screens, get_network_interface, get_batteries, Colors
mod = "mod4" # Sets mod key to SUPER/WINDOWS mod = "mod4" # Sets mod key to SUPER/WINDOWS
myTerm = "alacritty" myTerm = "wezterm"
myBrowser = "firefox" myBrowser = "firefox"
{{ if eq .chezmoi.hostname "t450s" }}
myExplorer = "thunar" myExplorer = "thunar"
sound_ctrl = "pavucontrol" sound_ctrl = "pavucontrol"
update_distro_key = "Arch"
bt_ctrl = "blueman-manager"
{{ else }}
myExplorer = "nemo"
sound_ctrl = "cinnamon-settings sound"
update_distro_key = "Ubuntu" update_distro_key = "Ubuntu"
bt_ctrl = "blueberry" bt_ctrl = "blueman-manager"
{{ end }}
keys = [ keys = [
# ## The essentials # ## The essentials
Key([mod], "Return", lazy.spawn(myTerm), desc='Launches My Terminal'), Key([mod], "Return", lazy.spawn(myTerm), desc="Launches My Terminal"),
Key([mod], "space", lazy.spawn("rofi -show run"), desc='Run Launcher'), Key([mod], "space", lazy.spawn("rofi -show run"), desc="Run Launcher"),
Key([mod], "b", lazy.spawn(myBrowser), desc='Qutebrowser'), Key([mod], "b", lazy.spawn(myBrowser), desc="Web Browser"),
Key([mod], "l", lazy.spawn("cinnamon-screensaver-command -a"), desc='Qutebrowser'), Key([mod], "e", lazy.spawn(myExplorer), desc="File Explorer"),
Key([mod], "Tab", lazy.next_layout(), desc='Toggle through layouts'), Key([mod], "l", lazy.spawn("xflock4"), desc="Screen Lock"),
Key([mod, "shift"], "c", lazy.window.kill(), desc='Kill active window'), Key([mod], "Tab", lazy.next_layout(), desc="Toggle through layouts"),
Key([mod, "shift"], "r", lazy.restart(), desc='Restart Qtile'), Key([mod, "shift"], "c", lazy.window.kill(), desc="Kill active window"),
Key([mod, "shift"], "q", lazy.shutdown(), desc='Shutdown Qtile'), Key([mod, "shift"], "r", lazy.restart(), desc="Restart Qtile"),
Key([mod, "shift"], "p", lazy.spawn("""rofi -show p -modi p:'rofi-power-menu \\ Key([mod, "shift"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
Key(
[mod, "shift"],
"p",
lazy.spawn(
"""rofi -show p -modi p:'rofi-power-menu \\
--symbols-font \"Symbols Nerd Font Mono\" \\ --symbols-font \"Symbols Nerd Font Mono\" \\
--choices=shutdown/reboot/suspend/logout' \\ --choices=shutdown/reboot/suspend/logout' \\
-theme-str 'window {width: 12em;} listview {lines: 4;}'"""), -theme-str 'window {width: 12em;} listview {lines: 4;}'"""
desc='Run Shutdown Menu'), ),
desc="Run Shutdown Menu",
Key([mod], "period", lazy.spawn("rofimoji"), desc='Emoji Picker'), ),
Key([mod], "Print", lazy.spawn("flameshot gui"), desc='Summon the screenshot tool.'), Key([mod], "period", lazy.spawn("rofimoji"), desc="Emoji Picker"),
Key(
[mod], "Print", lazy.spawn("flameshot gui"), desc="Summon the screenshot tool."
),
# ## Switch focus of monitors # ## Switch focus of monitors
Key([mod, "control"], "Right", lazy.next_screen(), desc='Move focus to next monitor'), Key(
Key([mod, "control"], "Left", lazy.prev_screen(), desc='Move focus to prev monitor'), [mod, "control"], "Right", lazy.next_screen(), desc="Move focus to next monitor"
),
Key(
[mod, "control"], "Left", lazy.prev_screen(), desc="Move focus to prev monitor"
),
# ## Window controls # ## Window controls
Key([mod], "Up", lazy.layout.up(), desc='Move focus up'), Key([mod], "Up", lazy.layout.up(), desc="Move focus up"),
Key([mod], "Down", lazy.layout.down(), desc='Move focus down'), Key([mod], "Down", lazy.layout.down(), desc="Move focus down"),
Key([mod], "Left", lazy.layout.left(), desc='Move focus left'), Key([mod], "Left", lazy.layout.left(), desc="Move focus left"),
Key([mod], "Right", lazy.layout.right(), desc='Move focus right'), Key([mod], "Right", lazy.layout.right(), desc="Move focus right"),
Key(
Key([mod, "shift"], "Up", lazy.layout.shuffle_up(), lazy.layout.section_up(), [mod, "shift"],
desc='Move windows up in current stack'), "Up",
Key([mod, "shift"], "Down", lazy.layout.shuffle_down(), lazy.layout.section_down(), lazy.layout.shuffle_up(),
desc='Move windows down in current stack'), lazy.layout.section_up(),
Key([mod, "shift"], "Left", lazy.layout.shuffle_left(), desc='Move windows left'), desc="Move windows up in current stack",
Key([mod, "shift"], "Right", lazy.layout.shuffle_right(), desc='Move windows right'), ),
Key(
Key([mod], "minus", lazy.layout.shrink(), lazy.layout.decrease_nmaster(), [mod, "shift"],
desc='Shrink window (MonadTall), decrease number in master pane (Tile)'), "Down",
Key([mod], "equal", lazy.layout.grow(), lazy.layout.increase_nmaster(), lazy.layout.shuffle_down(),
desc='Expand window (MonadTall), increase number in master pane (Tile)'), lazy.layout.section_down(),
desc="Move windows down in current stack",
),
Key([mod, "shift"], "Left", lazy.layout.shuffle_left(), desc="Move windows left"),
Key(
[mod, "shift"], "Right", lazy.layout.shuffle_right(), desc="Move windows right"
),
Key(
[mod],
"minus",
lazy.layout.shrink(),
lazy.layout.decrease_nmaster(),
desc="Shrink window (MonadTall), decrease number in master pane (Tile)",
),
Key(
[mod],
"equal",
lazy.layout.grow(),
lazy.layout.increase_nmaster(),
desc="Expand window (MonadTall), increase number in master pane (Tile)",
),
# 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"], "Up", lazy.layout.grow_up(), desc="Grow window up"), # Key([mod, "control"], "Up", lazy.layout.grow_up(), desc="Grow window up"),
# Key([mod, "control"], "Down", lazy.layout.grow_down(), desc="Grow window down"), # Key([mod, "control"], "Down", lazy.layout.grow_down(), desc="Grow window down"),
# Key([mod, "control"], "Left", lazy.layout.grow_left(), desc="Grow window to the left"), # Key([mod, "control"], "Left", lazy.layout.grow_left(), desc="Grow window to the left"),
# Key([mod, "control"], "Right", lazy.layout.grow_right(), desc="Grow window to the right"), # Key([mod, "control"], "Right", lazy.layout.grow_right(), desc="Grow window to the right"),
Key([mod], "n", lazy.layout.normalize(), desc="normalize window size ratios"),
Key([mod], "n", lazy.layout.normalize(), desc='normalize window size ratios'), Key(
Key([mod], "m", lazy.layout.maximize(), desc='toggle window between minimum and maximum sizes'), [mod],
"m",
Key([mod, "shift"], "f", lazy.window.toggle_floating(), desc='toggle floating'), lazy.layout.maximize(),
Key([mod], "f", lazy.window.toggle_fullscreen(), desc='toggle fullscreen'), desc="toggle window between minimum and maximum sizes",
),
Key([mod, "shift"], "f", lazy.window.toggle_floating(), desc="toggle floating"),
Key([mod], "f", lazy.window.toggle_fullscreen(), desc="toggle fullscreen"),
# ## Stack controls # ## Stack controls
Key([mod, "shift"], "Tab", lazy.layout.rotate(), lazy.layout.flip(), Key(
desc='Switch which side main pane occupies (XmonadTall)'), [mod, "shift"],
"Tab",
lazy.layout.rotate(),
lazy.layout.flip(),
desc="Switch which side main pane occupies (XmonadTall)",
),
# Key([mod], "space", lazy.layout.next(), desc='Switch window focus to other pane(s) of stack'), # Key([mod], "space", lazy.layout.next(), desc='Switch window focus to other pane(s) of stack'),
# Key([mod, "shift"], "space", lazy.layout.toggle_split(), # Key([mod, "shift"], "space", lazy.layout.toggle_split(),
# desc='Toggle between split and unsplit sides of stack'), # desc='Toggle between split and unsplit sides of stack'),
] ]
groups = [Group("CHT", matches=[Match(wm_class=('microsoft teams - preview'))]), matchers = {
Group("WWW", "browser": Match(
matches=[Match(wm_class=['Firefox', wm_class=re.compile(
'firefox', r"^(Firefox|firefox|firefox\-bin|Chromium|Google\-chrome|google\-chrome)$"
'firefox-bin', )
'Chromium', ),
'Google-chrome', "pkm": Match(wm_class=re.compile(r"^(obsidian)$")),
'google-chrome'])]), }
groups = [
Group("CHT"),
Group("WWW", matches=[matchers["browser"]]),
Group("DEV"), Group("DEV"),
Group("SYS"), Group("SYS"),
Group("REF"), Group("REF"),
Group("DOC", matches=[Match(wm_class=['obsidian'])]), Group("DOC", matches=[matchers["pkm"]]),
Group("DMP")] Group("-7-"),
Group("-8-"),
Group("-9-"),
Group("-0-"),
]
# Allow MODKEY+[0 through 9] to bind to groups, see https://docs.qtile.org/en/stable/manual/config/groups.html # Allow MODKEY+[0 through 9] to bind to groups, see https://docs.qtile.org/en/stable/manual/config/groups.html
# MOD4 + index Number : Switch to Group[index] # MOD4 + index Number : Switch to Group[index]
# MOD4 + shift + index Number : Send active window to another Group # MOD4 + shift + index Number : Send active window to another Group
dgroups_key_binder = simple_key_binder("mod4") dgroups_key_binder = simple_key_binder("mod4")
groups.append(ScratchPad('scratch', [ groups.append(
DropDown('term', myTerm, height=0.66, width=0.66, x=0.166, y=0.166), ScratchPad(
DropDown('qalc', myTerm+' -e qalc', height=0.66, width=0.33, x=0.33, y=0.166), "scratch",
DropDown('file', myExplorer, height=0.66, width=0.66, x=0.166, y=0.166), [
DropDown('sound', sound_ctrl, height=0.66, width=0.50, x=0.25, y=0.166), DropDown("term", myTerm, height=0.66, width=0.66, x=0.166, y=0.166),
DropDown('bluetooth', bt_ctrl, height=0.66, width=0.50, x=0.25, y=0.166), DropDown(
]), "qalc", myTerm + " -e qalc", height=0.66, width=0.33, x=0.33, y=0.166
),
# DropDown('file', myExplorer, height=0.66, width=0.66, x=0.166, y=0.166),
DropDown("sound", sound_ctrl, height=0.66, width=0.50, x=0.25, y=0.166),
DropDown("bluetooth", bt_ctrl, height=0.66, width=0.50, x=0.25, y=0.166),
],
),
) )
keys.extend([ keys.extend(
Key([mod], 'q', lazy.group['scratch'].dropdown_toggle('qalc')), [
Key([mod], 'w', lazy.group['scratch'].dropdown_toggle('term')), Key([mod], "q", lazy.group["scratch"].dropdown_toggle("qalc")),
Key([mod], 'e', lazy.group['scratch'].dropdown_toggle('file')), Key([mod], "w", lazy.group["scratch"].dropdown_toggle("term")),
Key([mod], 's', lazy.group['scratch'].dropdown_toggle('sound')), # Key([mod], 'e', lazy.group['scratch'].dropdown_toggle('file')),
Key([mod], 'd', lazy.group['scratch'].dropdown_toggle('bluetooth')), Key([mod], "s", lazy.group["scratch"].dropdown_toggle("sound")),
]) Key([mod], "d", lazy.group["scratch"].dropdown_toggle("bluetooth")),
]
)
layout_theme = {"border_width": 2, layout_theme = {
"border_width": 2,
"margin": 8, "margin": 8,
"border_focus": Colors.green, "border_focus": Colors.green,
"border_normal": Colors.grey, "border_normal": Colors.grey,
@ -170,31 +231,25 @@ prompt = "{0}@{1}: ".format(os.environ["USER"], socket.gethostname())
# #### DEFAULT WIDGET SETTINGS ##### # #### DEFAULT WIDGET SETTINGS #####
widget_defaults = dict( widget_defaults = dict(
font="FiraCode Nerd Font Bold", font="FiraCode Nerd Font Bold", fontsize=11, padding=0, background=Colors.bg
fontsize=11,
padding=0,
background=Colors.bg
) )
extension_defaults = widget_defaults.copy() extension_defaults = widget_defaults.copy()
def init_widgets_list(): def init_widgets_list():
powerline = { powerline = {"decorations": [PowerLineDecoration(path="back_slash")]}
"decorations": [
PowerLineDecoration(path='back_slash')
]
}
widgets_list = [ widgets_list = [
# widget.Image(filename = "~/.config/qtile/icons/python-white.png"), # widget.Image(filename = "~/.config/qtile/icons/python-white.png"),
widget.TextBox( widget.TextBox(
text=u'\ue73c', text="\ue73c",
foreground=Colors.fg, foreground=Colors.fg,
fontsize=22, fontsize=22,
padding=12, padding=12,
# mouse_callbacks={'Button1': lambda: qtile.cmd_spawn(myTerm)} # mouse_callbacks={'Button1': lambda: qtile.cmd_spawn(myTerm)}
), ),
widget.GroupBox( widget.GroupBox(
disable_drag=True,
font="Ubuntu Bold", font="Ubuntu Bold",
fontsize=9, fontsize=9,
margin_y=3, margin_y=3,
@ -205,6 +260,7 @@ def init_widgets_list():
active=Colors.fg, active=Colors.fg,
inactive=Colors.grey, inactive=Colors.grey,
rounded=False, rounded=False,
hide_unused=True,
highlight_color=Colors.orange, highlight_color=Colors.orange,
highlight_method="line", highlight_method="line",
this_current_screen_border=Colors.blue, this_current_screen_border=Colors.blue,
@ -212,24 +268,18 @@ def init_widgets_list():
this_screen_border=Colors.blue, this_screen_border=Colors.blue,
other_current_screen_border=Colors.grey, other_current_screen_border=Colors.grey,
foreground=Colors.fg, foreground=Colors.fg,
background=Colors.bg background=Colors.bg,
),
widget.Sep(
foreground=Colors.red,
padding=8
), ),
widget.Sep(foreground=Colors.red, padding=8),
widget.CurrentLayoutIcon( widget.CurrentLayoutIcon(
# custom_icon_paths=[os.path.expanduser("~/.config/qtile/icons")], # custom_icon_paths=[os.path.expanduser("~/.config/qtile/icons")],
foreground=Colors.red, foreground=Colors.red,
background=Colors.bg, background=Colors.bg,
padding=0, padding=0,
scale=0.7 scale=0.7,
), ),
widget.Prompt(), widget.Prompt(),
widget.Sep( widget.Sep(foreground=Colors.red, padding=8),
foreground=Colors.red,
padding=8
),
widget.WindowName( widget.WindowName(
fontsize=10, fontsize=10,
foreground=Colors.yellow, foreground=Colors.yellow,
@ -246,14 +296,14 @@ def init_widgets_list():
foreground=Colors.bg, foreground=Colors.bg,
background=Colors.orange, background=Colors.orange,
threshold=90, threshold=90,
fmt='\uf8c7 {}', fmt="T {}",
**powerline, **powerline,
), ),
widget.CheckUpdates( widget.CheckUpdates(
update_interval=1800, update_interval=1800,
distro=update_distro_key, distro=update_distro_key,
markup=False, markup=False,
display_format="\uf546 {updates}", display_format="apt {updates}",
foreground=Colors.bg, foreground=Colors.bg,
colour_have_updates=Colors.bg, colour_have_updates=Colors.bg,
colour_no_updates=Colors.bg, colour_no_updates=Colors.bg,
@ -263,22 +313,22 @@ def init_widgets_list():
widget.Memory( widget.Memory(
foreground=Colors.bg, foreground=Colors.bg,
background=Colors.purple, background=Colors.purple,
mouse_callbacks={'Button1': lambda: qtile.cmd_spawn(myTerm + ' -e htop')}, mouse_callbacks={"Button1": lambda: qtile.cmd_spawn(myTerm + " -e htop")},
fmt='{}', fmt="{}",
format='\uf85a{MemPercent:5.1f} %', format="M {MemPercent:5.1f}%",
**powerline, **powerline,
), ),
widget.CPU( widget.CPU(
foreground=Colors.bg, foreground=Colors.bg,
background=Colors.blue, background=Colors.blue,
fmt='{}', fmt="{}",
format='\ufb19{load_percent:5.1f}%', format="C {load_percent:5.1f}",
**powerline, **powerline,
), ),
widget.Net( widget.Net(
interface=get_network_interface(), interface=get_network_interface(),
format='{down} ↓↑ {up}', format="{down:6.2f} ↓↑ {up:6.2f}",
prefix='M', prefix="M",
foreground=Colors.bg, foreground=Colors.bg,
background=Colors.aqua, background=Colors.aqua,
**powerline, **powerline,
@ -287,7 +337,7 @@ def init_widgets_list():
foreground=Colors.bg, foreground=Colors.bg,
background=Colors.green, background=Colors.green,
format="%Y-%m-%d %a %H:%M ", format="%Y-%m-%d %a %H:%M ",
padding=5 padding=5,
), ),
] ]
@ -297,33 +347,32 @@ def init_widgets_list():
"border_colour": Colors.bg, "border_colour": Colors.bg,
"border_critical_colour": Colors.red, "border_critical_colour": Colors.red,
"border_charge_colour": Colors.blue, "border_charge_colour": Colors.blue,
"fill_critical": Colors.red, "fill_critical": Colors.red,
"fill_low": Colors.red, "fill_low": Colors.red,
"fill_normal": Colors.bg2, "fill_normal": Colors.bg2,
"text_charging": "({percentage:.0f}%) {ttf}",
"text_charging": '({percentage:.0f}%) {ttf}', "text_discharging": "({percentage:.0f}%) {tte}",
"text_discharging": '({percentage:.0f}%) {tte}',
"spacing": 10, "spacing": 10,
} }
upw_kwargs.update(powerline) upw_kwargs.update(powerline)
widgets_list[8:8] = [UPowerWidget(battery_name=battery, **upw_kwargs) for battery in get_batteries()] widgets_list[8:8] = [
UPowerWidget(battery_name=battery, **upw_kwargs) for battery in get_batteries()
]
return widgets_list return widgets_list
def init_widgets_screen_aux(): def init_widgets_screen_aux():
widgets_screen1 = init_widgets_list() widgets_screen = init_widgets_list()
del widgets_screen1[7:8] # Slicing removes (systray) on Monitors 1,3 del widgets_screen[7:8] # Slicing removes (systray) on Monitors 1,3
del widgets_screen1[4:5] # Slicing removes (prompt) on Monitors 1,3 del widgets_screen[4:5] # Slicing removes (prompt) on Monitors 1,3
return widgets_screen1 return widgets_screen
def init_widgets_screen_main(): def init_widgets_screen_main():
widgets_screen2 = init_widgets_list() widgets_screen = init_widgets_list()
return widgets_screen2 # display all widgets in widgets_list return widgets_screen # display all widgets in widgets_list
def init_screens(): def init_screens():
@ -332,9 +381,11 @@ def init_screens():
if num_screens <= 1: if num_screens <= 1:
screens = [main] screens = [main]
else: else:
screens = [Screen(top=bar.Bar(widgets=init_widgets_screen_aux(), opacity=1.0, size=20)) screens = [
for _ in range(num_screens - 1)] Screen(top=bar.Bar(widgets=init_widgets_screen_aux(), opacity=1.0, size=20))
screens.insert(1, main) for _ in range(num_screens - 1)
]
screens.insert(0, main)
return screens return screens
@ -378,11 +429,16 @@ def switch_screens(qtile):
mouse = [ mouse = [
Drag([mod], "Button1", lazy.window.set_position_floating(), Drag(
start=lazy.window.get_position()), [mod],
Drag([mod], "Button3", lazy.window.set_size_floating(), "Button1",
start=lazy.window.get_size()), lazy.window.set_position_floating(),
Click([mod], "Button2", lazy.window.bring_to_front()) start=lazy.window.get_position(),
),
Drag(
[mod], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()
),
Click([mod], "Button2", lazy.window.bring_to_front()),
] ]
dgroups_app_rules = [] # type: List dgroups_app_rules = [] # type: List
@ -390,16 +446,18 @@ follow_mouse_focus = True
bring_front_click = False bring_front_click = False
cursor_warp = False cursor_warp = False
floating_layout = layout.Floating(float_rules=[ floating_layout = layout.Floating(
float_rules=[
# Run the utility of `xprop` to see the wm class and name of an X client. # Run the utility of `xprop` to see the wm class and name of an X client.
# default_float_rules include: utility, notification, toolbar, splash, dialog, # default_float_rules include: utility, notification, toolbar, splash, dialog,
# file_progress, confirm, download and error. # file_progress, confirm, download and error.
*layout.Floating.default_float_rules, *layout.Floating.default_float_rules,
Match(title='Confirmation'), # tastyworks exit box Match(title="Confirmation"), # tastyworks exit box
Match(title='Qalculate!'), # qalculate-gtk Match(title="Qalculate!"), # qalculate-gtk
Match(wm_class='kdenlive'), # kdenlive Match(wm_class="kdenlive"), # kdenlive
Match(wm_class='pinentry-gtk-2'), # GPG key password entry Match(wm_class="pinentry-gtk-2"), # GPG key password entry
]) ]
)
auto_fullscreen = True auto_fullscreen = True
focus_on_window_activation = "smart" focus_on_window_activation = "smart"
reconfigure_screens = True reconfigure_screens = True
@ -411,8 +469,8 @@ auto_minimize = True
@hook.subscribe.startup_once @hook.subscribe.startup_once
def start_once(): def start_once():
home = os.path.expanduser('~') home = os.path.expanduser("~")
subprocess.call([home + '/.config/qtile/up.sh']) subprocess.call([home + "/.config/qtile/up.sh"])
wmname = "LG3D" wmname = "LG3D"

View file

@ -0,0 +1,13 @@
-- The only required line is this one.
local wezterm = require 'wezterm'
-- This will hold the configuration.
local config = wezterm.config_builder()
-- This is where you actually apply your config choices
-- For example, changing the color scheme:
config.color_scheme = 'Liquid Carbon (Gogh)'
config.hide_tab_bar_if_only_one_tab = true
config.window_background_opacity = 0.85
-- and finally, return the configuration to wezterm
return config

33
dot_config/xplr/init.lua Normal file
View file

@ -0,0 +1,33 @@
version = '0.20.1'
local home = os.getenv("HOME")
local xpm_path = home .. "/.local/share/xplr/dtomvan/xpm.xplr"
local xpm_url = "https://github.com/dtomvan/xpm.xplr"
package.path = package.path
.. ";"
.. xpm_path
.. "/?.lua;"
.. xpm_path
.. "/?/init.lua"
os.execute(
string.format(
"[ -e '%s' ] || git clone '%s' '%s'",
xpm_path,
xpm_url,
xpm_path
)
)
require("xpm").setup({
plugins = {
-- Let xpm manage itself
'dtomvan/xpm.xplr',
'sayanarijit/fzf.xplr',
'sayanarijit/zoxide.xplr',
-- 'sayanarijit/alacritty.xplr'
},
auto_install = true,
auto_cleanup = true,
})

View file

@ -0,0 +1,36 @@
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Bold-Italic/VictorMonoNerdFont-BoldItalic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Bold-Oblique/VictorMonoNerdFont-BoldOblique.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Bold/VictorMonoNerdFont-Bold.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Extra-Light-Italic/VictorMonoNerdFont-ExtraLightItalic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Extra-Light-Oblique/VictorMonoNerdFont-ExtraLightOblique.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Extra-Light/VictorMonoNerdFont-ExtraLight.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Italic/VictorMonoNerdFont-Italic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Light-Italic/VictorMonoNerdFont-LightItalic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Light-Oblique/VictorMonoNerdFont-LightOblique.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Light/VictorMonoNerdFont-Light.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Medium-Italic/VictorMonoNerdFont-MediumItalic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Medium-Oblique/VictorMonoNerdFont-MediumOblique.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Medium/VictorMonoNerdFont-Medium.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Qblique/VictorMonoNerdFont-Qblique.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Regular/VictorMonoNerdFont-Regular.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Semi-Bold-Italic/VictorMonoNerdFont-SemiBoldItalic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Semi-Bold-Oblique/VictorMonoNerdFont-SemiBoldOblique.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Semi-Bold/VictorMonoNerdFont-SemiBold.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Thin-Italic/VictorMonoNerdFont-ThinItalic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Thin-Oblique/VictorMonoNerdFont-ThinOblique.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/VictorMono/Thin/VictorMonoNerdFont-Thin.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/UbuntuMono/Bold-Italic/UbuntuMonoNerdFont-BoldItalic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/UbuntuMono/Bold/UbuntuMonoNerdFont-Bold.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/UbuntuMono/Regular-Italic/UbuntuMonoNerdFont-Italic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/UbuntuMono/Regular/UbuntuMonoNerdFont-Regular.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Bold-Italic/UbuntuNerdFont-BoldItalic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Bold/UbuntuNerdFont-Bold.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Light-Italic/UbuntuNerdFont-LightItalic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Light/UbuntuNerdFont-Light.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Medium-Italic/UbuntuNerdFont-MediumItalic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Medium/UbuntuNerdFont-Medium.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Regular-Italic/UbuntuNerdFont-Italic.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Regular/UbuntuNerdFont-Regular.ttf
https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Ubuntu/Condensed/UbuntuNerdFont-Condensed.ttf
https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/NerdFontsSymbolsOnly/SymbolsNerdFont-Regular.ttf
https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/NerdFontsSymbolsOnly/SymbolsNerdFontMono-Regular.ttf

View file

@ -39,5 +39,5 @@ fi
export EDITOR='hx' export EDITOR='hx'
export VISUAL='hx' export VISUAL='hx'
setxkbmap eu # setxkbmap eu
alias xd='cd "$(xplr --print-pwd-as-result)"' alias xd='cd "$(xplr --print-pwd-as-result)"'

View file

@ -100,11 +100,7 @@ source $ZSH/oh-my-zsh.sh
# Example aliases # Example aliases
# alias zshconfig="mate ~/.zshrc" # alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh" # alias ohmyzsh="mate ~/.oh-my-zsh"
{{ if eq .chezmoi.hostname "NS51MU" }}
alias checkupdates="aptitude search '~U'" alias checkupdates="aptitude search '~U'"
{{ else if eq .chezmoi.hostname "t450s" }}
alias hx="helix"
{{ end }}
autoload zmv autoload zmv
@ -128,12 +124,12 @@ if [ "$TERM" = "linux" ]; then
clear #for background artifacting clear #for background artifacting
fi fi
{{ if eq .chezmoi.hostname "NS51MU" }} export VIRTUAL_ENV_DISABLE_PROMPT=
tere() { tere() {
local result=$(command tere "$@") local result=$(command tere "$@")
[ -n "$result" ] && cd -- "$result" [ -n "$result" ] && cd -- "$result"
} }
{{ else if eq .chezmoi.hostname "t450s" }}
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket" export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
{{ end }} # eval "$(zoxide init --cmd cd zsh)"
eval "$(zoxide init --cmd cd zsh)" eval "$(zoxide init zsh)"