Hacker News new | past | comments | ask | show | jobs | submit login

Any chance this could add launching windows to specific positions/sizes and/or, more importantly, to specific spaces?

It still feels nuts to me that we have all this stuff and yet when entering/exiting 'work mode' I have to either leave everything running indefinitely or reposition all my work apps every time I launch them.




I leave everything running. I have a dozen spaces filled with assortments of windows for different tasks. It’s a real pain because some apps (such as the browser) have windows open on all of the spaces and macOS really doesn’t like it when you have the same application in multiple different spaces. Clicking a link in an email is such a roll of the dice (as to which space I’ll end up in and which browser window will receive the new tab) that I don’t bother clicking and test copy paste the link where I want it to open.

It’s especially bad when I need to restart the browser because then all the windows get collected into one space again. Also annoying that relaunching the browser reopens all those windows in the first place.

I like the idea of this app for launching a collection of apps together but the application is the wrong level of granularity. I don’t want all of my browser windows at once. I want just one of them along with the windows of other applications that match that task.

I bet there’s some combination of tools I could cobble together and customize to achieve this but I don’t want to work that hard at it. I really should be able to just open up a new space, open up and arrange all the windows I want to work with on tasks for that space, and then press save and give it a name.

Then I should be able to close that space and reopen it by name any time I like, with all of the windows exactly as I left them, regardless of whether or not any of those applications are open on other spaces.


I think this is the dream, but we're paddling upstream here as the OS itself is app-centric and apps are mostly document-centric.

Xerox Star & Smalltalk had the task-centric approach and Alan Kay @alankay has said that Steve Jobs/Apple missed that aspect in their takeaway from their visit: "(they) missed a few things about the GUI. For example, that it had unlimited and persistent “desktops” which could be used to sustain work/projects over time without having to tear down and build up, and without stovepiped apps, etc."

https://www.quora.com/What-was-it-like-to-be-at-Xerox-PARC-w...

So happy that I could remember enough of this story to find that link.


Crossing the streams (see: <https://news.ycombinator.com/item?id=41217330>, and I know msephton has), task-centric UI seems to me to have traditionally been accomplished on Unix-like platforms through directories (often task/project-related), and Makefiles, which can combine a set of related operations across a large number of tools in a single context.

Neither of these are, of course, user-friendly for the vast majority of people. But they do afford some thoughts, concepts, and mechanisms which might be used in task-oriented UI design.


The Lisa was doc-centric so Apple definitely didn't miss that aspect. They abandoned it because harddrives were expensive and needed a cheaper base system running single apps off floppy.


I think they called them "contexts" on Lisa, but as you say it was referred to as document-centric. https://www.youtube.com/watch?v=n1CvRKdV0Ls

But Alan Kay was talking about task-centric, not document-centric, which I'd argue Lisa wasn't quite doing fully.

Happy to talk about this more if you think I'm mistaken. And you'll need to let Alan Kay know :)


> Also annoying that relaunching the browser reopens all those windows in the first place.

This is the browser's decision, not macOS's, though. At least for Firefox, you can turn it off ("Open previous windows and tabs" in General > Startup).


I don’t want to lose all those windows and tabs though.

I guess what I really want isn’t possible without either ugly hacks or a total rearchitect of the operating system: the elimination of the “stovepipe” applications paradigm.

Applications should not own their windows, the operating system should. In practice this would mean an application is not a program you invoke by clicking on it. Instead it should be a library you install that tells the operating system how to read, display, edit, and write certain kinds of documents or document-like resources (such as web pages).

Then it would be easy for the operating system to offer unlimited persistent desktops that need to only remember which resources are open and a bit of metadata controlling the appearance of each window (position, shape, size, view setting).


I dunno—I see the appeal of what you say, but, on the other hand, the closer the OS comes to locking in different things that an app might want to do, the more we risk the iOS set-up where you can use any browser you want, as long as it's WebKit. That is, one unified paradigm is great, as long as you like that paradigm!

I guess one can image a "skinnable" OS, where the OS enforces, say, one approach to window management on all apps, but there are options for what the One True Window Management strategy is. I'm sure I'm describing something in Linux, but I'm a Mac user and so not used to such freedom.


Agreed. It’s weird because the basic app+window UX in macOS (in which an app can be running with no windows open) implies the task based behavior that Stapler is trying to support.


I'm not sure the current app/window paradigm does suggest that, see my sibling reply.


Fair. It sounds like earlier tech went further than the macOS UX.

It’s a shame we don’t have better task support. macOS has been slowly shidting further towards app-centric workfkows. I suppose this is in line with app stores, web apps and mobile OSs being the more common computer interfaces now. It’s disappointing, in my opinion.


We've left so many great and useful things behind in the name of "progress". I encourage you to try old systems, even just for as long as it takes to type a document, edit an image, or manage some windows, organise some files, to see how they all did things and what each brought to the desktop.

Here's a playlist of demos of great but obsolete operating systems: https://www.youtube.com/playlist?list=PLfF-zlMNYMd_ZioGb0BKd...


I would recommend using another tool to script those sorts of changes to the workspace, and then adding that to the Stapler Document.

There is an app called Stay that remembers positions of Windows based on the app, title, etc. I used it for a while, but not recently. https://cordlessdog.com/stay/


You're not alone with this desire, and I still haven't found a good solution. I want to bookmark all apps and windows when working on something and recall them all later when I resume work. How is this not yet a thing when do much real work involves using so many different applications?.

There is an app, Workspaces, I think, but it's not useful enough to bother using.

Probably should be a macos feature one day


KDE Activities


There's probably something more comprehensive and recent, but I couldn't find it:

What is an activity in KDE and what can I do with it? https://askubuntu.com/a/705835


Moom⁽¹⁾ offers the ability to save and restore window layouts, including triggering saved layouts on addition or removal of displays.

⁽¹⁾https://manytricks.com/moom/


$10 is incredibly reasonable for this product, thank you for sharing.


You’re welcome.

I’ve been a Moom user for a long time, and the craziest thing to me is when they had to change⁽²⁾ from using a miniature rectangular grid for positioning and resizing a window to a slanted hexagonal grid because of a patent⁽³⁾.

⁽²⁾https://manytricks.com/blog/?p=4618

⁽³⁾https://patents.google.com/patent/US20090300541A1/en


I wonder if they experimented with adding app/document launches into the mix? Seems like the missing piece.


I also have wanted this for a long time, is there a limitation on macOS that prevents this? It doesn’t sound that hard but maybe if apis aren’t there it is.


First, make sure that: System Preferences > General > Desktop & Dock > Windows > Close windows when quitting an application = OFF

Then leave the windows of an app open as you quit it. When you next launch the app its windows will restore to their previous size and position. If you close the windows first, then the app will restore to having no windows open.


In Sonoma, the same preference is there, but it's one level less nested: System Settings > Desktop & Dock etc.


I use Keyboard Maestro to do this for my needs.

May not work for every case.


Can you say a bit more about how you've set this up in Keyboard Maestro? Thanks


Sure!

I have a bunch on windows in an app, that tend to move to a different monitor after the machine goes to sleep.

Each window has a different title, which is something KM can act on, so I've made an action that moves each individual window to a specific place. I've tied this action to Alt-P (for "place"), so I can manually correct when they've drifted.

So it's not a generic "put all windows where I left them" solution, but it's a hell of a lot better than manually doing the same thing several times a day.


Nice! I do something similar with my laptop using Hammerspoon: when it detects my external keyboard is connected over USB it does some setup for my desk/mobile environment (repositions dock, quits some apps, launches some apps, etc). I manage my windows in quarters and thirds using keyboard, so they don't really move about.


> more importantly, to specific spaces?

Apple does not provide APIs for that. A handful of apps control spaces, and all of them by automating GUI actions.


We might be looking for this:

https://github.com/FancyWM/fancywm




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: