workable qtile done

This commit is contained in:
Tyler Starr 2021-01-23 16:10:15 -08:00
parent d4cdc063d7
commit 2cddce50eb
16 changed files with 245 additions and 554 deletions

View File

@ -21,7 +21,6 @@ alias mpv='mpv --title="mpv"'
alias dot='/usr/bin/git --git-dir=$HOME/.dots --work-tree=$HOME'
dot config --local status.showUntrackedFiles no
#export PATH="$PATH:$(ruby -e 'print Gem.user_dir')/bin"
#export GEM_HOME=$(ruby -e 'print Gem.user_dir')

0
.config/qtile/.projectile Executable file
View File

View File

@ -1,302 +0,0 @@
+TITLE: Custom Qtile Config
#+PROPERTY: header-args :tangle config.py
* Table of Contents
:PROPERTIES:
:TOC: :include all :depth 3
:END:
:CONTENTS:
:END:
* Imports
Import needed python modules.
#+begin_src python
from typing import List # noqa: F401
from libqtile import bar, layout, widget, hook
from libqtile.config import Click, Drag, Group, Key, Match, Screen
from libqtile.lazy import lazy
from libqtile.utils import guess_terminal
import os, subprocess, json
#+end_src
* Variables
Set variable used later in the config, often a handful of times.
#+begin_src python
# Use the "Windows" key for mod
mod = "mod4"
# Determine terminal with this nifty function
terminal = guess_terminal()
# Define workspace names
groups = [Group(i) for i in "123456789"]
# Generate group binding hotkeys
dgroups_key_binder = None
# List of rule objects (currently empty)
dgroups_app_rules = []
# Set mouse functionality
follow_mouse_focus = True
bring_front_click = False
cursor_warp = False
# Set fullscreen options
auto_fullscreen = True
focus_on_window_activation = "smart"
# Set floating layout options
floating_layout = layout.Floating(float_rules=[
{'wmclass': 'Wine'},
{'wmclass': 'Steam'},
])
wal_loc = os.path.expanduser('~/.cache/wal/colors.json')
wal = json.load(open(wal_loc))
spacer_len = 3
#+end_src
* Keys
** Window Management Binds
#+begin_src python
# Start keys block
keys = [
# Close focused window
Key([mod], "q",
lazy.window.kill(),
),
# Rotate through the available layout algorithms
Key([mod], "space",
lazy.next_layout(),
),
Key([mod, "shift"], "space",
lazy.prev_layout(),
),
# Switch between windows
Key([mod], "h",
lazy.layout.left(),
),
Key([mod], "l",
lazy.layout.right(),
),
Key([mod], "j",
lazy.layout.down(),
),
Key([mod], "k",
lazy.layout.up(),
),
# Move windows on screen
Key([mod, "shift"], "h",
lazy.layout.shuffle_left(),
lazy.layout.client_to_next(),
lazy.layout.flip_left(),
),
Key([mod, "shift"], "l",
lazy.layout.shuffle_right(),
lazy.layout.client_to_previous(),
lazy.layout.flip_right(),
),
Key([mod, "shift"], "j",
lazy.layout.shuffle_down(),
lazy.layout.flip_down(),
),
Key([mod, "shift"], "k",
lazy.layout.shuffle_up(),
lazy.layout.flip_up(),
),
# Resize windows on screen
Key([mod, "control"], "h",
lazy.layout.grow_left(),
lazy.layout.shrink()
),
Key([mod, "control"], "l",
lazy.layout.grow_right(),
lazy.layout.grow()
),
Key([mod, "control"], "j",
lazy.layout.grow_down(),
),
Key([mod, "control"], "k",
lazy.layout.grow_up(),
),
# Return sizes to default
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"),
# Toggle between physical screens
Key([mod], "comma", lazy.to_screen(0),
desc="Toggle between split and unsplit sides of stack"),
Key([mod], "period", lazy.to_screen(1),
desc="Toggle between split and unsplit sides of stack"),
# Toggle fullscreen
Key([mod], "f", lazy.window.toggle_fullscreen(),
desc="Toggle fullscreen"),
# Toggle floating
Key([mod], "t", lazy.window.toggle_floating(),
desc="Toggle floating"),
#+end_src
** Open Binds
#+begin_src python
# Spawn terminal
Key([mod], "Return", lazy.spawn(terminal),
desc="Launch terminal"),
# Spawn rofi drun
Key([mod], "w", lazy.spawn("rofi -show drun"),
desc="Launch rofi -drun"),
# Spawn rofi window
Key([mod, "shift"], "w", lazy.spawn("rofi -show window"),
desc="Launch rofi -window"),
#+end_src
** System Utility Binds
#+begin_src python
# Recompile and restart qtile
Key([mod, "control"], "r", lazy.restart(), desc="Restart Qtile"),
# Quit qtile
Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
# Qtile's in-built launcher
Key([mod], "r", lazy.spawncmd(),
desc="Spawn a command using a prompt widget"),
# Start gamemoded
Key([mod], "g", lazy.spawn("gamemoded -r"),
desc="Start gamemode"),
# Stop gamemoded
Key([mod, "shift"], "g", lazy.spawn("killall gamemoded"),
desc="Stop gamemode"),
]
#+end_src
** Mouse Binds
#+begin_src python
# 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()),
]
#+end_src
* Groups
#+begin_src python
for i in groups:
keys.extend([
# mod1 + letter of group = switch to group
Key([mod], i.name, lazy.group[i.name].toscreen(),
desc="Switch to group {}".format(i.name)),
# mod1 + shift + letter of group = switch to & move focused window to group
Key([mod, "shift"], i.name, lazy.window.togroup(i.name),
desc="Switch to & move focused window to group {}".format(i.name)),
# 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.name, lazy.window.togroup(i.name),
# desc="move focused window to group {}".format(i.name)),
])
#+end_src
* Layouts
#+begin_src python
layouts = [
layout.Columns(border_focus = wal['colors']['color2'],
border_normal = wal['colors']['color0'], margin = 2),
layout.Max(),
# Try more layouts by unleashing below layouts.
layout.Stack(num_stacks=2),
# layout.Bsp(),
# layout.Matrix(),
layout.MonadTall(),
# layout.MonadWide(),
# layout.RatioTile(),
# layout.Tile(),
# layout.TreeTab(),
# layout.VerticalTile(),
# layout.Zoomy(),
]
#+end_src
* Defaults
#+begin_src python
widget_defaults = dict(
font='JetBrains Mono Nerd Font',
fontsize=10,
padding=3,
background = wal['colors']['color0']
)
extension_defaults = widget_defaults.copy()
#+end_src
* Screens
#+begin_src python
screens = [
Screen(
top=bar.Bar(
[
# Group Box
widget.GroupBox(active = wal['colors']['color0'],
inactive = wal['colors']['color0'],
urgent_text = wal['colors']['color0'],
background = wal['colors']['color1'],
this_current_screen_border = wal['colors']['color2'],
other_screen_border = wal['colors']['color2'],
urgent_border = wal['colors']['color6'],
highlight_method='block',
rounded = False,
hide_unused=True),
widget.TextBox(text='\uE0B0',
fontsize=17,
padding=0,
foreground=wal['colors']['color1']),
# Window Name
widget.Spacer(length = spacer_len,
background = wal['colors']['color0']),
widget.WindowName(),
# Prompt
widget.Prompt(),
# Volume
widget.TextBox(text = '\uE0B2', fontsize = 17,
padding = 0, foreground = wal['colors']['color2'],
background = wal['colors']['color0']),
widget.TextBox(text = ' ', fontsize = 14,
foreground = wal['colors']['color0'],
background = wal['colors']['color2']),
widget.PulseVolume(foreground = wal['colors']['color0'],
background = wal['colors']['color2']),
widget.Spacer(length = spacer_len,
background = wal['colors']['color2']),
# Clock
widget.TextBox(text = '\uE0B2', fontsize = 17,
padding = 0, foreground = wal['colors']['color1'],
background = wal['colors']['color2']),
widget.Clock(format='%Y-%m-%d %a %I:%M %p',
background = wal['colors']['color1'],
foreground = wal['colors']['color0']),
widget.Spacer(length = spacer_len,
background = wal['colors']['color1']),
widget.CurrentLayout(scale=0.6),
],
20,
),
),
]
#+end_src
* Autostart
#+begin_src python
@hook.subscribe.startup_once
def autostart():
home = os.path.expanduser('~/.config/qtile/autostart.sh')
subprocess.call([home])
#+end_src

View File

@ -1,247 +1,27 @@
from typing import List # noqa: F401
from libqtile import bar, layout, widget, hook
from libqtile.config import Click, Drag, Group, Key, Match, Screen
from libqtile.lazy import lazy
from libqtile.utils import guess_terminal
import os, subprocess, json
from libqtile import hook
from settings.keys import mod, keys
from settings.groups import groups
from settings.layouts import layouts, floating_layout
from settings.widgets import widget_defaults, extension_defaults
from settings.screens import screens
from settings.mouse import mouse
from settings.path import qtile_path
# Use the "Windows" key for mod
mod = "mod4"
# Determine terminal with this nifty function
terminal = guess_terminal()
# Define workspace names
groups = [Group(i) for i in "123456789"]
# Generate group binding hotkeys
dgroups_key_binder = None
# List of rule objects (currently empty)
dgroups_app_rules = []
# Set mouse functionality
follow_mouse_focus = True
bring_front_click = False
cursor_warp = False
# Set fullscreen options
auto_fullscreen = True
focus_on_window_activation = "smart"
# Set floating layout options
floating_layout = layout.Floating(float_rules=[
{'wmclass': 'Wine'},
{'wmclass': 'Steam'},
])
wal_loc = os.path.expanduser('~/.cache/wal/colors.json')
wal = json.load(open(wal_loc))
spacer_len = 3
# Start keys block
keys = [
# Close focused window
Key([mod], "q",
lazy.window.kill(),
),
# Rotate through the available layout algorithms
Key([mod], "space",
lazy.next_layout(),
),
Key([mod, "shift"], "space",
lazy.prev_layout(),
),
# Switch between windows
Key([mod], "h",
lazy.layout.left(),
),
Key([mod], "l",
lazy.layout.right(),
),
Key([mod], "j",
lazy.layout.down(),
),
Key([mod], "k",
lazy.layout.up(),
),
# Move windows on screen
Key([mod, "shift"], "h",
lazy.layout.shuffle_left(),
lazy.layout.client_to_next(),
lazy.layout.flip_left(),
),
Key([mod, "shift"], "l",
lazy.layout.shuffle_right(),
lazy.layout.client_to_previous(),
lazy.layout.flip_right(),
),
Key([mod, "shift"], "j",
lazy.layout.shuffle_down(),
lazy.layout.flip_down(),
),
Key([mod, "shift"], "k",
lazy.layout.shuffle_up(),
lazy.layout.flip_up(),
),
# Resize windows on screen
Key([mod, "control"], "h",
lazy.layout.grow_left(),
lazy.layout.shrink()
),
Key([mod, "control"], "l",
lazy.layout.grow_right(),
lazy.layout.grow()
),
Key([mod, "control"], "j",
lazy.layout.grow_down(),
),
Key([mod, "control"], "k",
lazy.layout.grow_up(),
),
# Return sizes to default
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"),
# Toggle between physical screens
Key([mod], "comma", lazy.to_screen(0),
desc="Toggle between split and unsplit sides of stack"),
Key([mod], "period", lazy.to_screen(1),
desc="Toggle between split and unsplit sides of stack"),
# Toggle fullscreen
Key([mod], "f", lazy.window.toggle_fullscreen(),
desc="Toggle fullscreen"),
# Toggle floating
Key([mod], "t", lazy.window.toggle_floating(),
desc="Toggle floating"),
# Spawn terminal
Key([mod], "Return", lazy.spawn(terminal),
desc="Launch terminal"),
# Spawn rofi drun
Key([mod], "w", lazy.spawn("rofi -show drun"),
desc="Launch rofi -drun"),
# Spawn rofi window
Key([mod, "shift"], "w", lazy.spawn("rofi -show window"),
desc="Launch rofi -window"),
# Recompile and restart qtile
Key([mod, "control"], "r", lazy.restart(), desc="Restart Qtile"),
# Quit qtile
Key([mod, "control"], "q", lazy.shutdown(), desc="Shutdown Qtile"),
# Qtile's in-built launcher
Key([mod], "r", lazy.spawncmd(),
desc="Spawn a command using a prompt widget"),
# Start gamemoded
Key([mod], "g", lazy.spawn("gamemoded -r"),
desc="Start gamemode"),
# Stop gamemoded
Key([mod, "shift"], "g", lazy.spawn("killall gamemoded"),
desc="Stop gamemode"),
]
# 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()),
]
for i in groups:
keys.extend([
# mod1 + letter of group = switch to group
Key([mod], i.name, lazy.group[i.name].toscreen(),
desc="Switch to group {}".format(i.name)),
# mod1 + shift + letter of group = switch to & move focused window to group
Key([mod, "shift"], i.name, lazy.window.togroup(i.name),
desc="Switch to & move focused window to group {}".format(i.name)),
# 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.name, lazy.window.togroup(i.name),
# desc="move focused window to group {}".format(i.name)),
])
layouts = [
layout.Columns(border_focus = wal['colors']['color2'],
border_normal = wal['colors']['color0'], margin = 2),
layout.Max(),
# Try more layouts by unleashing below layouts.
layout.Stack(num_stacks=2),
# layout.Bsp(),
# layout.Matrix(),
layout.MonadTall(),
# layout.MonadWide(),
# layout.RatioTile(),
# layout.Tile(),
# layout.TreeTab(),
# layout.VerticalTile(),
# layout.Zoomy(),
]
widget_defaults = dict(
font='JetBrains Mono Nerd Font',
fontsize=10,
padding=3,
background = wal['colors']['color0']
)
extension_defaults = widget_defaults.copy()
screens = [
Screen(
top=bar.Bar(
[
# Group Box
widget.GroupBox(active = wal['colors']['color0'],
inactive = wal['colors']['color0'],
urgent_text = wal['colors']['color0'],
background = wal['colors']['color1'],
this_current_screen_border = wal['colors']['color2'],
other_screen_border = wal['colors']['color2'],
urgent_border = wal['colors']['color6'],
highlight_method='block',
rounded = False,
hide_unused=True),
widget.TextBox(text='\uE0B0',
fontsize=17,
padding=0,
foreground=wal['colors']['color1']),
# Window Name
widget.Spacer(length = spacer_len,
background = wal['colors']['color0']),
widget.WindowName(),
# Prompt
widget.Prompt(),
# Volume
widget.TextBox(text = '\uE0B2', fontsize = 17,
padding = 0, foreground = wal['colors']['color2'],
background = wal['colors']['color0']),
widget.TextBox(text = '', fontsize = 14,
foreground = wal['colors']['color0'],
background = wal['colors']['color2']),
widget.PulseVolume(foreground = wal['colors']['color0'],
background = wal['colors']['color2']),
widget.Spacer(length = spacer_len,
background = wal['colors']['color2']),
# Clock
widget.TextBox(text = '\uE0B2', fontsize = 17,
padding = 0, foreground = wal['colors']['color1'],
background = wal['colors']['color2']),
widget.Clock(format='%Y-%m-%d %a %I:%M %p',
background = wal['colors']['color1'],
foreground = wal['colors']['color0']),
widget.Spacer(length = spacer_len,
background = wal['colors']['color1']),
widget.CurrentLayout(scale=0.6),
],
20,
),
),
]
from os import path
import subprocess
# Autostart
@hook.subscribe.startup_once
def autostart():
home = os.path.expanduser('~/.config/qtile/autostart.sh')
subprocess.call([home])
subprocess.call([path.join(qtile_path, 'autostart.sh')])
# Basic settings
main = None
dgroups_key_binder = None
dgroups_app_rules = []
follow_mouse_focus = True
bring_front_click = False
cursor_warp = True
auto_fullscreen = True
focus_on_window_activation = 'urgent'
wmname = 'LG3D'

View File

@ -0,0 +1,18 @@
from libqtile.config import Key, Group
from libqtile.command import lazy
from settings.keys import mod, keys
# Define groups I have
groups = [Group(i) for i in [
"1", "2", "3", "4", "5", "6", "7", "8", "9",
]]
# Define keybinds for groups
for i, group in enumerate(groups):
actual_key = str(i + 1)
keys.extend([
# Switch to workspace N
Key([mod], actual_key, lazy.group[group.name].toscreen()),
# Send window to workspace N
Key([mod, "shift"], actual_key, lazy.window.togroup(group.name))
])

View File

@ -0,0 +1,77 @@
from libqtile.config import EzKey
from libqtile.command import lazy
# Set mod key to the "windows" key
mod = "mod4"
# Define keybinds
keys = [EzKey(k[0], *k[1:]) for k in [
# ------ Movement ------ #
# Navigate between windows
("M-h", lazy.layout.left()),
("M-j", lazy.layout.down()),
("M-k", lazy.layout.up()),
("M-l", lazy.layout.right()),
# Switch focus between two screens
("M-<comma>", lazy.to_screen(0)),
("M-<period>", lazy.to_screen(1)),
# Move windows around
("M-S-h", lazy.layout.shuffle_left(),
lazy.layout.swap_left()),
("M-S-j", lazy.layout.shuffle_down()),
("M-S-k", lazy.layout.shuffle_up()),
("M-S-l", lazy.layout.shuffle_right(),
lazy.layout.swap_right()),
# Resize windows
("M-C-h", lazy.layout.grow_left().when('bsp'),
lazy.layout.shrink().when(['monadtall', 'monadwide'])),
("M-C-j", lazy.layout.grow_down().when('bsp')),
("M-C-k", lazy.layout.grow_up().when('bsp')),
("M-C-l", lazy.layout.grow_right().when('bsp'),
lazy.layout.grow().when(['monadtall', 'monadwide'])),
("M-C-n", lazy.layout.normalize()),
# Swap master and stack
("M-<space>", lazy.layout.flip().when(['monadtall', 'monadwide']),
lazy.layout.rotate().when(['stack'])),
# ------ Window State Changes ------ #
# Kill focused window
("M-q", lazy.window.kill()),
# Toggle Floating
("M-t", lazy.window.toggle_floating()),
# ------ Progam Launching ------ #
# Program launcher
("M-w", lazy.spawn("rofi -show drun")),
("M-S-w", lazy.spawn("rofi -show window")),
# Open Programs
("M-<Return>", lazy.spawn("alacritty")),
("M-S-<Return>", lazy.spawn("alacritty -e vifm")),
("M-b", lazy.spawn("brave")),
("M-d", lazy.spawn("discord")),
("M-e", lazy.spawn("emacs")),
("M-g", lazy.spawn("lutris")),
# Scratchpad toggles
# ------ System + Utils ------- #
# Resart qtile
("M-S-r", lazy.restart()),
# Quit qtile
("M-S-q", lazy.shutdown()),
# Switch between layouts
("M-<Tab>", lazy.next_layout()),
("M-S-<Tab>", lazy.prev_layout()),
# Screenshot
("M-s", lazy.spawn("flameshot gui")),
# Gamemode
("M-S-g", lazy.spawn('toggle_gamemode')),
# Manage computer audio
("<XF86AudioLowerVolume>",
lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ -2%")),
("<XF86AudioRaiseVolume>",
lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ +2%")),
("<XF86AudioMute>",
lazy.spawn("pactl set-sink-mute @DEFAULT_SINK@ toggle")),
]]

View File

@ -0,0 +1,31 @@
from libqtile import layout
from settings.wal import wal
# Layout configs
layout_conf = {
'border_focus': wal['colors']['color2'],
'border_normal': wal['colors']['color0'],
'border_width': 1,
'margin': 2,
}
# Define the layouts I have
layouts = [
layout.MonadTall(**layout_conf),
layout.Max(**layout_conf),
layout.Stack(num_stacks=2, **layout_conf),
layout.MonadWide(**layout_conf),
layout.Matrix(columns=2, **layout_conf),
layout.Zoomy(**layout_conf),
layout.Bsp(**layout_conf),
]
# Define floating rules
floating_layout = layout.Floating(
float_rules=[
{'wmclass': 'Steam'},
{'wmclass': 'Wine'},
],
border_focus=wal['colors']['color2'],
border_width=1,
)

View File

@ -0,0 +1,14 @@
from libqtile.config import Drag, Click
from libqtile.command import lazy
from settings.keys import mod
# Define mouse binds
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())
]

View File

@ -0,0 +1,4 @@
from os import path
# Define the path for qtile
qtile_path = path.join(path.expanduser('~'), ".config", "qtile")

View File

@ -0,0 +1,8 @@
from libqtile.config import Screen
from libqtile import bar
from settings.widgets import primary_widgets
# Define the screens (and bars)
screens = [
Screen(top=bar.Bar(primary_widgets, size=20))
]

View File

@ -0,0 +1,6 @@
from os.path import expanduser
from json import load
# Get color config from pywal
wal_loc = expanduser('~/.cache/wal/colors.json')
wal = load(open(wal_loc))

View File

@ -0,0 +1,57 @@
from libqtile import widget
from settings.wal import wal
spacer_len = 3
widget_defaults = dict(
font='JetBrains Mono Nerd Font',
fontsize=10,
padding=3,
background = wal['colors']['color0']
)
extension_defaults = widget_defaults.copy()
primary_widgets = [
# Group Box
widget.GroupBox(active = wal['colors']['color0'],
inactive = wal['colors']['color0'],
urgent_text = wal['colors']['color0'],
background = wal['colors']['color1'],
this_current_screen_border = wal['colors']['color2'],
other_screen_border = wal['colors']['color2'],
urgent_border = wal['colors']['color6'],
highlight_method='block',
rounded = False,
hide_unused=True),
widget.TextBox(text='\uE0B0',
fontsize=17,
padding=0,
foreground=wal['colors']['color1']),
# Window Name
widget.Spacer(length = spacer_len,
background = wal['colors']['color0']),
widget.WindowName(),
# Prompt
widget.Prompt(),
# Volume
widget.TextBox(text = '\uE0B2', fontsize = 17,
padding = 0, foreground = wal['colors']['color2'],
background = wal['colors']['color0']),
widget.TextBox(text = '', fontsize = 14,
foreground = wal['colors']['color0'],
background = wal['colors']['color2']),
widget.PulseVolume(foreground = wal['colors']['color0'],
background = wal['colors']['color2']),
widget.Spacer(length = spacer_len,
background = wal['colors']['color2']),
# Clock
widget.TextBox(text = '\uE0B2', fontsize = 17,
padding = 0, foreground = wal['colors']['color1'],
background = wal['colors']['color2']),
widget.Clock(format='%Y-%m-%d %a %I:%M %p',
background = wal['colors']['color1'],
foreground = wal['colors']['color0']),
widget.Spacer(length = spacer_len,
background = wal['colors']['color1']),
widget.CurrentLayout(scale=0.6),
]

View File

@ -46,10 +46,11 @@
(doct '(("personal" :keys "p"
:children (("todo" :keys "t"
:file org-capture-todo
:template ("* TODO %? :@home:" "%U"))
:template ("* TODO %? :@home:" "%a" "%U"))
("question" :keys "q"
:file org-capture-todo
:template ("* TODO Find out %? :question:@home:"
"%a"
"%U"))
("habit" :keys "h"
:file org-capture-todo

View File

@ -481,10 +481,11 @@ Allowable tags: @work, @home, note, question, habit
(doct '(("personal" :keys "p"
:children (("todo" :keys "t"
:file org-capture-todo
:template ("* TODO %? :@home:" "%U"))
:template ("* TODO %? :@home:" "%a" "%U"))
("question" :keys "q"
:file org-capture-todo
:template ("* TODO Find out %? :question:@home:"
"%a"
"%U"))
("habit" :keys "h"
:file org-capture-todo

7
.gitignore vendored
View File

@ -38,8 +38,5 @@
### ~/.config/retroarch
!/.config/qtile
/.config/qtile/*
!/.config/qtile/autostart.sh
!/.config/qtile/config.org
!/.config/qtile/config.py
/.config/qtile/__pycache__
/.config/qtile/settings/__pycache__

View File

@ -1 +1 @@
exec qtile
exec dbus-launch qtile