Skip to content

A python program for tiling the currently active window into some preset locations on the screen.

License

Notifications You must be signed in to change notification settings

sandeep-datta/tile_active_window

Repository files navigation

Tile Active Window

Introduction

I tried a tiling window manager (xmonad) once but found the concept to be too restrictive. Since then I have discovered that I don’t really need a tiling window manager for my daily needs but something which can tile windows for me conveniently within a regular window manager. tile_active_window is my attempt at realizing this goal.

It is a python script for tiling the currently active window into preset locations on the screen using keyboard shortcuts (aka hotkeys).

It uses the wmctrl Linux utility to resize and move windows and the xbindkeys utility to bind itself to keyboard shortcuts.

Usage

I would recommend installing the tool as described in the installation section. However if you want to use this script yourself you may use it as follows…

tile_active_window <preset_location>

Preset locations (and shortcuts)

  • left (Win+Left or Win+Numpad 4)
  • top (Win+Up or Win+Numpad 8)
  • right (Win+Right or Win+Numpad 6)
  • bottom (Win+Down or Win+Numpad 2)

The following key bindings should make sense when you try them out.

  • q1 (Win+Numpad 9)
  • q2 (Win+Numpad 7)
  • q3 (Win+Numpad 1)
  • q4 (Win+Numpad 3)
  • maximize (Win+Numpad 5)

Logs

Optional debug log location: /var/log/tile_active_window.log. You may need to change the value of the DEBUG variable in tile_active_window to 1 to enable logging. Set it to 0 to disable logging.

Installation

Please backup relevant files before installation.

Run the following commands in a console to install the utility. I am assuming you are on a Debian/Ubuntu based Linux distro.

wget https://github.com/SDX2000/tile_active_window/raw/master/autoinstall
chmod +x autoinstall
./autoinstall

If you are on some other distro download the autoinstall file as above and make appropriate changes for your distro (should be easy).

As part of the installation the tile_active_window script will be copied to /usr/bin and the .xbindkeysrc file will be copied to your $HOME directory.

Troubleshooting

The keyboard shortcuts are not working.

Make sure xbindkeys has been installed and is running.

ps aux| grep xbindkeys

If xbindkeys is not running run it using the xbindkeys command. xbindkeys should start automatically after a system restart henceforth.

Also check if ~/.xbindkeysrc exists and is valid

ls ~/.xbindkeysrc
less ~/.xbindkeysrc

Known Issues

  • Does not work as expected on a multi-monitor setup. If you have any hints on how to make this work please let me know!

Software Requirements

  • Linux
  • wmctrl, xbindkeys
  • python 3 (tested using python 3.3)

About

A python program for tiling the currently active window into some preset locations on the screen.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages