From 268e376a317895ef2c3666055c750a56ae3b21c3 Mon Sep 17 00:00:00 2001 From: jdlugosz963 Date: Sun, 19 Dec 2021 17:16:48 +0100 Subject: mv qtile to .config --- .config/qtile/config.py | 199 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 .config/qtile/config.py (limited to '.config/qtile/config.py') diff --git a/.config/qtile/config.py b/.config/qtile/config.py new file mode 100644 index 0000000..0ab888b --- /dev/null +++ b/.config/qtile/config.py @@ -0,0 +1,199 @@ +import os +import subprocess + +from typing import List + +from libqtile import bar, layout, widget +from libqtile.config import Click, Drag, Group, Key, Match, Screen +from libqtile import extension +from libqtile.lazy import lazy +from libqtile.utils import guess_terminal +from libqtile import hook + +mod = "mod4" +terminal = guess_terminal() + +BAR = '#282a36' +YELLOW = '#f1fa8c' +RED = '#ff5555' +GREEN = '#50fa7b' +CYAN = '#8be9fd' + + +@hook.subscribe.startup_once +def autostart(): + home = os.path.expanduser('~/.config/qtile/autorc') + subprocess.run([home]) + +keys = [ + Key([mod], "h", lazy.layout.left(), desc="Move focus to left"), + Key([mod], "l", lazy.layout.right(), desc="Move focus to right"), + Key([mod], "j", lazy.layout.down(), desc="Move focus down"), + Key([mod], "k", lazy.layout.up(), desc="Move focus up"), + Key([mod], "space", lazy.layout.next(), + desc="Move window focus to other window"), + + Key([mod, "shift"], "h", lazy.layout.shuffle_left(), + desc="Move window to the left"), + Key([mod, "shift"], "l", lazy.layout.shuffle_right(), + desc="Move window to the right"), + Key([mod, "shift"], "j", lazy.layout.shuffle_down(), + desc="Move window down"), + Key([mod, "shift"], "k", lazy.layout.shuffle_up(), desc="Move window up"), + + Key([mod, "control"], "h", lazy.layout.grow_left(), + desc="Grow window to the left"), + Key([mod, "control"], "l", lazy.layout.grow_right(), + desc="Grow window to the right"), + Key([mod, "control"], "j", lazy.layout.grow_down(), + desc="Grow window down"), + Key([mod, "control"], "k", lazy.layout.grow_up(), desc="Grow window up"), + Key([mod], "n", lazy.layout.normalize(), desc="Reset all window sizes"), + + Key([mod, "shift"], "Return", lazy.layout.toggle_split(), + desc="Toggle between split and unsplit sides of stack"), + Key([mod], "Return", lazy.spawn(terminal), desc="Launch terminal"), + + Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"), + Key([mod], "c", lazy.window.kill(), desc="Kill focused window"), + + Key([mod, "control"], "r", lazy.restart(), desc="Restart Qtile"), + Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"), + Key([mod], "r", lazy.spawncmd(), + desc="Spawn a command using a prompt widget"), + + Key([mod], "p", lazy.run_extension(extension.DmenuRun( + dmenu_prompt="$", + dmenu_bottom=False, + dmenu_lines=56, + background=BAR, + foreground=CYAN, + ))), + + Key([mod, "mod1"], "q", lazy.spawn("qutebrowser"), desc="Spawn qutebrowser"), + Key([mod, "mod1"], "b", lazy.spawn("brave"), desc="Spawn brave"), + Key([mod, "mod1"], "e", lazy.spawn("emacs"), desc="Spawn emacs"), + Key([mod, "mod1"], "s", lazy.spawn("alacritty -e spt"), desc="Spawn spt (spotify clent)"), +] +groups_names = [ + "dev", + "www", + "music", + "virt", + "sys", + "other" +] + +groups = [Group(i) for i in groups_names] +abc = 0 +for i in groups: + abc += 1 + keys.extend([ + Key([mod], str(abc), lazy.group[i.name].toscreen(), + desc="Switch to group {}".format(i.name)), + + Key([mod, "shift"], str(abc), lazy.window.togroup(i.name, switch_group=True), + desc="Switch to & move focused window to group {}".format(i.name)), + ]) + + +layout_cfg = { + 'border_width': 2, + 'border_normal': "#bb8888", + 'border_focus': "884444", + 'margin': 8 +} + +layouts = [ + layout.Columns(**layout_cfg), + # layout.Max(), + layout.Stack(num_stacks=1, **layout_cfg), + # layout.Bsp(), + # layout.Matrix(), + # layout.MonadTall(), + # layout.MonadWide(), + # layout.RatioTile(), + # layout.Tile(), + # layout.TreeTab(), + # layout.VerticalTile(), + # layout.Zoomy(), +] + +widget_defaults = dict( + font='sans', + fontsize=12, + padding=6, +) +extension_defaults = widget_defaults.copy() + +transparent_sep = { + 'foreground': BAR, + 'margin': 2 +} + +soft_sep = { + 'foreground': '44475a', + 'padding': 2, + 'margin': 4 +} + +screens = [ + Screen( + top=bar.Bar( + [ + widget.Sep(**transparent_sep), + widget.Image(filename="~/.config/qtile/python.png", margin=4), + widget.Sep(**transparent_sep), + widget.CurrentLayout(), + widget.Sep(**transparent_sep), + widget.GroupBox(), + widget.Prompt(), + widget.Sep(**transparent_sep), + widget.WindowName(), + widget.Net(format="↓{down} ↑{up}", foreground=YELLOW), + widget.Sep(**soft_sep), + widget.CPU(format=' {load_percent}%', fontsize=12, foreground=RED), + widget.Sep(**soft_sep), + widget.Battery(foreground=GREEN), + widget.Sep(**soft_sep), + widget.Clock(timezone='Europe/Warsaw', format='%B %-d, %H:%M', foreground=CYAN), + ], + 24, + margin=8, + background=BAR, + border_color=CYAN, + border_width=1 + ), + ), +] + +mouse = [ + Drag([mod], "Button1", lazy.window.set_position_floating(), + 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_key_binder = None +dgroups_app_rules = [] # type: List +follow_mouse_focus = True +bring_front_click = False +cursor_warp = False +floating_layout = layout.Floating(float_rules=[ + # Run the utility of `xprop` to see the wm class and name of an X client. + *layout.Floating.default_float_rules, + Match(wm_class='confirmreset'), # gitk + Match(wm_class='makebranch'), # gitk + Match(wm_class='maketag'), # gitk + Match(wm_class='ssh-askpass'), # ssh-askpass + Match(title='branchdialog'), # gitk + Match(title='pinentry'), # GPG key password entry +]) +auto_fullscreen = True +focus_on_window_activation = "smart" +reconfigure_screens = True + +auto_minimize = True + +wmname = "LG3D" -- cgit v1.2.3