Dotfiles config update (2022-04-30)
This commit is contained in:
parent
4669a8c0c9
commit
f948b44f31
84
.config/qtile-wayland/settings/hooks.py
Normal file
84
.config/qtile-wayland/settings/hooks.py
Normal file
|
@ -0,0 +1,84 @@
|
|||
# Qtile Config File
|
||||
# http://www.qtile.org/
|
||||
|
||||
# Justine Smithies
|
||||
# Hooks configuration
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import time
|
||||
from libqtile import qtile
|
||||
from libqtile import hook
|
||||
|
||||
from groups import groups
|
||||
from libqtile.log_utils import logger
|
||||
|
||||
|
||||
@hook.subscribe.startup_once
|
||||
def autostart():
|
||||
home = os.path.expanduser('~')
|
||||
subprocess.Popen([home + '/.config/qtile/autostart.sh'])
|
||||
|
||||
# Get the number of connected screens
|
||||
|
||||
# @hook.subscribe.screens_reconfigured
|
||||
|
||||
|
||||
def get_monitors():
|
||||
xr = qtile.screens
|
||||
result = len(xr) - 1 if len(xr) > 2 else len(xr)
|
||||
if result <= 0:
|
||||
result = 1
|
||||
logger.warning(f"Number of monitors: {result}")
|
||||
return result
|
||||
|
||||
|
||||
# When application launched automatically focus it's group
|
||||
|
||||
@hook.subscribe.client_new
|
||||
def modify_window(client):
|
||||
for group in groups: # follow on auto-move
|
||||
match = next((m for m in group.matches if m.compare(client)), None)
|
||||
if match:
|
||||
targetgroup = client.qtile.groups_map[group.name] # there can be multiple instances of a group
|
||||
targetgroup.cmd_toscreen(toggle=False)
|
||||
break
|
||||
|
||||
# Hook to fallback to the first group with windows when last window of group is killed
|
||||
|
||||
|
||||
# @hook.subscribe.client_killed
|
||||
# def fallback(window):
|
||||
# if window.group.windows != [window]:
|
||||
# if isinstance(window, base.Static) or window.group.windows != [window]:
|
||||
# return
|
||||
# idx = qtile.groups.index(window.group)
|
||||
# for group in qtile.groups[idx - 1::-1]:
|
||||
# if group.windows:
|
||||
# qtile.current_screen.toggle_group(group)
|
||||
# return
|
||||
# qtile.current_screen.toggle_group(qtile.groups[0])
|
||||
|
||||
# Work around for matching Spotify
|
||||
|
||||
|
||||
@hook.subscribe.client_new
|
||||
def slight_delay(window):
|
||||
time.sleep(0.04)
|
||||
|
||||
# If Spotify opens move it to group 6
|
||||
|
||||
|
||||
@hook.subscribe.client_name_updated
|
||||
def spotify(window):
|
||||
if window.name == 'Spotify':
|
||||
window.cmd_togroup(group_name='阮 ₆')
|
||||
|
||||
# If mpv opens float it at pos x, y, w, h, borderwidth, border color
|
||||
|
||||
|
||||
@hook.subscribe.client_managed
|
||||
def repos(window):
|
||||
if window.get_wm_class() and 'mpv' in window.get_wm_class():
|
||||
window.floating = True
|
||||
window.place(1200, 650, 640, 360, 2, "#ffffff")
|
|
@ -150,8 +150,6 @@ primary_widgets = [
|
|||
widget.Clock(**base(bg='color1'), format='%d/%m/%Y %H:%M '),
|
||||
|
||||
powerline('dark', 'color1'),
|
||||
|
||||
widget.Systray(background=colors['dark'], padding=5),
|
||||
]
|
||||
|
||||
secondary_widgets = [
|
||||
|
|
Loading…
Reference in New Issue
Block a user