2

I would like to take a program I use in Windows 10 (Q-Dir, not that it should matter) and dock it to a screen edge or corner, so that it is normally hidden and only pops into view when the cursor hits that screen edges in contact, and hides again when the cursor leaves the window - basically a lot like the taskbar when set to auto-hide.

Is there any existing software that will do this? Preferably something that can just perform this task (i.e. not something drastic like a desktop replacement), and preferably not something clumsily using AutoHotkey or similar.

Writing my own satisfactory solution with AHK is an acceptable fallback, but I'd rather not spend the weekend writing something robust enough to comfortably handle evolving use yet still unable to hook appropriate control options into titlebar context menus.

It's not a big deal if the program also insists on stretching the winow along the whole length of a screen edge, but it needs to at least let the other dimension retain original size.

1 Answer 1

1

I found one tool that does it: Preme.

However I find it unresponsive, clumsy, and rather confused by multi-monitor setups (for example, it keeps resizing windows down to fit geometry of a screen it's not occupying).

The necessary logic to do a proper job is far too much to handle in AutoHotkey. A Javascript implementation of all the geometry logic* is now well underway. But I will need to also use AHK to (crudely) hook into windows events and system calls (using EXO) or do a proper job with usable UI in something like C# (incorporating the Javascript portion with something like Jurassic).

This is much more than a weekend job and I still hope to find a more suitable pre-existing option.


* build a bounding polygon around the monitors, find border intersections with tracked windows+update when moved, choose largest intersecting border and calculate hidden position, determine when to show and hide, etc.

5
  • You can accept your own answer, in order to help others who red this question in future Oct 31, 2017 at 10:45
  • 1
    In case anyone is interested, I took this as far as completing all window manipulation/event response logic, implementing a C++ addon for nodejs to wrap the necessary win32 API hooks, and piecing together a working proof of concept that runs in the CLI, responding (quite smoothly) to mouse proximity. What remains to be handled are additional win32 hooks to provide the system tray interface and registry access for managing window matching configuration and other options. The project is on the back burner for now but will eventually be finished and released as a standalone program. Oct 31, 2017 at 14:31
  • Since you intend to release it, if you put it on GitHub, someone might complete it for you Oct 31, 2017 at 14:38
  • 1
    Unlike most of the work I do, in this case I do not intend to release the source. I see this as a nice little niche to personally occupy (intellectually speaking) and perhaps even profit a little (such as by accepting tips/donations, self-promotion, or building on the experience and source of this novel approach to produce other non-free utilities that are more ambitious). Oct 31, 2017 at 14:52
  • It's your choice & I don't object. Of course, if you don't have the time to complete it now and someone else does it for you, suitably licensed, the quicker you can get to market with those other projects that build on it :-) Oct 31, 2017 at 14:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.