Skip to content
This repository has been archived by the owner on Dec 23, 2018. It is now read-only.

Commit

Permalink
Actually committed what I just said I did.
Browse files Browse the repository at this point in the history
  • Loading branch information
sdias committed Aug 25, 2016
1 parent 67439be commit 625840a
Show file tree
Hide file tree
Showing 4 changed files with 292 additions and 70 deletions.
133 changes: 107 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
Windows 10 Virtual Desktop Enhancer
===

This application enhances the Windows 10 virtual desktops feature.
By default you can only switch to the next/previous desktops by pressing [Windows + Ctrl + (Left or Right Arrow)].
This allows you to switch directly to each specific desktop on demand with new keyboard shortcuts.
It also allows you to have a custom wallpaper per desktop.
This application enhances the Windows 10 virtual desktops feature. It makes available the following new features:

## Installation
- Extra customizable keyboard shortcuts to switch or move a window to a different desktop.
- Custom wallpaper per virtual desktop (either a picture or a solid color).
- Current desktop indicator.

For this app to work, you first might need to install "Visual C++ Redistributable for Visual Studio 2015".
It should be available [here](https://www.microsoft.com/en-us/download/details.aspx?id=48145).
Go to the ["Releases" page to download](https://github.com/sdias/win-10-virtual-desktop-enhancer/releases).

## Installation

This app does not need to be installed, simply extract it into a folder in your computer.

Expand All @@ -19,44 +19,120 @@ Alternatively you can install AutoHotkey and run the "virtual-desktop-enhancer.a

This application only works on Windows 10 x64.

### Prerequisites

For this app to work, you first might need to install "Visual C++ Redistributable for Visual Studio 2015".
It should be available [here](https://www.microsoft.com/en-us/download/details.aspx?id=48145).

If you want to run version 0.7.0 or above of this app, you need to have the "Windows 10 Anniversary" update installed.

## Troubleshooting

If the new keyboard shortcuts do not work and the tray icon doesn't update when changing desktops, install the optional patch (it might still not work, this has to do with the version of the runtimes that you have installed).
For version 0.6.2 and below, there is an optional patch you can install that will enable you to use the app in case you don't have the update mentioned above.

## Usage

### Custom Wallpapers Per Desktop

To configure the wallpapers, edit the "settings.ini" file.
For each desktop, you can either set the wallpaper to be an image file or a fixed color.
To use images, set the path of the image, either absolute or relative (ex: "1=C:\wallpapers\1.jpg", "2=./wallpapers/2.jpg").
To use fixed colors, set the color in hexadecimal (ex: "3=0xff0000" for red, "4=0xff00" or "4=0x00ff00" for green).
If you set the config of that desktop to empty (ex: "5=") the wallpaper won't change when you switch to that desktop.
Also note that any number of desktops are supported, just add a line for each new one, like for example:

<pre>
[Wallpapers]
1=C:\Wallpapers\Default.jpg
2=
3=
4=
5=
6=
7=
8=
9=
10=
11=C:\Wallpapers\Work.jpg
12=C:\Wallpapers\Email.jpg
20=
50=
999=C:\Wallpapers\End of the world.jpg
</pre>

### Keyboard Shortcuts

While running, the following keyboard shortcuts are available:
- [Left Alt + (key under Esc)]
There are three functions: switching to another desktop, moving the current window to another desktop, and moving the current window to another desktop and then switch to that desktop.

For each function you can set a modifier (a combination of one or more keys) that when pressed at the same time as the number keys (0-9) or the previous and next keys, will execute that function. The keys that are available are: "Ctrl", "Shift", Alt" and "Win". You can also set it to only use the version of the key on one side of the keyboard, by adding "L" or "R" to the beginning, like for example "LCtrl" for left control and "RWin" for right windows key.

Goes to the desktop management screen.
This is additionally available (by default) by pressing [Windows + Tab].
You can move windows between desktops by dragging them while inside this screen.
The previous and next keys can also be customized. They default to "Left" and "Right", for the left and right arrows, respectively, [but can be set to any value in this page (except modifiers)](https://www.autohotkey.com/docs/KeyList.htm).

- [Left Alt + (0-9)]
Also note that if the setting is set to empty, the feature will be disabled.

Switch to the desktop for the respective key (ex: [LAlt + 3] goes to Desktop 3 and [LAlt + 0] goes to Desktop 10).
Hopefully the following examples make this clearer.

Note that to add a new desktop you can press the "New Desktop (+)" button on the desktop management screen.
A maximum of 10 desktops are supported.
#### Behavior with default config

With this config:
<pre>
[KeyboardShortcuts]
Switch=LAlt
Move=LAlt, Shift, Ctrl
MoveAndSwitch=LAlt, Shift
Previous=Left
Next=Right
</pre>

The following shortcuts are available:

| Description | Keyboard Shortcut |
| ----------------------------------------------------------------- | -------------------------------------------- |
| Switch to desktop by number | Left Alt + (0-9) |
| Switch to next/previous desktop | Left Alt + (Left/Right Arrow) |
| Move the current window to desktop by number | Left Alt + Shift + Ctrl + (0-9) |
| Move the current window to next/previous desktop | Left Alt + Shift + Ctrl + (Left/Right Arrow) |
| Move the current window to desktop by number and switch to it | Left Alt + Shift + (0-9) |
| Move the current window to next/previous desktop and switch to it | Left Alt + Shift + (Left/Right Arrow) |
| Open Desktop Manager | Left Alt + (key under Esc) |


#### Behavior with custom config

With this config:
<pre>
[KeyboardShortcuts]
Switch=LWin
Move=
MoveAndSwitch=LWin, Alt
Previous=PgUp
Next=PgDn
</pre>

The following shortcuts are available:

| Description | Keyboard Shortcut |
| ----------------------------------------------------------------- | ------------------------------------ |
| Switch to desktop by number | Left Win + (0-9) |
| Switch to next/previous desktop | Left Win + (Page Up/Page Down) |
| Move the current window to desktop by number | Disabled |
| Move the current window to next/previous desktop | Disabled |
| Move the current window to desktop by number and switch to it | Left Win + Alt + (0-9) |
| Move the current window to next/previous desktop and switch to it | Left Win + Alt + (Page Up/Page Down) |
| Open Desktop Manager | Left Win + (key under Esc) |

### Tray Icon

A new tray icon will be available. It indicates the number of the current desktop (1-10).
If you click on it the desktop management screen is displayed.

The icons have white text over black background. Other icon themes are also available.
#### Icon Packs

To change between them, go into the "icons" folder and extract the ZIP file for the theme you want to use, and replace any existing files if prompted. You can also use custom icons, by copying them into this folder and renaming them "1.ico" through "10.ico".
By default the white text on black background icon pack is set, but more packs are available.

### Custom Wallpapers Per Desktop
To change between them, go into the "icons" folder and extract the ZIP file for the theme you want to use, and replace any existing files if prompted.

To configure the wallpapers, edit the "settings.ini" file.
For each desktop, you can either set the wallpaper to be an image file or a fixed color.
To use images, set the path of the image, either absolute or relative (ex: "1=C:\wallpapers\1.jpg", "2=./wallpapers/2.jpg").
To use fixed colors, set the color in hexadecimal (ex: "3=0xff0000" for red, "4=0xff00" or "4=0x00ff00" for green).
If you set the config of that desktop to empty (ex: "5=") the wallpaper won't change when you switch to that desktop.
To create custom packs, simply create one icon per desktop and name them appropriately ([desktop number goes here].ico, ex: 1.ico, 5.ico, 99.ico). If the current desktop does not have an icon for it, the "+.ico" icon is shown instead, so make sure you create that as well for your pack.

### Additional Configuration

Expand All @@ -65,6 +141,11 @@ You can also set what is the default desktop using the "[General] DefaultDesktop
## Credits

Thanks to Ciantic (Jari Pennanen) for his library and sample AHK script, which can be found [here](https://github.com/Ciantic/VirtualDesktopAccessor).

Thanks to the creator of the ReadINI AHK library, found [here](https://autohotkey.com/board/topic/33506-read-ini-file-in-one-go/).

Thanks to the artists that created the packed wallpapers, whom I lost track of. Sorry.

Thanks to rob3110 on reddit for the extra white icon theme.
Thanks to the artists that created the packed wallpapers, whom I lost track of. Sorry.

Thanks to several people on reddit.com/r/windows10 for their suggestions.
15 changes: 11 additions & 4 deletions settings.ini
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
[General]
DefaultDesktop=1

[KeyboardShortcuts]
Switch=LAlt
Move=LAlt, Shift, Ctrl
MoveAndSwitch=LAlt, Shift
Previous=Left
Next=Right

[Wallpapers]
1=.\wallpapers\1.jpg
2=.\wallpapers\2.jpg
3=.\wallpapers\3.jpg
1=
2=
3=
4=
5=
6=
7=
8=
9=
10=
10=
Binary file modified virtual-desktop-accessor.dll
Binary file not shown.
Loading

0 comments on commit 625840a

Please sign in to comment.