dotfiles/dot_config/qtile/old_configs/sweenu/config.py
eeleater bc838a571d Add dot_config/qtile/.keep
Add dot_config/qtile/__pycache__/.keep
Add dot_config/qtile/__pycache__/bars.cpython-38.pyc
Add dot_config/qtile/__pycache__/bars.cpython-39.pyc
Add dot_config/qtile/__pycache__/colors.cpython-38.pyc
Add dot_config/qtile/__pycache__/colors.cpython-39.pyc
Add dot_config/qtile/__pycache__/config-done.cpython-38.pyc
Add dot_config/qtile/__pycache__/config.cpython-38.pyc
Add dot_config/qtile/__pycache__/config.cpython-39.pyc
Add dot_config/qtile/__pycache__/groups.cpython-38.pyc
Add dot_config/qtile/__pycache__/groups.cpython-39.pyc
Add dot_config/qtile/__pycache__/keys.cpython-38.pyc
Add dot_config/qtile/__pycache__/keys.cpython-39.pyc
Add dot_config/qtile/__pycache__/layouts.cpython-38.pyc
Add dot_config/qtile/__pycache__/layouts.cpython-39.pyc
Add dot_config/qtile/__pycache__/screens.cpython-38.pyc
Add dot_config/qtile/__pycache__/screens.cpython-39.pyc
Add dot_config/qtile/bars.py
Add dot_config/qtile/colors.py
Add dot_config/qtile/config.py
Add dot_config/qtile/groups.py
Add dot_config/qtile/keys.py
Add dot_config/qtile/layouts.py
Add dot_config/qtile/old_configs/.keep
Add dot_config/qtile/old_configs/config.py
Add dot_config/qtile/old_configs/sweenu/.keep
Add dot_config/qtile/old_configs/sweenu/bars.py
Add dot_config/qtile/old_configs/sweenu/colors.py
Add dot_config/qtile/old_configs/sweenu/config.py
Add dot_config/qtile/old_configs/sweenu/keys.py
Add dot_config/qtile/old_configs/sweenu/util/.keep
Add dot_config/qtile/old_configs/sweenu/util/__main__.py
Add dot_config/qtile/old_configs/sweenu/util/backlight.py
Add dot_config/qtile/old_configs/sweenu/util/monitor.py
Add dot_config/qtile/old_configs/sweenu/util/screenshot.py
Add dot_config/qtile/old_configs/sweenu/util/soundcard.py
Add dot_config/qtile/old_configs/sweenu/widgets.py
Add dot_config/qtile/screens.py
Add dot_config/qtile/scripts/.keep
Add dot_config/qtile/scripts/executable_autostart.sh
Add dot_config/qtile/themes/.keep
Add dot_config/qtile/themes/ayu-dark.json
Add dot_config/qtile/themes/dracula.json
Add dot_config/qtile/themes/hopscotch.json
Add dot_config/qtile/themes/material-darker.json
Add dot_config/qtile/themes/nord.json
Add dot_config/qtile/themes/one-dark.json
Add dot_config/qtile/themes/operator.json
Add dot_config/qtile/themes/royal.json
Add dot_config/qtile/themes/seashells.json
Add dot_config/qtile/themes/smyck.json
Add dot_config/qtile/themes/spacedust.json
Add dot_config/qtile/themes/spacegray.json
Add dot_config/qtile/themes/square.json
Add dot_config/qtile/themes/tomorrow-nb.json
2021-08-26 20:17:03 +02:00

131 lines
3.4 KiB
Python

import re
from subprocess import run
from pathlib import Path
from typing import List
from libqtile import layout, hook
from libqtile.config import Group, Match, Screen, Rule
from bars import main_bar, bar1, bar2
from keys import keys, mouse, sc, get_backlight_keys
from colors import border_color, theme
from util import qtile_func
from util.monitor import enable_monitor
keys = keys
mouse = mouse
screens: List[Screen] = []
groups = [
Group('game', layouts=[layout.Max()], persist=False, init=False,
matches=[Match(wm_class=['Steam'])], label=''),
Group('chat', layouts=[layout.Max()], persist=False, init=False,
matches=[Match(wm_class=['discord'])], label=''),
Group('music', layouts=[layout.Max()], persist=False, init=False,
matches=[Match(wm_class=[re.compile('spotify', re.I)])], label=''),
]
float_rules = [
{'wmclass': 'confirm'},
{'wmclass': 'dialog'},
{'wmclass': 'download'},
{'wmclass': 'error'},
{'wmclass': 'file_progress'},
{'wmclass': 'notification'},
{'wmclass': 'splash'},
{'wmclass': 'toolbar'},
{'wmclass': 'Xephyr'},
{'wmclass': 'feh'},
{'wmclass': 'Sms.py'},
{'wmclass': 'leagueclientux.exe'},
{'wmclass': 'Gcr-prompter'},
{'wmclass': 'scrcpy'},
{'wname': 'Friends'},
]
floating_layout = layout.Floating(border_focus=f'#{border_color}',
float_rules=float_rules)
layouts = [
layout.Max(),
layout.Stack(num_stacks=2, border_focus=f'#{border_color}')
]
widget_defaults = {'font': 'DejaVu Sans',
'fontsize': 18,
'padding': 4,
'foreground': theme['very_light_white'],
'background': theme['dark_black']}
def setup_monitors(qtile):
monitors = qtile.conn.monitors
nb_monitors = len(monitors)
if nb_monitors == 1:
run('xrandr --auto'.split())
elif nb_monitors == 2:
laptop_monitor = None
other_monitor = None
for monitor in monitors:
if monitor.name.startswith('eDP'):
laptop_monitor = monitor
else:
other_monitor = monitor
enable_monitor(other_monitor, primary=True, side='left-of',
relative_monitor=laptop_monitor)
def setup_screens(qtile, screens, groups):
nb_monitors = len(qtile.conn.monitors)
if nb_monitors == 1:
screens.append(Screen(top=main_bar))
groups += [Group(i) for i in 'asdf']
else:
screens += [Screen(top=bar1), Screen(top=bar2)]
groups += [Group(i) for i in 'asdfuiop']
def main(qtile):
global keys
setup_monitors(qtile)
setup_screens(qtile, screens, groups)
keys += get_backlight_keys(qtile)
def wallpaper():
wallpaper_path = Path.home() / '.wallpaper'
run(['feh', '--bg-scale', wallpaper_path])
@hook.subscribe.startup
def autostart():
wallpaper()
sc.set_profile('analog')
@hook.subscribe.addgroup
def go_to_group(qtile, group):
try:
qtile.groupMap[group].cmd_toscreen()
except AttributeError:
pass
@hook.subscribe.screen_change
def configure_monitors(qtile, ev):
setup_monitors(qtile)
qtile.cmd_restart()
dgroups_app_rules: List[Rule] = []
dgroups_key_binder = None
follow_mouse_focus = False
bring_front_click = False
cursor_warp = False
auto_fullscreen = True
focus_on_window_activation = 'focus'
wmname = 'LG3D'