Friday, July 30, 2010
Author: Stefan Koell Created: Tuesday, September 09, 2008 1:58:59 PM
News and updates about code4ward, Royal TS and other geeky stuff...

 

Yesterday was my first (of 30 days) in Seattle/Redmond. I will be in Washington for a month attending some business so there will be some latency in responding to emails and forum posts.

During the weeks we have a lot of work but the weekends are reserved for fun, recreation, theaters,shopping and some hiking. So far the weather is just great here... hopefully it stays that way...

Read More »

Managing Windows

  1. [Win+M] – Minimize all open windows
  2. [Win+Shift+M] – Undo all window minimization
  3. [Win+D] :- Toggle showing the desktop
  4. [Windows+Up] – Maximize window
  5. [Windows+Down] – Minimize windows / Restore
  6. [Windows+Left] – Dock window to the left side
  7. [Windows+Right] – Dock window to the right side
  8. [Windows+Shift Up] – Maximize vertical size of window
  9. [Windows+Shift Down] – Restore vertical size
  10. [Windows+Shift Left] – Move window to left monitor
  11. [Windows+Shift Right] – Move window to right monitor
  12. [Win+Spacebar] – Aero desktop peek
  13. [Win+Home] – minimize/maximize all inactive windows
  14. [Alt+F4] - Close the active window
  15. [Alt+Tab] - Switch to previous active window
  16. [Alt+Esc] – Cycle through all open windows
  17. [Win+Tab]- Flip 3D
  18. [Ctrl+Win+Tab]- Persistent Flip 3D

Taskbar

  1. [Win+Any number (1, 2, 3, .., 0)] – open the corresponding taskbar pinned program
  2. [Ctrl+Click a pinned taskbar icon] – cycle through the program’s open windows
  3. [Shift+Click a pinned taskbar icon] -run a new instance of the program
  4. [Ctrl+Shift+Click a pinned taskbar icon] – run a new instance of the program as administrator
  5. [Shift+Right-click on icon] – Show window menu (Restore, Minimize, Move etc)
  6. [Shift+Right-click on grouped icon] - Show window menu (Restore All, Minimize All, Move All etc)
  7. [Win+T] – Cycle through applications on taskbar (showing its live preview)
  8. [Win+Shift+T] – As above, but in reverse order
  9. [Win+R] - Opens Run dialog box

General

  1. [Win+P] – show presentation mode projector options
  2. [Win+G] – show desktop gadgets
  3. [Win+L] – Lock computer
  4. [Win+X] - Mobility Center
  5. [Win++] - Zoom in
  6. [Win+-] – Zoom out
  7. [Win+=] – Magnifier

Windows Explorer

  1. [Alt+P] - Show/hide Preview Pane
  2. [Alt+Up] - Go up one level
  3. [Alt+Let/Right] - Back/forward

It’s actually pretty easy:

msiexec /a filepath to MSI file /qb TARGETDIR=filepath to target folder

I wasn’t able to blog much lately. Mostly because of piled up work but also family business is keeping me busy.

However, today Version 1.6.7 was released. This update is free for all users with a Royal TS 1.6 license and can be downloaded from here: http://www.code4ward.net/main/RoyalTS/Download.aspx

It’s been a while since the last release and most of the changes in this release are bug fixes. The last refactoring caused some very weird bugs which were hard to find and harder to fix. Here some of my lessons learned:

The tree view and the web browser control from Windows.Forms namespace are buggy as hell and one of the weirdest issues with these controls are focusing issues. Of course there are workarounds for most of the issues but since the dashboard has a web browser control (for displaying the notes) the interaction between the web browser control and the tree view control are causing headaches as hell.

For once, the tree view has some serious focus issues. Trying to move the focus away from the tree view after the selection changed causes the tree view to steal back the focus after the event chain was processed. There are some workarounds for this and I think during all my Royal TS releases I tried every single one available.

The web browser control has similar issues. When you set the contents for the web browser control using the DocumentText property you always get this annoying click sound. As a workaround you can set the contents using the Document.Write() method – which is not causing the click sound. The side effect however is, when you set it this way, the control starts to steal the focus back when it got the focus once (e.g. if you click inside the control or on a link). Now with all the focus stealing there’s no way to predict which control will get the focus after all. 

So I was forced to use a 3rd party tree view control, which unfortunately will blow up the footprint of the installer package a bit. But the good news is, that it’s nicer, not so buggy – at least not with all the ordinary stuff, has plenty of options and provides a very easy approach to implement drag & drop.

imageSo now you can use drag & drop to reorder folders or move connections within or between folders, including a nice drop marker as shown in the screen shot.

Holding down the CTRL key while dragging will duplicate a connection instead of moving it. Watch the icon with the “plus” sign.

You can also drag multiple connections from the list to the tree view as well!

So while I was at it and touched the tree view code, I took the opportunity to make sure that the selected item stays highlighted even when the focus is inside a session. So everybody should be happy now to see very clear which session is active. Another thing I did, was optimizing the code to build the tree and the list. It’s now very fast, even when you have several hundred connections.

Replacing the tree view resolved some of my headaches but, the web browser control still wants to steal the focus. So back to the start. I need to set the content using the DocumentText property, at least I get rid of the focus stealing issue. But how to disable the click sound. Fortunately when we deal with IE7 and IE8 there’s a Win32 API call to disable that very annoying “feature”: CoInternetSetFeatureEnabled().

I haven’t tested it, but my guess is that users with IE6 will have the click sound when changing the selection in the navigation tree. If you get annoyed and want to commit suicide, go to the system sounds and disable the click noise (which will be effective on all IE browsers on your system) or upgrade to IE7 or IE8.

imageWhat else changed? In order to prepare everything for the new document model I changed some terms and menu item names. I also tried to use terms and keyboard shortcuts already well known from the windows shell.

Add and Remove changes to Insert and Delete (Del as the keyboard shortcut). In future Insert will have a sub menu where you can choose Folder, Credential, Task, Remote Desktop Connection, Web Connection, etc.

Edit was changed to Properties (Alt+Enter as keyboard shortcut). I always felt that “Edit->Edit” just doesn’t sound right. “Edit->Properties” is much nicer. I know these are some minor cosmetic changes but as many of you may already know the love and passion to details is driving me.

I should also mention that you can also hit F2 when you just want to change the name of a tree or list item!

imageSpeaking of detail: I already use the Windows 7 / Windows 2008 R2 Remote Desktop Service icon to identify a remote desktop connection in the tree (as usual as black for inactive and green for active connections). Besides that I set the greenish icon as window icon for connections in external window mode. This way you can easily distinguish the main window of Royal TS and all the external windows from Royal TS when you use Alt+Tab for example.

Finally I want to thank all beta users for their support in identifying bugs and for constructive discussion on features. I hope you enjoy the new build.

Here is part 2 of the 10 common misconceptions about RDP:

http://blogs.msdn.com/ts/archive/2009/03/12/top-10-rdp-protocol-misconceptions-part-2.aspx

Read More »

I’ve still not shown all new features and improvements for 1.6.5 but starting today I offer to download the beta version (1.6.5.32156). If you are interested to test drive the beta version, create an account on this web site (if you haven’t already) and click on this link: http://www.code4ward.net/main/Default.aspx?rsvp=RTSBETA

After that you should have access to the beta forums. There you’ll find all the instructions…

Now let’s do some screenshot bonanza:

image image image image image image

 

I think the pictures are saying more than thousand words…

cheers

Stefan

Nadim Abdo – the development manager for Remote Desktop Protocol published an interesting blog post (part one of two parts) about common RDP misconceptions.

Interesting read: http://blogs.msdn.com/ts/archive/2009/03/03/top-10-rdp-protocol-misconceptions-part-1.aspx

Let’s have another little preview of the upcoming 1.6.5 release. Unfortunately the Beta will be slightly delayed because I wasn’t able to do anything this weekend due to some health issues. I was in bed most of the time recovering from a cold (which is still not gone completely).

Anyhow, let’s have a look at logging: as many users requested better logging options I completely rewrote all the logging code. First changes are visible in the options dialog:

imageThere are two logging levels:

Standard Logging
Verbose Logging.

Verbose logging additionally logs some more debug information for troubleshooting and also logs selection changes in the tree. The latter was requested by some users because they want to track the time they spend on a server.

The checkbox will cause Royal TS to log into the event log as well.

 

 

Now to the Logging Window itself:

image

As you can see, completely new Logging Window!

The window isn’t shown “Modal” as before, meaning you can leave the logging window open all the time, use Royal TS and hit on Refresh whenever you want to update the view.

Selecting an item in the grid will show you all the details in the preview pane on the bottom of the window.

Notice the new toolbar items “Copy Details to Clipboard” and “Go to the Forums”. This is still not completely finished but the basic idea is to copy HTML formatted text from the log entry and some additional information like versions, OS, Service Pack, etc. to the clipboard, so that you can share your issues easily on the forums. If you wish, Royal TS will automatically blank out some sensitive information from the log entry (like user name or host name).

The list can also be used to filter data, sort the entries and group the columns (Outlook-Style).

Last but not least: image

You can save the log in various formats.

 

Stay tuned for the next sneak peak – there’s still a lot of things to show off…

 

Connect with Optionsimage

Instead of having all sorts of “Connect to Console”, “Connect without Auto Logon”, “Connect in external window but without auto logon but to the console”, etc. I decided to implement a much more flexible mechanism to control how you want to connect to a particular remote desktop.

The check menus for “Connect to Console” and “Auto Logon” will override the setting from the connection.

The check menus for “Embedded”, “External” and “Full Screen” can be checked (only one at a time of course) but also unchecked. If one of the three options is checked it will take the selected window mode regardless of the connection’s configuration. If none is checked (you can clear the selection by clicking a check menu again), the window mode stored in the connection will be used.

This concept also allows easy extension in future versions. The overrides are only active for that session and will not be saved for that connection. To change it permanently you still need to edit the connection.

Of course, clicking one of the check menus will still leave the drop down menu open until you click on connect.

 

The all new “Change” menu:image

Royal TS 1.6.5 will allow you to toggle “Smart Sizing” or “Smart Reconnect” on or off while the connection is active.

Another major improvement (as already shown in my previous post) is that you can change the window mode while the connection is active.

Of course, once you rip out a session from the main window to an external, you can put it back using the external window’s system menu or using the “Change” menu in the tree for that connection.

 

As a side note: the enabled “Edit” function for an active connection is not a bug – it’s a feature!

Now you can also edit connections while they are active.

Read More »

I've been very busy with extending Royal TS for the last couple of months. One fruity outcome is already implemented: the "Tasks" feature. The next release of Royal TS will have completely fresh and new code for the remote desktop control. Originally I planned to do more smaller releases in shorter periods but this one is already an exception. It will be a 1.6.5 because there's too much change in it to call it a "maintenance" release. In fact some great new, unique features are on board.

But first I want to announce that there's a new group on my site: "Royal TS Beta Group" which you can easily join using the following link (you must be a registered user and logged in): http://www.code4ward.net/main/Default.aspx?rsvp=RTSBETA

When you join this group you will be able to download Beta versions and participate in the new Beta forum to discuss the release. There will also be some kind of notification/newsletter for those who joined the group. If you are interested to test drive new versions of Royal TS you are welcome to join.

So, what will be included in 1.6.5? Here a small preview:

image

Let me explain the picture above:

This is the system menu from an remote desktop connection in an external window and you see that there are four "Royal TS" menu items in it. Let's start with the last one:

  • "Embed Session in Royal TS"
    You can now, on the fly, without reconnecting, ad-hoc, change an embedded session to an external, or vice-versa, change an external session to an embedded.
  • "Reconnect"
    Does exactly what it says. When you resized your external window and want to adapt the remote desktop resolution to the new window size, that's what you need. Is very handy when you configured your connection to automatically log on.
  • "Smart Sizing"
    As before, smart sizing will scale down your remote session instead of showing scroll bars when making the session window smaller.
  • "Smart Reconnect"
    Will automatically reconnect your session when you resize the session window.

That's it for now.

       
 

Search Blog

       
         
 
You must be logged in and have permission to create or edit a blog.
Privacy Statement  |  Terms Of Use
Copyright 2010 by code4ward - Stefan Koell
Cloud Server hosted by | Web Design