Show HN: Stack: tiling WM for Windows
Glad to see people are still making better window managers!<p>Is this open source? I&#x27;d love to see how it works by reading the code. Which Windows APIs does it use? How is it customizable in XAML? Can it be extended in JavaScript?<p>I think extensibility and accessibility are extremely important for window managers.<p>There is a window manager for the Mac called Slate that is extensible in JavaScript -- it makes a hidden WebView and uses its JS interpreter by extending it with some interfaces to the app to do window management, using the Mac Accessibility API.<p>&quot;Slate: A window management application (replacement for Divvy&#x2F;SizeUp&#x2F;ShiftIt)&quot;: <a href="https:&#x2F;&#x2F;github.com&#x2F;jigish&#x2F;slate" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jigish&#x2F;slate</a><p>I&#x27;d like to take that idea a lot further, so I wrote up some ideas about programming window management, accessibility, screen scraping, pattern recognition and automation in JavaScript.<p>&quot;aQuery: like jQuery for Accessibility&quot;: <a href="http:&#x2F;&#x2F;donhopkins.com&#x2F;mediawiki&#x2F;index.php&#x2F;AQuery" rel="nofollow">http:&#x2F;&#x2F;donhopkins.com&#x2F;mediawiki&#x2F;index.php&#x2F;AQuery</a><p>Check out Morgan Dixon&#x27;s and James Fogarty&#x27;s amazing work on user interface customization with Prefab, about which they&#x27;ve published several excellent CHI papers:<p>&quot;Prefab: What if We Could Modify Any Interface?&quot;: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=lju6IIteg9Q" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=lju6IIteg9Q</a><p>Imagine if every interface was open source. Any of us could modify the software we use every day. Unfortunately, we don&#x27;t have the source.<p>Prefab realizes this vision using only the pixels of everyday interfaces. This video shows the use of Prefab to add new functionality to Adobe Photoshop, Apple iTunes, and Microsoft Windows Media Player. Prefab represents a new approach to deploying HCI research in everyday software, and is also the first step toward a future where anybody can modify any interface.<p>Presented by Morgan Dixon and James Fogarty at CHI 2010.<p>&quot;Content and Hierarchy in Prefab&quot;: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=w4S5ZtnaUKE" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=w4S5ZtnaUKE</a><p>Imagine if every interface was open source. Any of us could modify the software we use every day. Unfortunately, we don&#x27;t have the source.<p>Prefab realizes this vision using only the pixels of everyday interfaces. This video shows how we advanced the capabilities of Prefab to understand interface content and hierarchy. We use Prefab to add new functionality to Microsoft Word, Skype, and Google Chrome. These demonstrations show how Prefab can be used to translate the language of interfaces, add tutorials to interfaces, and add or remove content from interfaces solely from their pixels. Prefab represents a new approach to deploying HCI research in everyday software, and is also the first step toward a future where anybody can modify any interface.<p>Presented by Morgan Dixon and James Fogarty at CHI 2010.<p>&quot;A General-Purpose Bubble Cursor&quot;: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=46EopD_2K_4" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=46EopD_2K_4</a><p>We present a general-purpose implementation of Grossman and Balakrishnan&#x27;s Bubble Cursor (<a href="http:&#x2F;&#x2F;www.tovigrossman.com&#x2F;BubbleCursor&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.tovigrossman.com&#x2F;BubbleCursor&#x2F;</a>), the fastest general pointing facilitation technique in the literature. Our implementation functions with any application on the Windows 7 desktop. Our implementation functions across this infinite range of applications by analyzing pixels and by leveraging human corrections when it fails.<p>&quot;Prefab: Implementing Advanced Behaviors Using Pixel-Based Reverse Engineering of Interface Structure.&quot; at CHI2009: <a href="https:&#x2F;&#x2F;redesign.cs.washington.edu&#x2F;sites&#x2F;default&#x2F;files&#x2F;hci&#x2F;papers&#x2F;CHI2009-Prefab-Final.pdf" rel="nofollow">https:&#x2F;&#x2F;redesign.cs.washington.edu&#x2F;sites&#x2F;default&#x2F;files&#x2F;hci&#x2F;p...</a><p>&quot;Prefab: What if Every GUI Were Open-Source?&quot; at CHI2010: <a href="https:&#x2F;&#x2F;homes.cs.washington.edu&#x2F;~jfogarty&#x2F;publications&#x2F;workshop-chi2010.pdf" rel="nofollow">https:&#x2F;&#x2F;homes.cs.washington.edu&#x2F;~jfogarty&#x2F;publications&#x2F;works...</a><p>&quot;Abstract: 
Current methods for implementing graphical user interfaces
create fundamental challenges for HCI research and
practice. Researchers are often unable to demonstrate or
evaluate new techniques beyond small toy applications, and
practitioners are often unable to adopt methods from the
literature in new and existing applications. This position
statement examines a vision in which anybody can modify
any GUI of any application, similar to a scenario where
every GUI of every application is open-source. We are
currently working to enable this vision through our
development of Prefab, using pixel-based interpretation of
GUIs to enable modification of those GUIs without any
cooperation from the underlying application. We see
participation in the FLOSS HCI workshop as valuable in at
least two regards. First, fully realizing this vision will likely
require a community-based approach, so we are interested
in Prefab as a platform for collaboration between HCI
researchers and the FLOSS community. Second, enabling
arbitrary modification of any GUI would seem to blur many
current distinctions between open and closed applications,
introducing new research questions and further magnifying
the importance of the workshop’s focus.&quot;<p>&quot;Content and Hierarchy in Pixel-Based Methods for Reverse-Engineering Interface Structure&quot; at CHI2011: <a href="http:&#x2F;&#x2F;homes.cs.washington.edu&#x2F;~jfogarty&#x2F;publications&#x2F;chi2011.pdf" rel="nofollow">http:&#x2F;&#x2F;homes.cs.washington.edu&#x2F;~jfogarty&#x2F;publications&#x2F;chi201...</a><p>&quot;A General-Purpose Target-Aware Pointing Enhancement Using Pixel-Level Analysis of Graphical Interfaces&quot; at CHI2012: <a href="https:&#x2F;&#x2F;homes.cs.washington.edu&#x2F;~jfogarty&#x2F;publications&#x2F;chi2012-prefab.pdf" rel="nofollow">https:&#x2F;&#x2F;homes.cs.washington.edu&#x2F;~jfogarty&#x2F;publications&#x2F;chi20...</a><p>And if you&#x27;re into the history of window management, and would like to read some interesting discussions about many great ideas, check out this classic Springer Verlag book that&#x27;s now available free online:<p>&quot;Methodology of Window Management&quot;: <a href="http:&#x2F;&#x2F;www.chilton-computing.org.uk&#x2F;inf&#x2F;literature&#x2F;books&#x2F;wm&#x2F;overview.htm" rel="nofollow">http:&#x2F;&#x2F;www.chilton-computing.org.uk&#x2F;inf&#x2F;literature&#x2F;books&#x2F;wm&#x2F;...</a><p>By F R A Hopgood, D A Duce, E V C Fielding, K Robinson, A S Williams. 29 April 1985.
This is the Proceedings of the Alvey Workshop at Cosener&#x27;s House, Abingdon that took place from 29 April 1985 until 1 May 1985. It was input into the planning for the MMI part of the Alvey Programme.
The Proceedings were later published by Springer-Verlag in 1986.<p>My favorite chapters:<p>&quot;Ten Years of Window Systems - A Retrospective View&quot; by Warren Teitelman: <a href="http:&#x2F;&#x2F;www.chilton-computing.org.uk&#x2F;inf&#x2F;literature&#x2F;books&#x2F;wm&#x2F;p004.htm" rel="nofollow">http:&#x2F;&#x2F;www.chilton-computing.org.uk&#x2F;inf&#x2F;literature&#x2F;books&#x2F;wm&#x2F;...</a><p>&quot;SunDew - A Distributed and Extensible Window System&quot; by Games Gosling: <a href="http:&#x2F;&#x2F;www.chilton-computing.org.uk&#x2F;inf&#x2F;literature&#x2F;books&#x2F;wm&#x2F;p005.htm" rel="nofollow">http:&#x2F;&#x2F;www.chilton-computing.org.uk&#x2F;inf&#x2F;literature&#x2F;books&#x2F;wm&#x2F;...</a><p>&quot;User Interface Working Group Discussions&quot;: <a href="http:&#x2F;&#x2F;www.chilton-computing.org.uk&#x2F;inf&#x2F;literature&#x2F;books&#x2F;wm&#x2F;p017.htm" rel="nofollow">http:&#x2F;&#x2F;www.chilton-computing.org.uk&#x2F;inf&#x2F;literature&#x2F;books&#x2F;wm&#x2F;...</a><p>&quot;User Interface Working Group Final Report&quot;: <a href="http:&#x2F;&#x2F;www.chilton-computing.org.uk&#x2F;inf&#x2F;literature&#x2F;books&#x2F;wm&#x2F;p018.htm" rel="nofollow">http:&#x2F;&#x2F;www.chilton-computing.org.uk&#x2F;inf&#x2F;literature&#x2F;books&#x2F;wm&#x2F;...</a>