PWT is the fruit of my frustration towards the traditional windowing system. There are a few tiling programs for Windows but none of them fit my needs and I wanted to learn win32 programming and Python.
To run a portable version of PWT download the a directory from build/. To launch it with python run pwt.py with a python3.X executable.
The default config file currently has 3 sections, global, hotkey and window.
Center_cursor expects a boolean value to either enable or disable the feature.
- center_cursor = yes
The hotkey value expects the form of < modifier+modifier.. >+< key >. Possible Keys
- remove_window_from_master = alt+shift+l
- add_window_to_master = alt+shift+h
- focus_next_window = alt+j
- focus_previous_window = alt+k
- focus_primary_window = alt+return
- shift_focused_window_down = alt+shift+j
- shift_focused_window_up = alt+shift+k
- shift_focused_window_to_primary = alt+shift+return
- decrease_master_size = alt+h
- increase_master_size = alt+l
- close_focused_window = alt+shift+c
- switch_to_group_1 = alt+1
- switch_to_group_2 = alt+2
- switch_to_group_3 = alt+3
- switch_to_group_4 = alt+4
- switch_to_group_5 = alt+5
- switch_to_group_6 = alt+6
- switch_to_group_7 = alt+7
- switch_to_group_8 = alt+8
- switch_to_group_9 = alt+9
- send_to_group_1 = alt+shift+1
- send_to_group_2 = alt+shift+2
- send_to_group_3 = alt+shift+3
- send_to_group_4 = alt+shift+4
- send_to_group_5 = alt+shift+5
- send_to_group_6 = alt+shift+6
- send_to_group_7 = alt+shift+7
- send_to_group_8 = alt+shift+8
- send_to_group_9 = alt+shift+9
- focus_next_monitor = alt+i
- focus_previous_monitor = alt+u
- shift_to_next_monitor = alt+shift+i
- shift_to_previous_monitor = alt+shift+u
- choose_next_layout = alt+space
- toggle_focused_window_decoration = alt+shift+d
- stop_pythonwindowstiler = alt+shift+delete
- toggle_taskbar_visibility = alt+v
- print_focused_window_classname = alt+s
- tile_focused_window = alt+t
- float_focused_window = alt+shift+t
Window holds the window rules, currently there are 2 rules defined, float and decorate. Due to the nature of some apps they struggle with being tiled. Forcing the decorations on can help get rid of some of the glitches, if that doesn't help you can force float them. If a window gets tiled that shouldn't get tiled you should also add it to float.
The expected format is < window classname >;< window classname >
- float =
progman;#32770
- decorate =
Chrome_WidgetWin_0;ConsoleWindowClass
You can remove keybinds from the config to ignore the entire function as I do in my My config.