|Scripts quick access edit this|
- Author: Aaron Lehmann <email@example.com>
- Download: sticky-head.jl
Defines all windows on a Xinerama head to be sticky.
Makes multi-monitor X (with Xinerama) better by making everything on non-primary heads "sticky", causing it to stay put when virtual desktops are switched and effectively making virtual desktops only applicable to the primary head.
This is a very simple hack that is quite useful to me. I make extensive use of virtual desktops, putting full screen windows on most virtual desktops. This worked great until I got Xinerama. With Xinerama, switching virtual desktops would switch what was on both monitors! Since I like having things side-by-side, it's important that the reference manual I'm looking at on the second head doesn't get moved off the screen when I switch to the virtual desktop with my emacs session on head 1. A very luxurious solution to this problem would be to have Xinerama-aware virtual desktops, so that there are different desktops for each head and you only have to switch the desktop that one head displays at a time. This would be difficult to implement. As you can see from the two lines of code below, what I did end up doing was pretty easy. It involved making virtual desktops only affect the first head by making all windows on the second head "sticky". It's not as good as having seperate virutal desktops for each head, but it sure makes Xinerama much more bearable!
You will probably need to modify it if you use a configuration other than a simple two-head configuration with head one being left of head two.