Processing Ajax...

Title

Message

Confirm

Confirm

Confirm

Confirm

Are you sure you want to delete this item?

Confirm

Are you sure you want to delete this item?

Confirm

Are you sure?

User Image
Troy Gates
1 discussion post
I have a Surface Book that I use in laptop mode (3k screen) and in a docked mode on my desk (2 - 1920x1200 monitors). I am always rearranging my program windows if I open them on one or the other modes depending on which mode I used last.

I would like to request a feature that remembers multiple locations and sizes of designated programs, so I can quickly restore the programs to the best location based on which mode I am currently in.
Jan 26, 2016  • #1
User Image
NetMage
287 discussion posts
A script could probably be written to handle this, though I don't see one already done in the library. It could perhaps be combined with monitor profiles and/or with window open events to automatically place windows.
Jan 27, 2016 (modified Jan 27, 2016)  • #2
User Image
Chris295
3 discussion posts
Hi. I don't have a script to do this, but I can recommend a tool called WindowManager (not free, but only 10 USD) that does the trick. It even supports different profiles which can be triggered by the different screen resolutions.

http://www.desksoft.com/WindowManager.htm

I tried many tools and - for me - this is the best solution.
Jan 27, 2016  • #3
User Image
Jeffen Nilsson
118 discussion posts
go to settings > functions and under the window management tab there are 2 options
http://puu.sh/mLkIM/4c9e5ee65f.png
Jan 27, 2016  • #4
Keith Lammers (BFS)'s profile on WallpaperFusion.com
This can be indeed be done with a couple of scripted functions, and with the latest beta, you could set them up to run when the monitor profile changes. Setting it up is a little more involved than the WindowManager app that Chris295 mentioned, but if you'd like further instructions, please let me know.

Thanks!
Jan 28, 2016  • #5
User Image
andyf
8 discussion posts
Hi Keith,

I'm also interested in being able to have separate window locations per monitor profile - would you be able to provide me with the further instructions as mentioned? Sounds interesting!
Feb 18, 2016  • #6
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Basically you want trigger rules to run scripted functions that will move the windows.

You can add a Trigger rule on the Settings > Triggers tab. The Event should be "Monitor Profile Changed," and then you'll select the Monitor Profile in the Match Conditions section. Then in the Actions section, add a new Scripted Function, and use the following code:

Code

using System;
using System.Drawing;

public static class DisplayFusionFunction
{
public static void Run()
{
IntPtr window = BFS.Window.GetWindowByText("*Firefox*");
BFS.Window.SetSizeAndLocation(window, 0, 0, 800, 600);
}
}


That code will find the main Firefox window and move it to the top-left of the primary (0, 0) and set it's size to 800 x 600. You can duplicate those two lines and edit them as necessary for other programs.

You can then repeat the above steps for the other monitor profiles, modifying the locations/sizes as needed.

Hope that makes sense! If you get stuck, let me know and I'll take some more time to write up better step-by-step instructions with examples.
Feb 22, 2016  • #7
User Image
andyf
8 discussion posts
Keith,

That generally works great! I have two follow-up questions:

1) When I change monitor profile, a notification fires telling me one of the scripted functions has run. Is there anyway to disable this notification? I couldn't see anything obvious in the options.

2) One particular app (Teamspeak 3) doesn't *appear* to be selectable by either Text or Class. I think this might be because it's a Qt5 application? I'm not too familiar with C# but I'll have a look at trying some things out to figure out how to select it. I did try selecting it while making a new trigger, to Resize a window to a specific size + location, with the little draggable target icon - which told me the window text was "TeamSpeak 3", but no combination seemed to work for the script.
Feb 23, 2016  • #8
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Excellent, glad to hear it! You can disable the tray notifications using the "General: Don't show tray icon notification balloons" option in the Settings > Advanced Settings window.

Regarding TeamSpeak, I can reproduce the same behaviour here. Using "BFS.Window.MoveToNextMonitor" on it works fine, but "BFS.Window.SetSizeAndLocation" doesn't. I've added this to our list and we'll see if we can fix it up :)

Thanks!
Feb 23, 2016  • #9
Subscribe to this discussion topic using RSS
Was this helpful?  Login to Vote(-)  Login to Vote(-)