Improuve mapping for layouts and add multi-screen support
This commit is contained in:
parent
bd8f33bc87
commit
0a45b28bd7
1 changed files with 46 additions and 37 deletions
83
config.py
83
config.py
|
@ -4,7 +4,7 @@ from libqtile import layout, bar, widget, hook
|
||||||
|
|
||||||
from typing import List # noqa: F401
|
from typing import List # noqa: F401
|
||||||
from os import getenv, environ, execl
|
from os import getenv, environ, execl
|
||||||
from subprocess import run, Popen
|
from subprocess import run, Popen, PIPE, STDOUT
|
||||||
|
|
||||||
import widget_custom
|
import widget_custom
|
||||||
|
|
||||||
|
@ -31,13 +31,17 @@ def hard_restart(misc):
|
||||||
|
|
||||||
keys = [
|
keys = [
|
||||||
# Switch between windows in current stack pane
|
# Switch between windows in current stack pane
|
||||||
Key([mod], "k", lazy.layout.down()),
|
Key([mod], "Left", lazy.layout.down()),
|
||||||
Key([mod], "j", lazy.layout.up()),
|
Key([mod], "Right", lazy.layout.up()),
|
||||||
|
|
||||||
# Move windows up or down in current stack
|
# Move windows up or down in current stack
|
||||||
Key([mod, "control"], "k", lazy.layout.shuffle_down()),
|
Key([mod, "control"], "Left", lazy.layout.shuffle_down()),
|
||||||
Key([mod, "control"], "j", lazy.layout.shuffle_up()),
|
Key([mod, "control"], "Right", lazy.layout.shuffle_up()),
|
||||||
|
|
||||||
|
# Move windows to another stack
|
||||||
|
Key([mod, "shift"], "Left", lazy.layout.client_to_previous()),
|
||||||
|
Key([mod, "shift"], "Right", lazy.layout.client_to_next()),
|
||||||
|
|
||||||
# Switch window focus to other pane(s) of stack
|
# Switch window focus to other pane(s) of stack
|
||||||
Key([mod], "Tab", lazy.layout.next()),
|
Key([mod], "Tab", lazy.layout.next()),
|
||||||
|
|
||||||
|
@ -131,37 +135,7 @@ widget_defaults = dict(
|
||||||
padding=3,
|
padding=3,
|
||||||
)
|
)
|
||||||
extension_defaults = widget_defaults.copy()
|
extension_defaults = widget_defaults.copy()
|
||||||
|
screens = []
|
||||||
|
|
||||||
screens = [
|
|
||||||
Screen(
|
|
||||||
top=bar.Bar(
|
|
||||||
[
|
|
||||||
widget.CurrentLayoutIcon(),
|
|
||||||
widget.GroupBox(hide_unused=True),
|
|
||||||
widget.Prompt(),
|
|
||||||
widget.TaskList(txt_floating="🗗", txt_maximized="🗖", txt_minimized="🗕"),
|
|
||||||
widget.Systray(),
|
|
||||||
widget.Notify(),
|
|
||||||
widget.CheckUpdates(custom_command="apt list --upgradable", execute="sudo -A apt update", display_format="{updates}", colour_have_updates="ff7300", colour_no_updates="5eff00"),
|
|
||||||
widget.Sep(),
|
|
||||||
widget.CPU(format="{load_percent}%"),
|
|
||||||
widget_custom.Memory(),
|
|
||||||
widget.ThermalSensor(tag_sensor="Core 0"),
|
|
||||||
widget.Sep(),
|
|
||||||
widget.Wlan(disconnected_message="", interface="wlp1s0"),
|
|
||||||
widget.Net(format="{down}\u2193\u2191{up}"),
|
|
||||||
widget.Sep(),
|
|
||||||
#widget.BatteryIcon(battery="BATC"),
|
|
||||||
widget.Battery(charge_char="\N{electric plug}", discharge_char="\N{battery}", empty_char="\N{cross mark}", unknown_char="\N{question mark}", battery="BATC", format="{char}{percent:2.0%} {hour:d}:{min:02d}", low_percentage=0.35, hide_threshold=True),
|
|
||||||
widget.Volume(front="material-design-icons-iconfont",emoji=True),
|
|
||||||
widget.Clock(format='%d/%m/%Y %H:%M'),
|
|
||||||
],
|
|
||||||
24,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
# Drag floating layouts.
|
# Drag floating layouts.
|
||||||
mouse = [
|
mouse = [
|
||||||
|
@ -199,7 +173,7 @@ focus_on_window_activation = "smart"
|
||||||
|
|
||||||
|
|
||||||
@hook.subscribe.client_new
|
@hook.subscribe.client_new
|
||||||
def func(c):
|
def auto_group(c):
|
||||||
if c.name == "Vivaldi - Vivaldi":
|
if c.name == "Vivaldi - Vivaldi":
|
||||||
c.togroup("\N{globe with meridians}")
|
c.togroup("\N{globe with meridians}")
|
||||||
elif c.name in ["Discord", "Telegram"]:
|
elif c.name in ["Discord", "Telegram"]:
|
||||||
|
@ -214,7 +188,42 @@ def func(c):
|
||||||
c.togroup("\N{video game}")
|
c.togroup("\N{video game}")
|
||||||
|
|
||||||
|
|
||||||
|
@hook.subscribe.screen_change
|
||||||
|
def restart_on_randr(qtile, ev):
|
||||||
|
qtile.cmd_restart()
|
||||||
|
|
||||||
|
|
||||||
def main(q):
|
def main(q):
|
||||||
|
ps_screens = int(run("xrandr -q | grep ' connected' | wc -l", shell=True, stdout=PIPE).stdout)
|
||||||
|
screens.clear()
|
||||||
|
for i in range(ps_screens):
|
||||||
|
print(1)
|
||||||
|
screens.append(Screen(
|
||||||
|
top=bar.Bar(
|
||||||
|
[
|
||||||
|
widget.CurrentLayoutIcon(),
|
||||||
|
widget.GroupBox(hide_unused=True),
|
||||||
|
widget.Prompt(),
|
||||||
|
widget.TaskList(txt_floating="🗗", txt_maximized="🗖", txt_minimized="🗕"),
|
||||||
|
widget.Systray(),
|
||||||
|
widget.Notify(),
|
||||||
|
widget.CheckUpdates(custom_command="apt list --upgradable", execute="sudo -A apt update", display_format="{updates}", colour_have_updates="ff7300", colour_no_updates="5eff00"),
|
||||||
|
widget.Sep(),
|
||||||
|
widget.CPU(format="{load_percent}%"),
|
||||||
|
widget_custom.Memory(),
|
||||||
|
widget.ThermalSensor(tag_sensor="Core 0"),
|
||||||
|
widget.Sep(),
|
||||||
|
widget.Wlan(disconnected_message="", interface="wlp1s0"),
|
||||||
|
widget.Net(format="{down}\u2193\u2191{up}"),
|
||||||
|
widget.Sep(),
|
||||||
|
#widget.BatteryIcon(battery="BATC"),
|
||||||
|
widget.Battery(charge_char="\N{electric plug}", discharge_char="\N{battery}", empty_char="\N{cross mark}", unknown_char="\N{question mark}", battery="BATC", format="{char}{percent:2.0%} {hour:d}:{min:02d}", low_percentage=0.35, hide_threshold=True),
|
||||||
|
widget.Volume(front="material-design-icons-iconfont",emoji=True),
|
||||||
|
widget.Clock(format='%d/%m/%Y %H:%M'),
|
||||||
|
],
|
||||||
|
24,
|
||||||
|
)
|
||||||
|
))
|
||||||
Popen(["nextcloud", "--background"])
|
Popen(["nextcloud", "--background"])
|
||||||
Popen("kdeconnect-indicator")
|
Popen("kdeconnect-indicator")
|
||||||
|
|
||||||
|
|
Reference in a new issue