Simple tiling window manager written in Python intended for Windows XP/7
Python
Latest commit 8043c22 Apr 29, 2014 @tzbob Merge pull request #2 from 7enderhead/bugfixes
Floating WPF Windows / Minor Defensivenesses
Permalink
Failed to load latest commit information.
build add build Apr 15, 2012
icons add build Apr 15, 2012
pwt Post-Hibernate Wakeup Defensiveness Nov 21, 2012
.gitignore Add .gitignore Nov 20, 2012
LICENSE initial commit Apr 15, 2012
README.mkd readme Apr 15, 2012
config.ini initial commit Apr 15, 2012
pwt.py initial commit Apr 15, 2012
setup.py initial commit Apr 15, 2012
singleinstance.py initial commit Apr 15, 2012

README.mkd

Python Windows Tiler

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.

Install

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.

Configure

The default config file currently has 3 sections, global, hotkey and window.

Global

Center_cursor expects a boolean value to either enable or disable the feature.

  • center_cursor = yes

Hotkey

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

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

Example

You can remove keybinds from the config to ignore the entire function as I do in my My config.