zVirtualDesktop icon indicating copy to clipboard operation
zVirtualDesktop copied to clipboard

Persist pinned apps

Open fluffynuts opened this issue 8 years ago • 15 comments

One of the reasons I couldn't use the native desktops provided by Win10 is because there was no way to pin an app across all desktops. I run a dual-head display and I always want my browser on the left display, irrespective of which desktop I'm on (though I use desktops to separate working concerns).

zVD does this, but one feature I'd really like would be to be able to configure persistent settings for windows across sessions. Settings- and ui-wise, this may have reasonable cross-over with https://github.com/mzomparelli/zVirtualDesktop/issues/36

fluffynuts avatar Sep 26 '17 05:09 fluffynuts

It sounds like you want to be able to force certain windows to always load on a specific desktop. That is exactly what that other issue is referring to. It also sounds like you want to take that up a level and be able to control specific window settings as well. Like Maximize and minimize. Am I understanding you correctly?

mzomparelli avatar Sep 26 '17 13:09 mzomparelli

Yes to the first part -- I'd like to force certain windows to load on a specific desktop (my use-case is ALL desktops, but I'm sure the logic is similar -- although you already have the logic for pinning an app to all desktops, so perhaps not really). I don't really want to control window settings like Maximise and Minimise though. Not sure if anyone else wants this though.

Basically, the use-case is that I want my browser, (Firefox Nightly) to always be pinned to all desktops, even after restarting the browser or restarting my computer and then starting the browser. For an app which updates frequently (like FF Nightly), it would be hella convenient.

fluffynuts avatar Sep 26 '17 13:09 fluffynuts

Glued Apps

mzomparelli avatar Sep 26 '17 14:09 mzomparelli

How would you feel if it took a few seconds after you open the app to recognize it and send it where it should be? In your case it would pin the window as soon as it was recognized.

mzomparelli avatar Sep 26 '17 22:09 mzomparelli

I recognize that the solution probably lies in polling windows, so I accept that the final outcome may not be instantaneous. I would suggest that a delay of 500ms or less would feel practically instant to the user - not sure if this is practical?

fluffynuts avatar Sep 27 '17 04:09 fluffynuts

I think it is sufficient to have a option on the menu that allows someone to just rearrange all the windows of opened apps. That way, upon startup, I'd just open all the apps, then hit one menu selection on the tray to "arrange" all the open windows on the different desktops.

M3Rocket avatar Sep 29 '17 22:09 M3Rocket

@M3Rocket so you're saying pre-configure how windows should be arranged, but have the option to only apply it when you ask for it?

mzomparelli avatar Sep 30 '17 02:09 mzomparelli

I'm not really a fan of this idea. I'm going to end up hurting that button so often as I restart apps (like Firefox nightly), open them late because I don't remember (outlook - some days I forget to open it for ages and people wonder why I don't respond to mails 😒) or open new instances (visual studio). I'd really like this to "just happen" when an app opens.

fluffynuts avatar Sep 30 '17 05:09 fluffynuts

I would want the option to turn off that option then--I do not want a process polling multiple windows all the time. I much prefer this app to retain a low profile, small footprint and use as few resources as possible.

I tend to load up up to 10 desktops with different "tasks" in mind. All of them have a Chrome window open for instance. But I don't usually open many other applications in multiple desktops. So for my use, I'd only want it to setup the maybe three or four apps that I need on various desktops after I load those apps at startup or restart.

M3Rocket avatar Sep 30 '17 09:09 M3Rocket

My plan was to implement this like pinning windows. Instead you will click something like glue window and this will prevent the window from moving to another desktop and will automatically move new windows to the desktop you pre-configured for that window.

mzomparelli avatar Sep 30 '17 18:09 mzomparelli

My previous attempt at using an event hook caused extra cpu load. I don't have a choice though. I have to make it work because it sets me up for having timers for all windows. Desktop timer is going away and being replaced by window timers. DesktopView header row will display the sum of the time for each window on the desktop. And reports that you can export.

mzomparelli avatar Oct 07 '17 01:10 mzomparelli

A use case I run into is that my windows are moved and resized by Windows because the resolution changes temporarily. I have a large resolution (4096x2160) screen both at home and at work. When I need to give a presentation and the projector has a resolution of e.g. 1024x768, the windows on all virtual desktops will move and resize to fit into that resolution (same if I accidentally open the laptop). Then when I go back to the monitor, all windows are in the left-top and I need to move and resize a few dozen windows.

So 'save windows positions' and 'restore windows positions' buttons (perhaps automatic if the resolution changed) would be a welcome addition for me.

nicolasdejong avatar Oct 08 '17 12:10 nicolasdejong

A thought occurs: one possible strategy would be to provide an api which users could program against. Whether this is a cli app or a dll with exports that could be consumed from, for example, Python, this would be a useful feature. It would allow users to script behaviors that they want. Popular behaviors could be incorporated into the core or shared amongst users. Thoughts?

fluffynuts avatar Nov 11 '17 12:11 fluffynuts

@fluffynuts I like where you are going with that idea. However, my goal is to keep this as a single executable with no external libraries even if it is my own library. Let me think about this more.

mzomparelli avatar Nov 11 '17 17:11 mzomparelli

I'd buy this software and possibly multiple licenses if it supported this 1 feature. On Linux they have Devil's Pie and macOS I assume has something they already apply a PiP mode that works well btwn desktops for video and communications apps.

Windows 10/11 desperately needs this for their virtual desktops to be useful imho.

rbreaves avatar Jul 26 '22 03:07 rbreaves