40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
|
# Justine Smithies
|
||
|
# https://github.com/justinesmithies/qtile-wayland-dotfiles
|
||
|
|
||
|
# Multimonitor support
|
||
|
|
||
|
from libqtile.config import Screen
|
||
|
from libqtile import bar
|
||
|
from libqtile.log_utils import logger
|
||
|
from widgets import primary_widgets, secondary_widgets
|
||
|
import subprocess
|
||
|
|
||
|
|
||
|
def status_bar(widgets):
|
||
|
return bar.Bar(widgets, 24, background="#000000AA", margin=[10, 16, 0, 16]) # Margin = N E S W
|
||
|
|
||
|
|
||
|
screens = [Screen(wallpaper='.cache/wallpaper', wallpaper_mode='fill', top=status_bar(primary_widgets))]
|
||
|
|
||
|
# xrandr = "xrandr | grep -w 'connected' | cut -d ' ' -f 2 | wc -l"
|
||
|
|
||
|
# command = subprocess.run(
|
||
|
# xrandr,
|
||
|
# shell=True,
|
||
|
# stdout=subprocess.PIPE,
|
||
|
# stderr=subprocess.PIPE,
|
||
|
# )
|
||
|
|
||
|
# if command.returncode != 0:
|
||
|
# error = command.stderr.decode("UTF-8")
|
||
|
# logger.error(f"Failed counting monitors using {xrandr}:\n{error}")
|
||
|
# connected_monitors = 1
|
||
|
# else:
|
||
|
# connected_monitors = int(command.stdout.decode("UTF-8"))
|
||
|
|
||
|
connected_monitors = 2
|
||
|
|
||
|
if connected_monitors > 1:
|
||
|
for _ in range(1, connected_monitors):
|
||
|
screens.append(Screen(wallpaper='.cache/wallpaper', wallpaper_mode='fill', top=status_bar(secondary_widgets)))
|