From 071257e4c02b6a62acf94bc0c94b810a515ee6b7 Mon Sep 17 00:00:00 2001 From: jdlugosz963 Date: Fri, 12 Aug 2022 17:39:02 +0200 Subject: Change location of Qtile.org file --- .config/qtile/config.org | 293 ---------------------------------------------- .config/qtile/config.py | 26 +++-- Qtile.org | 297 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 311 insertions(+), 305 deletions(-) delete mode 100644 .config/qtile/config.org create mode 100644 Qtile.org diff --git a/.config/qtile/config.org b/.config/qtile/config.org deleted file mode 100644 index be587dc..0000000 --- a/.config/qtile/config.org +++ /dev/null @@ -1,293 +0,0 @@ -#+title: Config -#+PROPERTY: header-args:python :tangle config.py -#+OPTIONS: TOC:3 - -* Table of contents :TOC: -- [[#config][Config]] - - [[#imports][Imports]] - - [[#defining-const-variables][Defining const variables]] - - [[#startup-script-executor][Startup script executor]] - - [[#defining-keybinds][Defining keybinds]] - - [[#layouts][Layouts]] - - [[#bar][Bar]] - - [[#other-settings][Other settings]] - -* Config -** Imports -#+begin_src python -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 -#+end_src - -** Defining const variables -*** Mod key -#+begin_src python -MOD = "mod4" -#+end_src - -*** Default terminal -#+begin_src python -TERMINAL = guess_terminal() -#+end_src - -*** Color scheme -#+begin_src python -BAR = '#282a36' -LIGHT_BAR = '#393b37' -YELLOW = '#f1fa8c' -RED = '#ff5555' -LIGHT_RED = '#ff9999' -GREEN = '#50fa7b' -CYAN = '#8be9fd' -LIGHT_CYAN = '#abfbff' -#+end_src - - -** Startup script executor -#+begin_src python -@hook.subscribe.startup_once -def autostart(): - home = os.path.expanduser('~/.config/qtile/autorc') - subprocess.run([home]) -#+end_src - -** Defining keybinds -*** Default -#+begin_src python -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], "s", lazy.next_screen() ), - Key([MOD], "space", lazy.window.toggle_floating(), - 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], "F12", os.system("xbacklight -inc 10"), desc="Inc backlight"), - Key([MOD], "F11", os.system("xbacklight -dec 10"), desc="Dec backlight"), - - Key([MOD], "r", lazy.spawncmd(), - desc="Spawn a command using a prompt widget"), - - Key([MOD], "p", lazy.run_extension(extension.DmenuRun( - dmenu_prompt="Run", - dmenu_bottom=False, - dmenu_lines=56, - dmenu_ignorecase=True, - 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"], "f", lazy.spawn("firefox"), desc="Spawn firefox"), - Key([MOD, "mod1"], "e", lazy.spawn("emacs"), desc="Spawn emacs"), - Key([MOD, "mod1"], "s", lazy.spawn("alacritty -e spt"), desc="Spawn spt (spotify clent)"), - Key([MOD, "mod1"], "c", lazy.spawn("alacritty -e cmus"), desc="Spawn cmus (music player)"), - Key([MOD, "mod1"], "g", lazy.spawn("alacritty -e /home/jakub/.config/qtile/mdt_shell"), desc="connect to google coral device"), - Key([MOD, "mod1"], "l", lazy.spawn("slock"), desc="lock desktop"), - Key([MOD, "mod1"], "r", lazy.spawn("alacritty -e ranger"), desc="Spawn ranger (file manager)"), - Key([MOD, "mod1"], "p", lazy.spawn("alacritty -e pulsemixer"), desc="Spawn pulsemixer"), -] - -groups_names = [ - "dev", - "www", - "music", - "virt", - "sys", - "other" -] - -groups = [Group(i) for i in groups_names] -for i, group in enumerate(groups): - keys.extend([ - Key([MOD], str(i+1), lazy.group[group.name].toscreen(), - desc="Switch to group {}".format(group.name)), - - Key([MOD, "shift"], str(i+1), lazy.window.togroup(group.name, switch_group=True), - desc="Switch to & move focused window to group {}".format(group.name)), - ]) -#+end_src - -*** Mouse -#+begin_src python -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()) -] -#+end_src - -** Layouts -*** Defining layout default properties -#+begin_src python -layout_cfg = { - 'border_width': 2, - 'border_normal': "#bb8888", - 'border_focus': "884444", - 'margin': 8 -} -#+end_src - -*** Defining layouts -#+begin_src python -layouts = [ - # layout.Columns(**layout_cfg), - # layout.Max(), - layout.Stack(num_stacks=1, **layout_cfg), - # layout.Bsp(), - # layout.Matrix(), - layout.MonadTall(**layout_cfg), - # layout.MonadWide(), - # layout.RatioTile(), - # layout.Tile(), - # layout.TreeTab(), - # layout.VerticalTile(), - # layout.Zoomy(), -] -#+end_src - -** Bar -*** Defining bar widgets properties -**** Default -#+begin_src python -widget_defaults = dict( - font='sans', - fontsize=12, - padding=6, -) -#+end_src - -**** Transparent separator -#+begin_src python -transparent_sep = { - 'foreground': BAR, - 'margin': 2 -} -#+end_src - -**** Soft separator -#+begin_src python -soft_sep = { - 'foreground': '44475a', - 'padding': 2, - 'margin': 4 -} -#+end_src - -*** Bar -#+begin_src python -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( - margin_y = 3, - margin_x = 0, - padding_y = 5, - padding_x = 3, - borderwidth = 3, - rounded = False, - highlight_color = LIGHT_BAR, - highlight_method = "line", - this_current_screen_border = CYAN, - this_screen_border = CYAN, - other_current_screen_border = LIGHT_BAR, - other_screen_border = LIGHT_BAR, - ), - 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(format='🔋 {char} {percent:2.0%} {hour:d}:{min:02d} {watt:.2f} W', foreground=GREEN), - widget.Sep(**soft_sep), - widget.Clock(format='📅 %B %-d, %H:%M', foreground=CYAN), - widget.Sep(**soft_sep), - widget.CurrentScreen(), - widget.Sep(**soft_sep), - widget.Systray() - ], - 24, - margin=8, - background=BAR, - border_color=CYAN, - border_width=1 - ), - ), -] -#+end_src - -** Other settings -#+begin_src python -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 -]) - -dgroups_key_binder = None -dgroups_app_rules = [] - -follow_mouse_focus = True -bring_front_click = False -cursor_warp = False -auto_fullscreen = True -focus_on_window_activation = "smart" -reconfigure_screens = True - -auto_minimize = True - -wmname = "LG3D" -#+end_src diff --git a/.config/qtile/config.py b/.config/qtile/config.py index abd9549..9106731 100644 --- a/.config/qtile/config.py +++ b/.config/qtile/config.py @@ -4,7 +4,7 @@ import subprocess from typing import List from libqtile import bar, layout, widget -from libqtile.config import Click, Drag, Group, Key, Match, Screen +from libqtile.config import Click, Drag, Group, Key, Match, Screen, KeyChord from libqtile import extension from libqtile.lazy import lazy from libqtile.utils import guess_terminal @@ -14,6 +14,8 @@ MOD = "mod4" TERMINAL = guess_terminal() +DMENU_FLAGS = '-l 16 -p run -c -i' + BAR = '#282a36' LIGHT_BAR = '#393b37' YELLOW = '#f1fa8c' @@ -70,22 +72,22 @@ keys = [ Key([MOD], "r", lazy.spawncmd(), desc="Spawn a command using a prompt widget"), - Key([MOD], "p", lazy.run_extension(extension.DmenuRun( - dmenu_prompt="Run", - dmenu_bottom=False, - dmenu_lines=56, - dmenu_ignorecase=True, - background=BAR, - foreground=CYAN, - ))), + KeyChord([MOD], "p", [ + Key([], "p", lazy.spawn(f"dmenu_run {DMENU_FLAGS}"), desc="Spawn dmenu run"), + Key([], "n", lazy.spawn(f"networkmanager_dmenu {DMENU_FLAGS}"), desc="Spawn dmenu for network manager"), + ]), Key([MOD, "mod1"], "q", lazy.spawn("qutebrowser"), desc="Spawn qutebrowser"), Key([MOD, "mod1"], "b", lazy.spawn("brave"), desc="Spawn brave"), Key([MOD, "mod1"], "f", lazy.spawn("firefox"), desc="Spawn firefox"), - Key([MOD, "mod1"], "e", lazy.spawn("emacs"), desc="Spawn emacs"), + + KeyChord([MOD], "e", [ + Key([], "e", lazy.spawn("emacsclient -c -a 'emacs'"), desc="Spawn Emacsclient"), + Key([], "d", lazy.spawn("emacsclient -c -a 'emacs' --eval '(dired nil)'"), desc='Emacsclient Dired'), + Key([], "m", lazy.spawn("emacsclient -c -a 'emacs' --eval '(emms-browser)'"), desc='Emacsclient Dired'), + ]), + Key([MOD, "mod1"], "s", lazy.spawn("alacritty -e spt"), desc="Spawn spt (spotify clent)"), - Key([MOD, "mod1"], "c", lazy.spawn("alacritty -e cmus"), desc="Spawn cmus (music player)"), - Key([MOD, "mod1"], "g", lazy.spawn("alacritty -e /home/jakub/.config/qtile/mdt_shell"), desc="connect to google coral device"), Key([MOD, "mod1"], "l", lazy.spawn("slock"), desc="lock desktop"), Key([MOD, "mod1"], "r", lazy.spawn("alacritty -e ranger"), desc="Spawn ranger (file manager)"), Key([MOD, "mod1"], "p", lazy.spawn("alacritty -e pulsemixer"), desc="Spawn pulsemixer"), diff --git a/Qtile.org b/Qtile.org new file mode 100644 index 0000000..132bbe5 --- /dev/null +++ b/Qtile.org @@ -0,0 +1,297 @@ +#+title: Config +#+PROPERTY: header-args:python :tangle .config/qtile/config.py +#+OPTIONS: TOC:3 + +* Table of contents :TOC: +- [[#config][Config]] + - [[#imports][Imports]] + - [[#defining-const-variables][Defining const variables]] + - [[#startup-script-executor][Startup script executor]] + - [[#defining-keybinds][Defining keybinds]] + - [[#layouts][Layouts]] + - [[#bar][Bar]] + - [[#other-settings][Other settings]] + +* Config +** Imports +#+begin_src python +import os +import subprocess + +from typing import List + +from libqtile import bar, layout, widget +from libqtile.config import Click, Drag, Group, Key, Match, Screen, KeyChord +from libqtile import extension +from libqtile.lazy import lazy +from libqtile.utils import guess_terminal +from libqtile import hook +#+end_src + +** Defining const variables +*** Mod key +#+begin_src python +MOD = "mod4" +#+end_src + +*** Default terminal +#+begin_src python +TERMINAL = guess_terminal() +#+end_src + +*** Dmenu flags +#+begin_src python +DMENU_FLAGS = '-l 16 -p run -c -i' +#+end_src + +*** Color scheme +#+begin_src python +BAR = '#282a36' +LIGHT_BAR = '#393b37' +YELLOW = '#f1fa8c' +RED = '#ff5555' +LIGHT_RED = '#ff9999' +GREEN = '#50fa7b' +CYAN = '#8be9fd' +LIGHT_CYAN = '#abfbff' +#+end_src + +** Startup script executor +#+begin_src python +@hook.subscribe.startup_once +def autostart(): + home = os.path.expanduser('~/.config/qtile/autorc') + subprocess.run([home]) +#+end_src + +** Defining keybinds +*** Default +#+begin_src python +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], "s", lazy.next_screen() ), + Key([MOD], "space", lazy.window.toggle_floating(), + 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], "F12", os.system("xbacklight -inc 10"), desc="Inc backlight"), + Key([MOD], "F11", os.system("xbacklight -dec 10"), desc="Dec backlight"), + + Key([MOD], "r", lazy.spawncmd(), + desc="Spawn a command using a prompt widget"), + + KeyChord([MOD], "p", [ + Key([], "p", lazy.spawn(f"dmenu_run {DMENU_FLAGS}"), desc="Spawn dmenu run"), + Key([], "n", lazy.spawn(f"networkmanager_dmenu {DMENU_FLAGS}"), desc="Spawn dmenu for network manager"), + ]), + + Key([MOD, "mod1"], "q", lazy.spawn("qutebrowser"), desc="Spawn qutebrowser"), + Key([MOD, "mod1"], "b", lazy.spawn("brave"), desc="Spawn brave"), + Key([MOD, "mod1"], "f", lazy.spawn("firefox"), desc="Spawn firefox"), + + KeyChord([MOD], "e", [ + Key([], "e", lazy.spawn("emacsclient -c -a 'emacs'"), desc="Spawn Emacsclient"), + Key([], "d", lazy.spawn("emacsclient -c -a 'emacs' --eval '(dired nil)'"), desc='Emacsclient Dired'), + Key([], "m", lazy.spawn("emacsclient -c -a 'emacs' --eval '(emms-browser)'"), desc='Emacsclient Dired'), + ]), + + Key([MOD, "mod1"], "s", lazy.spawn("alacritty -e spt"), desc="Spawn spt (spotify clent)"), + Key([MOD, "mod1"], "l", lazy.spawn("slock"), desc="lock desktop"), + Key([MOD, "mod1"], "r", lazy.spawn("alacritty -e ranger"), desc="Spawn ranger (file manager)"), + Key([MOD, "mod1"], "p", lazy.spawn("alacritty -e pulsemixer"), desc="Spawn pulsemixer"), +] + +groups_names = [ + "dev", + "www", + "music", + "virt", + "sys", + "other" +] + +groups = [Group(i) for i in groups_names] +for i, group in enumerate(groups): + keys.extend([ + Key([MOD], str(i+1), lazy.group[group.name].toscreen(), + desc="Switch to group {}".format(group.name)), + + Key([MOD, "shift"], str(i+1), lazy.window.togroup(group.name, switch_group=True), + desc="Switch to & move focused window to group {}".format(group.name)), + ]) +#+end_src + +*** Mouse +#+begin_src python +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()) +] +#+end_src + +** Layouts +*** Defining layout default properties +#+begin_src python +layout_cfg = { + 'border_width': 2, + 'border_normal': "#bb8888", + 'border_focus': "884444", + 'margin': 8 +} +#+end_src + +*** Defining layouts +#+begin_src python +layouts = [ + # layout.Columns(**layout_cfg), + # layout.Max(), + layout.Stack(num_stacks=1, **layout_cfg), + # layout.Bsp(), + # layout.Matrix(), + layout.MonadTall(**layout_cfg), + # layout.MonadWide(), + # layout.RatioTile(), + # layout.Tile(), + # layout.TreeTab(), + # layout.VerticalTile(), + # layout.Zoomy(), +] +#+end_src + +** Bar +*** Defining bar widgets properties +**** Default +#+begin_src python +widget_defaults = dict( + font='sans', + fontsize=12, + padding=6, +) +#+end_src + +**** Transparent separator +#+begin_src python +transparent_sep = { + 'foreground': BAR, + 'margin': 2 +} +#+end_src + +**** Soft separator +#+begin_src python +soft_sep = { + 'foreground': '44475a', + 'padding': 2, + 'margin': 4 +} +#+end_src + +*** Bar +#+begin_src python +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( + margin_y = 3, + margin_x = 0, + padding_y = 5, + padding_x = 3, + borderwidth = 3, + rounded = False, + highlight_color = LIGHT_BAR, + highlight_method = "line", + this_current_screen_border = CYAN, + this_screen_border = CYAN, + other_current_screen_border = LIGHT_BAR, + other_screen_border = LIGHT_BAR, + ), + 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(format='🔋 {char} {percent:2.0%} {hour:d}:{min:02d} {watt:.2f} W', foreground=GREEN), + widget.Sep(**soft_sep), + widget.Clock(format='📅 %B %-d, %H:%M', foreground=CYAN), + widget.Sep(**soft_sep), + widget.CurrentScreen(), + widget.Sep(**soft_sep), + widget.Systray() + ], + 24, + margin=8, + background=BAR, + border_color=CYAN, + border_width=1 + ), + ), +] +#+end_src + +** Other settings +#+begin_src python +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 +]) + +dgroups_key_binder = None +dgroups_app_rules = [] + +follow_mouse_focus = True +bring_front_click = False +cursor_warp = False +auto_fullscreen = True +focus_on_window_activation = "smart" +reconfigure_screens = True + +auto_minimize = True + +wmname = "LG3D" +#+end_src -- cgit v1.2.3