diff options
Diffstat (limited to 'qtile/config.py')
-rw-r--r-- | qtile/config.py | 544 |
1 files changed, 0 insertions, 544 deletions
diff --git a/qtile/config.py b/qtile/config.py deleted file mode 100644 index 21a029c..0000000 --- a/qtile/config.py +++ /dev/null @@ -1,544 +0,0 @@ -# Copyright (c) 2010 Aldo Cortesi -# Copyright (c) 2010, 2014 dequis -# Copyright (c) 2012 Randall Ma -# Copyright (c) 2012-2014 Tycho Andersen -# Copyright (c) 2012 Craig Barnes -# Copyright (c) 2013 horsik -# Copyright (c) 2013 Tao Sauvage -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -import os -import subprocess -import psutil - -import re - -from typing import List # noqa: F401 - -from libqtile import bar, hook, layout, qtile, widget -from libqtile.config import Click, Drag, DropDown, Group, Key, Match, ScratchPad, Screen -from libqtile.lazy import lazy - -mod = "mod1" -if qtile.core.name == "x11": - terminal = 'st' - terminal_session = 'tabbed -c st -w' - # terminal_session = 'st -e ' -elif qtile.core.name == "wayland": - terminal = 'alacritty' - terminal_session = 'tabbed -c alacritty --embed' - # terminal_session = 'alacritty -e' - -computerrc = open('/home/zachir/.config/computerrc', 'r') -Lines = computerrc.readlines() -count = 0 -for line in Lines: - if ('inet' in Lines[count][:5]): - break - count += 1 -inet = Lines[count][5:-1] - -barcolor_cyan = "39c1ed" -barcolor_black = "000000" -barcolor_gray1 = "111111" -barcolor_gray2 = "222222" -barcolor_gray6 = "666666" -barcolor_gray8 = "888888" -barcolor_graya = "aaaaaa" -barcolor_white = "ffffff" -barcolor_red = "ff0000" -barcolor_magenta = "ff00ff" - -def resize(qtile, direction): - layout = qtile.current_layout - child = layout.current - parent = child.parent - - while parent: - if child in parent.children: - layout_all = False - - if (direction == "left" and parent.split_horizontal) or ( - direction == "up" and not parent.split_horizontal - ): - parent.split_ratio = max(5, parent.split_ratio - layout.grow_amount) - layout_all = True - elif (direction == "right" and parent.split_horizontal) or ( - direction == "down" and not parent.split_horizontal - ): - parent.split_ratio = min(95, parent.split_ratio + layout.grow_amount) - layout_all = True - - if layout_all: - layout.group.layout_all() - break - - child = parent - parent = child.parent - -@lazy.function -def resize_left(qtile): - resize(qtile, "left") - -@lazy.function -def resize_right(qtile): - resize(qtile, "right") - -@lazy.function -def resize_up(qtile): - resize(qtile, "up") - -@lazy.function -def resize_down(qtile): - resize(qtile, "down") - -keys = [ - # Switch between windows - Key([mod], "h", lazy.layout.left(), desc="Move focus down"), - Key([mod], "l", lazy.layout.right(), desc="Move focus up"), - Key([mod], "j", lazy.layout.down(), desc="Move focus down"), - Key([mod], "k", lazy.layout.up(), desc="Move focus up"), - Key([mod, "shift"], "space", lazy.layout.next(), - desc="Move window focus to other window"), - - # swap columns - Key([mod, "shift", "control"], "h", lazy.layout.swap_column_left()), - Key([mod, "shift", "control"], "l", lazy.layout.swap_column_right()), - - # Move windows between left/right columns or move up/down in current stack. - # Moving out of range in Columns layout will create new column. - 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"), - - # Grow windows. If current window is on the edge of screen and direction - # will be to screen edge - window would shrink. - 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"), - - # Grow windows. If current window is on the edge of screen and direction - # will be to screen edge - window would shrink. - Key([mod, "mod4"], "h", resize_left, - desc="Grow window to the left"), - Key([mod, "mod4"], "l", resize_right, - desc="Grow window to the right"), - Key([mod, "mod4"], "j", resize_down, - desc="Grow window down"), - Key([mod, "mod4"], "k", resize_up, desc="Grow window up"), - Key([mod], "n", lazy.layout.normalize(), desc="Reset all window sizes"), - - # Toggle between split and unsplit sides of stack. - # Split = all windows displayed - # Unsplit = 1 window displayed, like Max layout, but still with - # multiple stack panes - 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], "f", lazy.window.toggle_fullscreen(), desc="Toggle fullscreen"), - Key([mod, "shift"], "n", lazy.spawn('Qminimize -u'), desc="Unminimize window"), - Key([mod], "n", lazy.spawn('Qminimize -m'), desc="Minimize window"), - Key([mod], "space", lazy.window.toggle_floating(), - desc="Toggle floating"), - - # Toggle between different layouts as defined below - Key([mod], "Tab", lazy.next_layout(), desc="Toggle between layouts"), - Key([mod, "shift"], "Tab", lazy.prev_layout(), desc="Toggle between layouts"), - Key([mod, "shift"], "q", lazy.window.kill(), desc="Kill focused window"), - - Key([mod, "shift"], "r", lazy.restart(), desc="Restart Qtile"), - Key([mod, "shift"], "e", lazy.shutdown(), desc="Shutdown Qtile"), - #Key([mod], "r", lazy.spawncmd(), - #desc="Spawn a command using a prompt widget"), -] - -groups = [Group(i) for i in "123456789"] - -groups += [ - ScratchPad("scratchpad", [ - DropDown("htop", terminal + " htop", - x=0.25, y=0.2, width=0.5, height=0.6, - on_focus_lost_hide=True, warp_pointer=True), - DropDown("term", terminal, - x=0.25, y=0.2, width=0.5, height=0.6, - on_focus_lost_hide=True, warp_pointer=True), - DropDown("alsa", terminal + " pulsemixer", - x=0.25, y=0.2, width=0.5, height=0.6, - on_focus_lost_hide=True, warp_pointer=True), - DropDown("blue", terminal + " bluetoothctl", - x=0.25, y=0.2, width=0.5, height=0.6, - on_focus_lost_hide=True, warp_pointer=True), - DropDown("ncmp", terminal + " ncmpcpp", - x=0.25, y=0.2, width=0.5, height=0.6, - on_focus_lost_hide=True, warp_pointer=True), - DropDown("mutt", terminal + " neomutt", - x=0.25, y=0.2, width=0.5, height=0.6, - on_focus_lost_hide=True, warp_pointer=True), - DropDown("prof", terminal + " /usr/bin/profanity", - x=0.25, y=0.2, width=0.5, height=0.6, - on_focus_lost_hide=True, warp_pointer=True), - DropDown("ircc", terminal + " /usr/bin/irssi", - x=0.25, y=0.2, width=0.5, height=0.6, - on_focus_lost_hide=True, warp_pointer=True), - DropDown("todo", terminal + " /usr/bin/todo", - x=0.25, y=0.2, width=0.5, height=0.6, - on_focus_lost_hide=True, warp_pointer=True), - DropDown("trem", terminal + " /usr/bin/tremc", - x=0.25, y=0.2, width=0.5, height=0.6, - on_focus_lost_hide=True, warp_pointer=True), - ]) - ] - -@hook.subscribe.startup -def autostart(): - home = os.path.expanduser('~/.config/autostart.sh') - subprocess.call([home]) - -keys.extend([ - Key([mod, "control"], 'z', lazy.group['scratchpad'].dropdown_toggle('htop'), - desc="Toggle htop scratchpad"), - Key([mod, "control"], 'x', lazy.group['scratchpad'].dropdown_toggle('term'), - desc="Toggle terminal scratchpad"), - Key([mod, "control"], 'c', lazy.group['scratchpad'].dropdown_toggle('alsa'), - desc="Toggle alsamixer scratchpad"), - Key([mod, "control"], 'v', lazy.group['scratchpad'].dropdown_toggle('blue'), - desc="Toggle alsamixer scratchpad"), - Key([mod, "control"], 'b', lazy.group['scratchpad'].dropdown_toggle('ncmp'), - desc="Toggle ncmpcpp scratchpad"), - Key([mod, "control"], 'a', lazy.group['scratchpad'].dropdown_toggle('mutt'), - desc="Toggle neomutt scratchpad"), - Key([mod, "control"], 's', lazy.group['scratchpad'].dropdown_toggle('prof'), - desc="Toggle profanity scratchpad"), - Key([mod, "control"], 'd', lazy.group['scratchpad'].dropdown_toggle('ircc'), - desc="Toggle irssi scratchpad"), - Key([mod, "control"], 'f', lazy.group['scratchpad'].dropdown_toggle('todo'), - desc="Toggle todo.txt scratchpad"), - Key([mod, "control"], 'g', lazy.group['scratchpad'].dropdown_toggle('trem'), - desc="Toggle tremc scratchpad"), - ]) - -for i in "123456789": - keys.extend([ - # mod1 + letter of group = switch to group - Key([mod], i, lazy.group[i].toscreen(), - desc="Switch to group {}".format(i)), - - # mod1 + shift + letter of group = switch to & move focused window to group - Key([mod, "shift"], i, lazy.window.togroup(i, switch_group=False), - desc="Switch to & move focused window to group {}".format(i)), - # Or, use below if you prefer not to switch to that group. - # # mod1 + shift + letter of group = move focused window to group - # Key([mod, "shift"], i, lazy.window.togroup(i), - # desc="move focused window to group {}".format(i)), - ]) - -layouts = [ - layout.Columns( - border_focus=barcolor_gray8, - border_focus_stack=barcolor_gray8, - border_normal=barcolor_black, - border_normal_stack=barcolor_black, - insert_position=1, - margin=5 - ), - layout.Bsp( - border_focus=barcolor_gray8, - border_normal=barcolor_black, - fair=False, - margin=5 - ), - # layout.Max(), - # Try more layouts by unleashing below layouts. - # layout.Stack(num_stacks=2), - # layout.Matrix(), - # layout.MonadTall(), - # layout.MonadWide(), - # layout.RatioTile(), - # layout.Tile(), - # layout.TreeTab(), - # layout.VerticalTile(), - # layout.Zoomy(), -] - -widget_defaults = dict( - font='mononoki Nerd Font Mono', - fontsize=12, - padding=3, -) -extension_defaults = widget_defaults.copy() - -bar_array_1 = [ - widget.WindowName( - background=barcolor_cyan, - foreground=barcolor_black, - format='{state}{name}' - ), - widget.Chord( - chords_colors={ - 'launch': (barcolor_red, barcolor_white), - }, - name_transform=lambda name: name.upper(), - ), - widget.TextBox("ZachIR", name="default", - background=barcolor_black, - foreground=barcolor_white - ), - widget.CPU( - background=barcolor_cyan, - foreground=barcolor_black, - format='CPU {load_percent}%', - update_interval=1.0 - ), - widget.CPUGraph( - background=barcolor_cyan, - border_color=barcolor_black, - core='all', - fill_color=barcolor_graya, - graph_color=barcolor_white - ), - widget.Memory( - background=barcolor_black, - foreground=barcolor_white, - format='RAM {MemUsed: .0f}{mm}', - measure_mem='M', - measure_swap='M', - update_interval=1.0 - ), - widget.MemoryGraph( - background=barcolor_black, - border_color=barcolor_cyan, - fill_color=barcolor_graya, - frequency=1, - graph_color=barcolor_white - ), - widget.Mpd2( - background=barcolor_cyan, - foreground=barcolor_black, - status_format='{play_status} {artist} - {title} \ -[{repeat}{random}{single}{consume}{updating_db}]', - idle_format='{idle_message}', - idle_message='MPD', - host=os.path.expanduser('~/.config/mpd/socket'), - prepare_status={ - 'consume': 'c', - 'random': 'z', - 'repeat': 'r', - 'single': 'y', - 'updating_db': 'u' } - ), - widget.Net( - background=barcolor_black, - interface=inet - ) - ] - -bar_array_2 = [ - widget.Clock( - background=barcolor_black, - format='%Y-%m-%d %a %I:%M %p', - update_interval=1.0 - ), - widget.QuickExit( - background=barcolor_cyan, - foreground=barcolor_black, - countdown_format='[ {}sec ]', - countdown_start=5, - default_text='[ exit ]', - timer_interval=1 - ) - ] - -bar_systray = [ - widget.Systray( - background=barcolor_black - ) - ] - -bar_battery = [ - widget.Battery( - background=barcolor_cyan, - foreground=barcolor_black, - battery=0, - charge_char='+', - discharge_char='-', - empty_char='X', - format='{char}{percent:2.0%} {hour:d}:{min:02d}', - full_char='|', - low_foreground=barcolor_red, - low_percentage=0.15, - notify_below=0.15, - unknown_char='?', - update_interval=60 - ) - ] - -bar_no_battery = [ - widget.TextBox("None", name="default", - background=barcolor_cyan, - foreground=barcolor_black - ) - ] - -bar_1 = bar_array_1 -if (psutil.sensors_battery() != None): - bar_1 = bar_1 + bar_battery -else: - bar_1 = bar_1 + bar_no_battery -if qtile.core.name == "x11": - bar_1 = bar_1 + bar_systray -bar_1 = bar_1 + bar_array_2 - -bar_2 = bar_array_1 -if (psutil.sensors_battery() != None): - bar_2 = bar_2 + bar_battery -else: - bar_2 = bar_2 + bar_no_battery -bar_2 = bar_2 + bar_array_2 - -screens = [ - Screen( - top=bar.Bar( - [ - widget.CurrentLayoutIcon( - background=barcolor_cyan, - foreground=barcolor_black, - scale=0.8 - ), - widget.GroupBox( - active=barcolor_white, - background=barcolor_black, - center_aligned=True, - highlight_color=barcolor_gray1, - highlight_method='line', - inactive=barcolor_gray6, - margin_x=2, - margin_y=5, - other_current_screen_border=barcolor_gray2, - other_screen_border=barcolor_gray2, - padding_y=5, - padding_x=3, - this_current_screen_border=barcolor_white, - this_screen_border=barcolor_white, - urgent_alert_method='block', - urgent_border=barcolor_magenta, - urgent_text=barcolor_magenta - ) - ] + bar_1, - 24, - ), - ), - Screen( - top=bar.Bar( - [ - widget.CurrentLayoutIcon( - background=barcolor_cyan, - foreground=barcolor_black, - scale=0.8 - ), - widget.GroupBox( - active=barcolor_white, - background=barcolor_black, - center_aligned=True, - highlight_color=barcolor_gray1, - highlight_method='line', - inactive=barcolor_gray6, - margin_x=2, - margin_y=5, - other_current_screen_border=barcolor_gray2, - other_screen_border=barcolor_gray2, - padding_y=5, - padding_x=3, - this_current_screen_border=barcolor_white, - this_screen_border=barcolor_white, - urgent_alert_method='block', - urgent_border=barcolor_magenta, - urgent_text=barcolor_magenta - ) - ] + bar_2, - 24, - ), - ), -] - -# Drag floating layouts. -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(title='FX: Track 1'), # REAPER - Match(title='Torpedo Wall Of Sound (Two Notes Audio Engineering)'), - Match(title='Add FX to: Track 1'), # REAPER - Match(title='REAPER (loading)'), # REAPER - Match(title='REAPER Query'), # REAPER - Match(title='REAPER (initializing)'), # REAPER - Match(title='Browse FX'), # REAPER - Match(title='Ardour - Preferences'), # ardour - Match(wm_instance_class='import'), # ardour - Match(wm_class=re.compile('ardour-6\.9\.0')), # ardour - Match(wm_class=re.compile("lin-vst-servertrack\.exe\.so")), #linvst - Match(title='Edit Text on the Schematic:'), # LTspiceXVII - Match(wm_class='confirmreset'), # gitk - Match(wm_class='makebranch'), # gitk - Match(wm_class='maketag'), # gitk - Match(title='branchdialog'), # gitk - Match(wm_class='ssh-askpass'), # ssh-askpass - Match(title=re.compile('Edit Guide.*')), # kdenlive - Match(title=re.compile('Steam - News.*')), # SteamZZ - Match(title='Create Snapshot'), # timeshift-gtk - Match(title='pinentry'), # GPG key password entry -], border_focus=barcolor_gray8, border_normal=barcolor_black) -auto_fullscreen = False -focus_on_window_activation = "smart" -reconfigure_screens = True - -# If things like steam games want to auto-minimize themselves when losing -# focus, should we respect this or not? -auto_minimize = False - -# XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this -# string besides java UI toolkits; you can see several discussions on the -# mailing lists, GitHub issues, and other WM documentation that suggest setting -# this string if your java app doesn't work correctly. We may as well just lie -# and say that we're a working one by default. -# -# We choose LG3D to ], border_focus='', border_normal=''aximize irony: it is a 3D non-reparenting WM written in -# java that happens to be on java's whitelist. -# wmname = "LG3D" |