Open GoogleCodeExporter opened 8 years ago
Since the icon is not included in the program it will not automatically become
the taskbar pinned icon, a manual edit is required in
"%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\Taskbar".
Original comment by john.s.peterson@live.com
on 25 Apr 2012 at 9:03
If committing any of these changes please use "--with-revprop svn:author=<my
Google Code email>" so the commits are tracked for my Ohloh account. Thanks!
Original comment by john.s.peterson@live.com
on 25 Apr 2012 at 9:13
On which version of SuperPutty have these changes been built?
Original comment by breker.c...@gmail.com
on 26 Apr 2012 at 1:58
[deleted comment]
[deleted comment]
It says in the patch, "trunk/SuperPutty.sln (revision 52)". Some parts from the
1.1 and 1.2 branch has also been included, the code related to LoadFromXml,
ctlPuttyPanel.cs:FromPersistString and ctlPuttyPanel.cs:GetPersistString.
Those are the improvements in the branch versions that interested me the most
since I believe it's important to automatically save the tabs (and the layout).
Original comment by john.s.peterson@live.com
on 27 Apr 2012 at 1:03
I’ll explain my reasoning for the changes if there are any question or
objections about them.
! Going from WindowState Normal to Minimized and back to Normal no longer
removes the last PuTTY row.
Without this fix minimizing and restoring the window back and forth will
eventually clear the PuTTY window, one row at a time. This occurs in
ctlApplicationPanel.cs:OnResize. Even if this problem doesn’t occur for some
reason the resize events I’ve removed are still unnecessary (i.e., if not
harmful).
! Close session list after session is opened from list.
+ Alt key show menu bar.
! Session list not shown on open if saved tabs exist.
This is part of my goal to not have anything in the working window except the
PuTTY tabs.
The Alt key show/hide is the reason for the frmSuperPutty.cs:KBHookCallback
code. Without it pressing Alt with a PuTTY window in focus will not show the
menu bar.
! PuTTY panel DockAreas limited to DockAreas.Document.
The downside with allowing all DockAreas is that moving the tabs can lead to
accidentally redocking it (to a top docked or a floating window for example)
which is annoying if the user never have the intention of redocking it.
DockAreas.Document should be adequate and logical for the main document (the
PuTTY windows).
! Move native methods to separate class.
This makes sense in my opinion. For example ctlApplicationPanel.cs has a large
amount of native code that makes it harder to see what the file does, and it
makes the other files cleaner too.
! Change target framework and build files to newer version.
I believe this is done in the branch too. Most, if not all, of the code is
still compatible with .NET 2.0 I believe, if one wanted to switch back for some
reason, but I think most users have .NET 4.0 installed at least so it makes
sense to at least use 4.0. The WeifenLuo.WinFormsUI.Docking.dll update should
be uncontested though, no reason to not update that.
+ Additional items in tab right click menu; new session, PuTTY menu items.
There seems to have been an intention to implement this, but it was never
implemented for some reason. This implementation is in
ctlPuttyPanel.cs:puTTYMenuTSMI_Click, the WM_SYSCOMMAND are found at
windows/window.c:37 in PuTTY.
+ Focusing PuTTY also focus SuperPuTTY.
This refers to focus from mouse click in the window, the code is in
frmSuperPutty.cs:MHookCallback.
+ Restore window position on open.
This change is found in frmSuperPutty.cs:RestoreSize.
+ Restore tabs on open.
It’s actually restore for the whole layout, in frmSuperPutty.cs:RestoreTabs.
I argue for the automatic save/restore to registry that I‘ve implemented
(rather than a save/restore that require manual action. There’s of course no
downside to be able to save the layout manually (which is not a feature I often
use in any program and a feature some major programs like VS lack as far as I
know) but it’s important to save the layout automatically).
+ Save password.
Through the methods Program.cs:EncryptString/DecryptString. The encryption is a
simple step to not save the password in plain text. It’s obviously a security
concern to save the password and the user can choose to not save the password
(leave the password field blank) for critical logins.
+ Application use icon loaded from putty.exe.
I believe it makes sense to use the PuTTY icon if the program is essentially
considered a PuTTY with tabs.
I’ve also implemented other details for behaviors that are not critical but
annoying. For example starting PuTTY with ProcessWindowStyle.Hidden (and the
required ctlApplicationPanel.cs:GetMainWindowHandle because
m_Process.WaitForInputIdle(); m_AppWin = m_Process.MainWindowHandle; doesn’t
apply in that case) is to not have the PuTTY windows show (one by one which is
annoying and potentially interrupting if the user by coincidence clicks on the
(random and unpredictable) location the window is shown at) until the
application is started and the windows are docked.
Original comment by john.s.peterson@live.com
on 27 Apr 2012 at 1:04
"|| (Keys)vkCode == Keys.RMenu" should be removed, only Keys.LMenu should be
used to show the menu.
Original comment by john.s.peterson@live.com
on 18 May 2012 at 5:22
This patch is moved to https://github.com/john-peterson/superputty.
Original comment by john.s.peterson@live.com
on 4 Dec 2012 at 6:54
Original issue reported on code.google.com by
john.s.peterson@live.com
on 25 Apr 2012 at 9:00