/python-windows-tiler

Simple tiling window manager written in Python intended for Windows XP/7

Primary LanguagePythonMIT LicenseMIT

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.