summaryrefslogtreecommitdiff
path: root/.config/qtile/keys.py
diff options
context:
space:
mode:
Diffstat (limited to '.config/qtile/keys.py')
-rw-r--r--.config/qtile/keys.py163
1 files changed, 163 insertions, 0 deletions
diff --git a/.config/qtile/keys.py b/.config/qtile/keys.py
new file mode 100644
index 0000000..1cb3d6e
--- /dev/null
+++ b/.config/qtile/keys.py
@@ -0,0 +1,163 @@
+#!/usr/bin/env python3
+
+from libqtile.config import Key, Screen
+from libqtile.command import lazy
+
+
+
+
+class MyKeys():
+ def init_keys(self,
+ mod="mod4",
+ browser="qutebrowser",
+ term="alacritty",
+ ):
+
+ my_keys = [
+ Key([mod], "Return",
+ lazy.spawn(term),
+ desc='Launches My Terminal'
+ ),
+ Key([mod, "shift"], "a",
+ lazy.spawn('anki'),
+ desc='Launch anki'),
+ Key([mod, "shift"], "m",
+ lazy.spawn("spotify"),
+ desc="Laucnh spotify"),
+ Key([mod], "Tab",
+ lazy.spawn("dmenu_run -p 'Run: '"),
+ desc='Run Launcher'
+ ),
+ Key([mod], "p",
+ lazy.spawn("passmenu -p 'Password for: '"),
+ ),
+ Key([mod], "b",
+ lazy.spawn(browser),
+ desc='Qutebrowser'
+ ),
+ Key([mod, "shift"], "c",
+ lazy.next_layout(),
+ desc='Toggle through layouts'
+ ),
+ Key([mod], "q",
+ lazy.window.kill(),
+ desc='Kill active window'
+ ),
+ Key([mod, "shift"], "r",
+ lazy.restart(),
+ desc='Restart Qtile'
+ ),
+ Key([mod, "shift"], "0",
+ lazy.shutdown(),
+ desc='Shutdown Qtile'
+ ),
+ Key([mod, "shift"], "e",
+ lazy.spawn("emacsclient -c -a 'emacs'"),
+ desc='Doom Emacs'
+ ),
+ ### Switch focus of monitors
+ Key([mod], "period",
+ lazy.next_screen(),
+ desc='Move focus to next monitor'
+ ),
+ Key([mod], "comma",
+ lazy.prev_screen(),
+ desc='Move focus to prev monitor'
+ ),
+ ### Treetab controls
+ Key([mod, "shift"], "h",
+ lazy.layout.move_left(),
+ desc='Move up a section in treetab'
+ ),
+ Key([mod, "shift"], "l",
+ lazy.layout.move_right(),
+ desc='Move down a section in treetab'
+ ),
+ ### Window controls
+ Key([mod], "j",
+ lazy.layout.down(),
+ desc='Move focus down in current stack pane'
+ ),
+ Key([mod], "k",
+ lazy.layout.up(),
+ desc='Move focus up in current stack pane'
+ ),
+ Key([mod, "shift"], "j",
+ lazy.layout.shuffle_down(),
+ lazy.layout.section_down(),
+ desc='Move windows down in current stack'
+ ),
+ Key([mod, "shift"], "k",
+ lazy.layout.shuffle_up(),
+ lazy.layout.section_up(),
+ desc='Move windows up in current stack'
+ ),
+ Key([mod], "h",
+ lazy.layout.shrink(),
+ lazy.layout.decrease_nmaster(),
+ desc='Shrink window (MonadTall), decrease number in master pane (Tile)'
+ ),
+ Key([mod], "l",
+ lazy.layout.grow(),
+ lazy.layout.increase_nmaster(),
+ desc='Expand window (MonadTall), increase number in master pane (Tile)'
+ ),
+ Key([mod], "n",
+ lazy.layout.normalize(),
+ desc='normalize window size ratios'
+ ),
+ Key([mod], "m",
+ lazy.layout.maximize(),
+ desc='toggle window between minimum and maximum sizes'
+ ),
+ Key([mod, "shift"], "f",
+ lazy.window.toggle_floating(),
+ desc='toggle floating'
+ ),
+ Key([mod], "f",
+ lazy.window.toggle_fullscreen(),
+ desc='toggle fullscreen'
+ ),
+ ### Stack controls
+ Key([mod, "shift"], "Tab",
+ lazy.layout.rotate(),
+ lazy.layout.flip(),
+ desc='Switch which side main pane occupies (XmonadTall)'
+ ),
+ Key([mod, "shift"], "space",
+ lazy.layout.toggle_split(),
+ desc='Toggle between split and unsplit sides of stack'
+ ),
+ ### Volume controls
+ Key([], "XF86AudioLowerVolume",
+ lazy.spawn('amixer sset Master 5%-'),
+ desc="Decrease volume"
+ ),
+ Key([], "XF86AudioRaiseVolume",
+ lazy.spawn('amixer sset Master 5%+'),
+ desc="Increase volume"
+ ),
+ ### Spotify
+ Key([mod, "shift"], "p",
+ lazy.spawn("spotify-control play-pause"),
+ desc="play/pause music"
+ ),
+ Key([mod, "shift"], "n",
+ lazy.spawn("spotify-control next"),
+ desc="next song"
+ ),
+ Key([mod, "shift"], "b",
+ lazy.spawn("spotify-control previous"),
+ desc="previous song"
+ ),
+ ### Change languages
+ Key([mod], "F1",
+ lazy.spawn("setxkbmap us -option caps:swapescape"),
+ desc= "change to US layout"
+ ),
+ Key([mod],"F2",
+ lazy.spawn("setxkbmap gr"),
+ desc= "change to greek layout"
+ ),
+ ]
+ return my_keys