From: Jonathan N. W. <li...@fi...> - 2006-04-12 19:21:11
Attachments:
windowlock.tar.gz
|
There's a feature I'd love to see implemented in a window manager, and I think PyWM is the right windowmanager for it. The attached file is a demo a friend wrote up for a class on Human- Computer Interaction. You can run the demo by running python windowlockdemo.py, and you'll need pygame. If you drag a window to the right edge of the screen, the window fills the edge, and the new edge of the screen is the left edge of the window--you can see this if you maximize the remaining window. Ideally this feature would work for any edge of the screen, and the window management otherwise would work as expected. This sort of "docking" would give a window manager RatPoison-like functionality without taking away the functionality of a normal wm. I expect a number of uses of this feature come to mind. I'd like to hear people's thoughts on this. I also wonder how easy Elmo thinks this would be to implement, and whether it's an appropriate feature for PyWM. -- Jonathan |
From: <el...@ji...> - 2006-04-13 15:14:42
|
Jonathan North Washington wrote: > There's a feature I'd love to see implemented in a window manager, > and I think PyWM is the right windowmanager for it. > > The attached file is a demo a friend wrote up for a class on Human- > Computer Interaction. You can run the demo by running python > windowlockdemo.py, and you'll need pygame. If you drag a window to > the right edge of the screen, the window fills the edge, and the new > edge of the screen is the left edge of the window--you can see this > if you maximize the remaining window. > > Ideally this feature would work for any edge of the screen, and the > window management otherwise would work as expected. This sort of > "docking" would give a window manager RatPoison-like functionality > without taking away the functionality of a normal wm. I expect a > number of uses of this feature come to mind. Very interesting indeed. > > I'd like to hear people's thoughts on this. I also wonder how easy > Elmo thinks this would be to implement, and whether it's an > appropriate feature for PyWM. This is definitely suited for pywm. If you have the time (shouldn't take long), you can try to implement this in a wm-script and tell if something in pywm should adjusted to accomodate this kind of behavior better. Alternatively you can just wait till someone, like me, implements this, which should happen soon. Anyway, you should post any specific details you might have in mind so we can come up with a kind of spec. Elmo |
From: Jonathan N. W. <li...@fi...> - 2006-04-14 23:31:27
|
On 13 Apr 2006, at 08:14, Elmo M=E4ntynen wrote: > Jonathan North Washington wrote: > >> I'd like to hear people's thoughts on this. I also wonder how easy >> Elmo thinks this would be to implement, and whether it's an >> appropriate feature for PyWM. > > This is definitely suited for pywm. If you have the time (shouldn't =20= > take > long), you can try to implement this in a wm-script and tell if > something in pywm should adjusted to accomodate this kind of behavior > better. Alternatively you can just wait till someone, like me, > implements this, which should happen soon. Anyway, you should post any > specific details you might have in mind so we can come up with a =20 > kind of > spec. I'm not sure about writing a wm script (I imagine that's best done =20 running PyWM, and I'm currently running OS X as my primary OS, so it =20 would take a little effort to figure out even what's entailed..), but =20= here's the basic logic for what it should do: - if window is being dragged and cursor hits a screen edge: - maximise window horizontally if top or bottom edge - maximise window vertically if left or right edge - reset area where windows can be maximised to the remaining =20 screen area - if maximised window is dragged, unmaximise I suppose there's a little bit more to it than that, but that should =20 provide the basics. Seems pretty simple, and so useful it's a wonder =20= all WMs don't do it.. There should probably be a way (in a config =20 file or menu somewhere) to enable and disable this feature. And btw, my friend who came up with the demo calls the feature =20 "Window Locking". I suppose that's a good name for it. --=20 Jonathan= |
From: <el...@ji...> - 2006-04-15 18:40:15
|
Jonathan North Washington wrote: > > On 13 Apr 2006, at 08:14, Elmo Mäntynen wrote: > >> Jonathan North Washington wrote: >> >>> I'd like to hear people's thoughts on this. I also wonder how easy >>> Elmo thinks this would be to implement, and whether it's an >>> appropriate feature for PyWM. >> >> >> This is definitely suited for pywm. If you have the time (shouldn't >> take >> long), you can try to implement this in a wm-script and tell if >> something in pywm should adjusted to accomodate this kind of behavior >> better. Alternatively you can just wait till someone, like me, >> implements this, which should happen soon. Anyway, you should post any >> specific details you might have in mind so we can come up with a >> kind of >> spec. > > > I'm not sure about writing a wm script (I imagine that's best done > running PyWM, and I'm currently running OS X as my primary OS, so it > would take a little effort to figure out even what's entailed..), but > here's the basic logic for what it should do: > - if window is being dragged and cursor hits a screen edge: > - maximise window horizontally if top or bottom edge > - maximise window vertically if left or right edge > - reset area where windows can be maximised to the remaining screen > area > - if maximised window is dragged, unmaximise > > I suppose there's a little bit more to it than that, but that should > provide the basics. Seems pretty simple, and so useful it's a wonder > all WMs don't do it.. There should probably be a way (in a config > file or menu somewhere) to enable and disable this feature. > > And btw, my friend who came up with the demo calls the feature > "Window Locking". I suppose that's a good name for it. > If no one beats me to it, I will try to do this. Hopefully soon, though not guaranteed =). Elmo |