parent
							
								
									3677cbcc83
								
							
						
					
					
						commit
						7a04d169bc
					
				@ -0,0 +1,150 @@ | 
				
			||||
# 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. | 
				
			||||
 | 
				
			||||
from libqtile.config import Key, Screen, Group, Drag, Click | 
				
			||||
from libqtile.command import lazy | 
				
			||||
from libqtile import layout, bar, widget | 
				
			||||
 | 
				
			||||
mod = "mod4" | 
				
			||||
 | 
				
			||||
keys = [ | 
				
			||||
    # Switch between windows in current stack pane | 
				
			||||
    Key( | 
				
			||||
        [mod], "k", | 
				
			||||
        lazy.layout.down() | 
				
			||||
    ), | 
				
			||||
    Key( | 
				
			||||
        [mod], "j", | 
				
			||||
        lazy.layout.up() | 
				
			||||
    ), | 
				
			||||
 | 
				
			||||
    # Move windows up or down in current stack | 
				
			||||
    Key( | 
				
			||||
        [mod, "control"], "k", | 
				
			||||
        lazy.layout.shuffle_down() | 
				
			||||
    ), | 
				
			||||
    Key( | 
				
			||||
        [mod, "control"], "j", | 
				
			||||
        lazy.layout.shuffle_up() | 
				
			||||
    ), | 
				
			||||
 | 
				
			||||
    # Switch window focus to other pane(s) of stack | 
				
			||||
    Key( | 
				
			||||
        [mod], "space", | 
				
			||||
        lazy.layout.next() | 
				
			||||
    ), | 
				
			||||
 | 
				
			||||
    # Swap panes of split stack | 
				
			||||
    Key( | 
				
			||||
        [mod, "shift"], "space", | 
				
			||||
        lazy.layout.rotate() | 
				
			||||
    ), | 
				
			||||
 | 
				
			||||
    # 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() | 
				
			||||
    ), | 
				
			||||
    Key([mod], "Return", lazy.spawn("terminator")), | 
				
			||||
 | 
				
			||||
    # Toggle between different layouts as defined below | 
				
			||||
    Key([mod], "Tab", lazy.next_layout()), | 
				
			||||
    Key([mod], "w", lazy.window.kill()), | 
				
			||||
 | 
				
			||||
    Key([mod, "control"], "r", lazy.restart()), | 
				
			||||
    Key([mod, "control"], "q", lazy.shutdown()), | 
				
			||||
    Key([mod], "r", lazy.spawncmd()), | 
				
			||||
] | 
				
			||||
 | 
				
			||||
groups = [Group(i) for i in "123456789"] | 
				
			||||
 | 
				
			||||
for i in groups: | 
				
			||||
    # mod1 + letter of group = switch to group | 
				
			||||
    keys.append( | 
				
			||||
        Key([mod], i.name, lazy.group[i.name].toscreen()) | 
				
			||||
    ) | 
				
			||||
 | 
				
			||||
    # mod1 + shift + letter of group = switch to & move focused window to group | 
				
			||||
    keys.append( | 
				
			||||
        Key([mod, "shift"], i.name, lazy.window.togroup(i.name)) | 
				
			||||
    ) | 
				
			||||
 | 
				
			||||
layouts = [ | 
				
			||||
    layout.Max(), | 
				
			||||
    layout.Stack(num_stacks=2) | 
				
			||||
] | 
				
			||||
 | 
				
			||||
widget_defaults = dict( | 
				
			||||
    font='Arial', | 
				
			||||
    fontsize=14, | 
				
			||||
    padding=3, | 
				
			||||
) | 
				
			||||
 | 
				
			||||
screens = [ | 
				
			||||
    Screen( | 
				
			||||
        bottom=bar.Bar( | 
				
			||||
            [ | 
				
			||||
                widget.GroupBox(), | 
				
			||||
                widget.Prompt(), | 
				
			||||
                widget.WindowName(), | 
				
			||||
                widget.Systray(), | 
				
			||||
                widget.Clock(format='%Y-%m-%d %a %I:%M %p'), | 
				
			||||
            ], | 
				
			||||
            30, | 
				
			||||
        ), | 
				
			||||
    ), | 
				
			||||
] | 
				
			||||
 | 
				
			||||
# 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 = [] | 
				
			||||
main = None | 
				
			||||
follow_mouse_focus = True | 
				
			||||
bring_front_click = False | 
				
			||||
cursor_warp = False | 
				
			||||
floating_layout = layout.Floating() | 
				
			||||
auto_fullscreen = True | 
				
			||||
 | 
				
			||||
# 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 maximize irony: it is a 3D non-reparenting WM written in | 
				
			||||
# java that happens to be on java's whitelist. | 
				
			||||
wmname = "LG3D" | 
				
			||||
					Loading…
					
					
				
		Reference in new issue