Mar 02 2012

Multi-monitor wallpapers

Category: SoftwareSpiller @ 23:18

I have been messing around with my monitors and portrait mode and I want to try out this setup for a while and see how it goes. Creating a dual-monitor wallpaper for Windows 7 on this particular setup manually is fairly tricky so I’m going to share how to do this with Gimp.

Dual-wallpaper on my monitors

I’m going to walk through a rather difficult case here, having screen space to the upper left of the main monitor and making a single image span across while taking in account the monitors real world position. If you just want to have a different wallpaper on your two normally aligned monitors it is much simpler.

Specialized software to do this

If you don’t want to go through all this trouble there are software out there to do most of the work for you. A open-source alternative is Duel Wallpaper from the Dual Monitor Tools software package which can be found on SourceForge: http://dualmonitortool.sourceforge.net/dualwallpaper.html

Also, according to addictivetips, Windows 8 will have at least some support for wallpapers on multiple monitors.

Telling Windows the screens relative positioning

Before starting this you should ensure that Windows know how the two monitors are positioned to each other, as this will affect how the wallpaper has to be done. You can do this by right-clicking on your desktop and click “Screen resolution”.

Windows monitor dialog

Notice that you can drag the monitor icons to match how the screens are positioned in real life. This affects how your mouse, windows and wallpaper wraps over to the other monitors, so make sure this is correct if you have differently sized monitors.

If your monitor´s stand allows you to adjust the height of the monitor then it is easier just to make a rough positioning in Windows and then adjust the monitor height to align it precisely.

Understanding Windows 7 wallpaper positioning

There are 5 modes: Fill, fit, stretch, center and tile. The first four will use the same wallpaper on both monitors which makes them unusable for this. The tile option however is based on the main monitor´s upper left corner and repeats from this point and continues repeating onto the other monitors while respecting its relative positioning as explained in the previous step.

That means that if you have two 1280×1024 px monitors side by side showing a 2560×1024 px wallpaper, the main monitor will show the area from 0x0 to 1179×1023 px and the secondary monitor will show the area from 1280×0 to 2559×1023 px.

However if the secondary monitor is to the left of the main monitor, it will still display the right side of the wallpaper! This is because the left monitor is showing the tile left to the main monitor, which is illustrated below with my monitor setup:

How wallpapers tile on multiple monitors

So when you have to create your wallpaper, you have to make sure that the resolution is large enough to make sure that two monitors are not going to show the same area. Secondly you have to consider which areas are going  to show up on which monitor.

Creating a monitor mask

When you having a more complicated screen setup like shown above it is useful to create a mask showing the areas will be shown on the screen and how they are positioned with pixel accuracy.

First, press Print Screen to take a screen shot. Press Ctrl+Shift+V in Gimp to create a new image containing the screenshot. You should now have something like this:

Screenshot showing black areas

Notice how the areas which are not covered by your monitors are pitch black. Next, make sure that the image has an alpha channel by right-clicking on the layer and clicking “Add Alpha Channel”. (If it is disabled, it already has one)

Screenshot of rightclick menu

Now we want to remove everything except the black areas. To do this, use the Fuzzy Select Tool to select all the black areas. To select more than one area, simply click while holding Shift to add another area to the existing selection.

When done, invert the selection by clicking “Select->Invert” (or by pressing Ctrl+i) so that everything except the black areas are now selected. Then press Del to delete everything in the selection which should now become transparent like this:

Screenshot of finished mask

Taking physical position into account

All normal monitors have an edge all around the screen which makes it impossible to avoid a small gap between each monitor. This makes everything jump a small distance every time something transitions from one screen to another. This isn’t too apparent when it moves horizontally, however it if is diagonally is is a different story as you can see in the following photo:

A photo of a diagonal going from one monitor to another

To get the best results you should takes this gap in account when creating your wallpaper. So find your ruler and start measuring!

When you have found the distance between the monitors we will have to convert this distance into pixels. Since I wasn’t completely sure which PPI my monitor was, I took the low-level approach and created a 10 cm wide image:

Screenshot of the advanced settings in the New Image dialog

Using my ruler I measured the width of the created image on the screen. When it didn’t match, I adjusted the PPI in the advanced settings a bit and created a new image until I found the correct PPI. Once I found it, I created a new image using the width I measured the gap to be using that PPI setting and used the dimensions of the image in pixel as a converting tool. (Interestingly enough, it ended up being 94 PPI.)

To finish your monitor mask, add this new information to it:

Finished monitor mask

You only need to make this mask once so make sure to save it somewhere safe so you can reuse it next time you want a new wallpaper.

Creating a wallpaper

Now the fun finally starts. Find an image and resize and crop it so it has the same dimensions as your monitor mask and place your monitor mask on top of it like this:

Image with monitor mask on top

The few next (and last!) steps will, based on this image, create the wallpaper image for Windows. As said before, the parts of the image will show up on different screens so this is where the monitor mask comes in handy.

The image needs to be at least the same size as your screenshot. The rules are simple. In the upper-left corner you place the area which is going to be shown on your main monitor. For areas to the right you add it right to the right of the main monitor. For areas to the left you add it to the right edge of the image, moving towards the left side. For areas below you add it right below the main monitor however for areas above you add it at the bottom edge of the image, moving upwards.

The result in my case looks like this:

The wallpaper image

Conclusion

Windows doesn’t really take multiple monitors in account and this shows up here too. Just making a simple wallpaper like this is a bit of work and generally using the third-party software is probably the best way for most people.

The but is that I’m not sure if it is possible to properly take the gap between the monitors in account with the third-party tools.

For most monitor setups doing it manually should be a breeze however and even with this kind of setup it is not too bad once you tried it a couple of times. It would have been much easier if Windows had used the upper-left corner of the combined monitor area instead though.

Update:

I thought that there was something looking wrong and there was… My monitors are standing at a slight angle to each other and this is making the perspective slightly off. Seriously, this is starting to become rocket science…

Tags: , , ,


Oct 06 2011

Customizing my Windows computer – part 2

Category: SoftwareSpiller @ 05:46

More customization to be done, still far from the goal. Just minor tweaks this time.

Fix disappeared Explorer jump list

Not quite a customization, but I will include it here never the less. As you perhaps have spotted in the last post, I do not have either “Recent” or “Pinned” entries in my Explorer jump list. This is caused by a bug in win7 which has been known since the beta days, yet it still appears to be unfixed.

The reason appears to be that the file containing the jump list entries have been corrupted. You can find the files here: (You must enter the path, you can’t navigate to the folder!)

%AppData%MicrosoftWindowsRecentAutomaticDestinations

The file containing the Explorer jump list is “1b4dd67f29cb1962.automaticDestinations-ms”, just delete it to get it working again. However if you experience this issue with another application, simply delete all entries (to the Recycle Bin) and pin a entry to that application. The file that now appears is the jump list for that application. Simply press CTRL+Z to undo the previous delete and select “Don’t move” when it attempts to undelete the broken file.

Change locations of user folders

You can move your “My Documents” folder by right-clicking it and clicking “Properties”. Click “Move…” under the “Location” tab. (It will ask whether you want to move the current contents to the new location.) You can do this for most of the folders in %USERPROFILE%, for example your Desktop.

I use a separate HDD partion (D:) for all my data so I can easily format the system drive and reinstall Windows without loosing anything important. Since applications sometimes save user data or other strange stuff in those automatically, I moved them all to “D:userconfWindows”. It will make a reinstall a little bit easier.

I also started to stop using “My Documents”, “My Music” and “My Videos” completely. The “My Documents” folder in particular is misused by many applications so all kinds of weird stuff ends up here, removing my attention from what I’m actually trying to store in those folders.

Modify the Start menu

As more and more entries get into the start menu, it gets increasingly harder to find the programs you want. You can edit it by changing the contents this the following two folders:

%APPDATA%MicrosoftWindowsStart Menu
%PROGRAMDATA%MicrosoftWindowsStart Menu

The first folder is for your user, the second is for all users. The entries in the first will automatically be merged together with the second.

Notice that if you start editing these folders, then the shortcuts will not be automatically deleted when you uninstall the application since the paths have changed.


Notice that I prefix folders which contains several applications with “#”, this makes them stand on the top of the list. (You can’t do this on top-level folders of some reason though, it will not merge the user and all user folder correctly.) To make the folders which contains several applications stand out I the icon (the method is explained in the last section). Also note that I have the “HxD” program listed twice, an easy to reach shortcut at the top and a folder containing the uninstaller and more.

You can also change the paths of these two Start Menu folders by doing the same as explained in the previous section. I have moved all normal shortcuts into the all-user folder and I moved the user folder to “D:userconfWindows”. In this folder I placed links to all the portable applications I have on my D: drive, so these will survive after a reinstall. (It requires that the drive letter remains the same though.)

Extending Aero Snap

EDIT: multi-monitor support was removed from the free version and I found a better alternative, WinSplit Revolution. I find this one better and it is completely free, so check out that one instead. EDIT END

Aero Snap doesn’t work very well when using multiple monitors and it doesn’t give you as many possibilities as similar solutions in Linux. Luckily there are a few tools out there to replace it. I tried two and settled on AqauSnap.

AqauSnap only supports simple grid operations, like right-upper corner, but I do not need more than that anyway. Multi-monitor support and with a bit of tweaking okay graphics. Hotkeys are implemented, however it doesn’t work well across monitors. Furthermore you can’t undock a maximized window with the mouse.

All in all, it works better than Aero Snap, but there is still room for improvement. You can download it from the authors homepage or read more about it here.

Disabling the desktop

The desktop easily ends up being cluttered because you trow all kinds of random stuff into it. Most of the time it is just stuff I just dump there because I’m too lazy to properly navigate to the folder it should have been in. So I will try force myself do it properly from the start.

Hiding the icons is easy, just right-click on the desktop and uncheck “View->Show desktop icons”. (You should pin the Recycle Bin to Explorer first though.)

This doesn’t prevent you from saving stuff here, it just hides it. However you can change the permissions for the Desktop folder and disallow Write operations. To do this, right-click on your Desktop folder (located in %USERPROFILE%) and click “Properties”. Under the “Security” tab, click “Edit…”. In this window, check the “Deny” box for “Write” for the users you want to restrict.

If you restricted the right users it should now give you an error message if you try to save/move anything to the desktop. I fear it might annoy some installers which want to create shortcuts on the desktop, but I don’t think it will be a major issue.

Using folder icons

Using visual clues to locate a folder instead of relying on reading the text makes it much easier to find. If you have a fitting .ico file, changing the icon is painless.

Right-click the folder and click “Properties”. Under the “Customize” tab, click “Change Icon…” at the bottom. Click “Browse…” to select the .ico file you want to use. (The list is used in case you select a .dll or .exe which contains multiple icons.)

If the folder icon does not update, try pressing F5 a couple of times. To get most out of folder icons, only apply them to your most used folders as it makes them stand out more.

 

Tags: , , , , , , , ,