Skip to content
/ opensnap Public
forked from lawl/opensnap

Aero like snap feature for <s>EWMH compilant window managers</s> openbox.

License

Notifications You must be signed in to change notification settings

gbdu/opensnap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OPENSNAP

What's that?

Opensnap brings the Aero Snap feature to Openbox.

Eternal Code freeze (kinda probably)

The state of X is REALLY, REALLY horrible. I didn't know what I was getting in to when I started the POC of opensnap. So I'm declaring an eternal code freeze. Meaning I will probably not add features or fix bugs that can be workarounded.

Known bugs you just have to work around:

  • No "unsnapping" feature (see end of this file for workaround)
  • opensnap doesn't detect screen layout changes (just restart opensnap)

Sorry, opensnap works fine enough for me in it's current state and I'm really not too keen on messing more with X API's. If you encounter a bug, you can either report it here, maybe I'll fix it, no guarantees though. Or fork opensnap and fix it yourself. (And optionally send me a pull request)

But hey, opensnap is still in use by quite a few people, including me, and it works. It's not perfect but good enough for daily use. So you might still want to give it a shot.

Does this work with other window managers?

The goal was to make it work with every EWMH compliant window manager.

Dependencies?

With the default configuration, you'll need wmctrl as a runtime dependency.

On most debian systems you should be able to install it by:

sudo apt-get install wmctrl

If you want to build opensnap from source make sure you have these as well:

sudo apt-get install build-essential libx11-dev libgtk-3-dev

Installing

If you want to install opensnap from source first make sure you have git installed. (Or fetch a zip file: https://github.com/lawl/opensnap/archive/master.zip)

Fetch via git:

git clone https://github.com/lawl/opensnap.git

Fetch via zip:

wget https://github.com/lawl/opensnap/archive/master.zip
unzip master.zip

Make sure you have all prerequisits:

sudo apt-get install build-essential libx11-dev libgtk-3-dev wmctrl

And finally build and install it:

cd opensnap*
make
sudo make install

And now start opensnap with

opensnap

or

opensnap --deamon

if you want it to deamonize.

Customizing the configuration

By default opensnap stores its configuration files in /etc/opensnap if you've run make install. If you want to customize these, you should copy the global configuration to your user directory.

mkdir -p ~/.config/opensnap
cp /etc/opensnap/* ~/.config/opensnap/

You can now edit the configuration files in ~/.config/opensnap/. Make sure to restart opensnap for it to see the new configuration directory.

How can I use it?

This should tell you all you need to know:

opensnap --help

Copy the sample configs to ~/.config/opensnap/.

Unsnap workaround

As of now opensnap does not support unsnapping (see #4). You can find a workaround here: lawl#4 (comment)

Do note however that this does not perfect unsnapping. I.e. your cursor possition and the window you are dragging might get displaced a bit on unsnapping. But it does work well enough for daily use.

About

Aero like snap feature for <s>EWMH compilant window managers</s> openbox.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 89.0%
  • Shell 8.7%
  • Makefile 2.3%