Sometimes I'd like to have my editor always visible and on top of other windows, even if not focused. Well, it could be an editor, or maybe a Youtube video... I wanted to see if it's worthwhile to consider adding functionality to toggle a window's ability to remain on top of other windows.
+1 on this.
Sent from my iPhone
On Jul 9, 2015, at 1:43 PM, Alvin Chan [email protected] wrote:
Sometimes I'd like to have my editor always visible and on top of other windows, even if not focused. Well, it could be an editor, or maybe a Youtube video... I wanted to see if it's worthwhile to consider adding functionality to toggle a window's ability to remain on top of other windows.
—
Reply to this email directly or view it on GitHub.
IIRC we looked into this with Hydra and found that without adding a runtime module that inserts itself into all applications (for some reason I'm thinking I saw this referred to as a SMBL or something similar), we could only do this on modern systems when we could get direct access to the NSWindow objects, which translates into "we can do it to our own windows, but not other application windows". The undocumented CoreGraphics functions only work in 32bit environments, I think.
Of course, I'd love to be shown that I'm wrong and that someone has found a way around this or that my memory is faulty.
Yeah there's a SIMBL app/plugin floating around, called Afloat. I don't believe this is possible to do without using something like SIMBL. FWIW, I don't think that runtime patching other processes is something that Hammerspoon should be in the business of doing. Sorry!
Runtime patching and code injection are something we should stay out of...
Perusing the EasySIMBL issues pages (this one stands out: https://github.com/norio-nomura/EasySIMBL/issues/25, though you can find others), every update, sometimes even interim security updates, has required new fixes, and there is suspicion that with 10.11 it may be broken beyond any fix. According to the 10.11 notes at https://developer.apple.com/library/prerelease/mac/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_11.html#//apple_ref/doc/uid/TP40016227-SW1 :
System Integrity Protection
A new security policy that applies to every running process, including privileged code and code that runs out of the sandbox. The policy extends additional protections to components on disk and at run-time, only allowing system binaries to be modified by the system installer and software updates. Code injection and runtime attachments to system binaries are no longer permitted.
We have enough trouble with our own bugs and tweaks -- we don't want to add ones Apple is (understandably from security perspective) working against!
@asmagill the solution you suggested might not be the only viable one, why not leave this feature request open? I'd love to have this functionality, perhaps one day :)
Most helpful comment
@asmagill the solution you suggested might not be the only viable one, why not leave this feature request open? I'd love to have this functionality, perhaps one day :)