{"id":13059,"date":"2017-11-27T05:51:40","date_gmt":"2017-11-27T04:51:40","guid":{"rendered":"https:\/\/sysprogs.com\/w\/?p=13059"},"modified":"2017-11-27T05:57:15","modified_gmt":"2017-11-27T04:57:15","slug":"smartty-3-0-is-out","status":"publish","type":"post","link":"https:\/\/sysprogs.com\/w\/smartty-3-0-is-out\/","title":{"rendered":"SmarTTY 3.0 is out"},"content":{"rendered":"<p>Today we are proud to release SmarTTY 3.0 &#8211; our free multi-tabbed SSH client. In this version we have redesigned the main window to\u00a0look better on modern high resolution displays and introduced the new smart terminal mode that\u00a0greatly boosts the\u00a0productivity of\u00a0work done over SSH by extending the normal terminal experience with a few useful graphical elements:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/main.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13060\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/main.png\" alt=\"main\" width=\"926\" height=\"593\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/main.png 926w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/main-300x192.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/main-768x492.png 768w\" sizes=\"(max-width: 926px) 100vw, 926px\" \/><\/a><\/p>\n<p>In this post I will\u00a0give you an overview of the new features.<\/p>\n<p><!--more--><\/p>\n<h2>Windows-like Command Line Editing<\/h2>\n<p>The text editing experience in a Linux console is different from editing a text document in a Windows editor like Notepad++: different keyboard\u00a0shortcuts, limited mouse support, and small annoyances like line breaks\u00a0interfering with copy\/pasting commands.\u00a0We decided to solve this once and for all and added a new Smart Tab mode to SmarTTY 3.0.\u00a0\u00a0Unlike the regular SSH tabs where SmarTTY simply forwards your keyboard and mouse events to the Linux system and expects it to handle them, Smart Tabs work\u00a0in a more clever way.<\/p>\n<p>When a Smart Tab is open, SmarTTY will\u00a0understand whether you are editing a command line, or running a command via SSH.\u00a0When you are editing a command line,\u00a0smart tabs will offer you the regular\u00a0Windows text editing experience with selecting words via Ctrl+Shift+Arrow, using mouse\u00a0to move the cursor, undo\/redo shortcuts, etc.\u00a0SmarTTY\u00a0knows exactly where the command line area starts and the output of the previous command ends and won&#8217;t let you accidentally cross that boundary. E.g. pressing Ctrl-A will select the\u00a0entire command line, but not the\u00a0any other text:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/ctrla.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13063\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/ctrla.png\" alt=\"ctrla\" width=\"903\" height=\"593\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/ctrla.png 903w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/ctrla-300x197.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/ctrla-768x504.png 768w\" sizes=\"(max-width: 903px) 100vw, 903px\" \/><\/a><\/p>\n<p>Once you hit Enter, SmarTTY will\u00a0switch into the command running mode, offering the regular terminal emulation just like any other SSH client. This is possible because the SSH protocol\u00a0allows\u00a0running individual commands and reports exactly when\u00a0a command exits.<\/p>\n<h2>Smart Command Completion<\/h2>\n<p>As the Smart Tabs\u00a0have a good understanding of the commands you type, and have the ability to run commands like &#8220;ls&#8221; in the\u00a0background, they will provide\u00a0instant\u00a0suggestion popups with commands and file names, similar to\u00a0modern code editors:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/01-popup.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13064\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/01-popup.png\" alt=\"01-popup\" width=\"786\" height=\"593\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/01-popup.png 786w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/01-popup-300x226.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/01-popup-768x579.png 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/a>If you are entering an absolute or a relative path, SmarTTY can again fully understand it and will display the directories and files matching\u00a0the entered text:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/02-substr.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13065\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/02-substr.png\" alt=\"02-substr\" width=\"786\" height=\"593\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/02-substr.png 786w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/02-substr-300x226.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/02-substr-768x579.png 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/a>If you\u00a0often use Linux commands\u00a0with numerous command-line switches and\u00a0don&#8217;t want to lookup their meaning in man pages, SmarTTY lets you define\u00a0custom per-command suggestions by editing the <strong>CommandCompletions.xml file<\/strong>. Here&#8217;s a basic example of suggestions for the <strong>mkdir<\/strong> command:<\/p>\n<pre class=\"\">&lt;?xml version=\"1.0\"?&gt;\r\n&lt;CommandCompletionDatabase xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\"&gt;\r\n &lt;Completions&gt;\r\n &lt;CommandCompletion&gt;\r\n &lt;Command&gt;mkdir&lt;\/Command&gt;\r\n &lt;Description&gt;create a directory&lt;\/Description&gt;\r\n &lt;SuppressAutoTriggers&gt;true&lt;\/SuppressAutoTriggers&gt;\r\n &lt;Options&gt;\r\n &lt;Option&gt;\r\n &lt;Value&gt;-m&lt;\/Value&gt;\r\n &lt;ShortDescription&gt;set file mode&lt;\/ShortDescription&gt;\r\n &lt;LongDescription&gt;\r\n &lt;Summary&gt;-m, --mode=MODE&lt;\/Summary&gt;\r\n &lt;Info&gt;set a file mode (as in chmod)&lt;\/Info&gt;\r\n &lt;\/LongDescription&gt;\r\n &lt;LongDescription2&gt;&lt;\/LongDescription2&gt;\r\n &lt;\/Option&gt;\r\n &lt;Option&gt;\r\n &lt;Value&gt;-p&lt;\/Value&gt;\r\n &lt;ShortDescription&gt;make parent directories&lt;\/ShortDescription&gt;\r\n &lt;LongDescription&gt;\r\n &lt;Summary&gt;-p, --parents&lt;\/Summary&gt;\r\n &lt;Info&gt;no error if existing, make parent directories as needed&lt;\/Info&gt;\r\n &lt;\/LongDescription&gt;\r\n &lt;\/Option&gt;\r\n &lt;Option&gt;\r\n &lt;Value&gt;-v&lt;\/Value&gt;\r\n &lt;ShortDescription&gt;verbose mode&lt;\/ShortDescription&gt;\r\n &lt;LongDescription&gt;\r\n &lt;Summary&gt;-v, --verbose&lt;\/Summary&gt;\r\n &lt;Info&gt;print a message for each created directory&lt;\/Info&gt;\r\n &lt;\/LongDescription&gt;\r\n &lt;\/Option&gt;\r\n &lt;\/Options&gt;\r\n &lt;\/CommandCompletion&gt;\r\n &lt;\/Completions&gt;\r\n&lt;\/CommandCompletionDatabase&gt;<\/pre>\n<p>Next time you type &#8216;-&#8216;\u00a0while editing an &#8220;mkdir&#8221; command line, SmarTTY will recognize it and show relevant suggestions:<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13066\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/03-mkdir.png\" alt=\"03-mkdir\" width=\"786\" height=\"593\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/03-mkdir.png 786w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/03-mkdir-300x226.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/03-mkdir-768x579.png 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/p>\n<p>You can customize various suggestion-related settings to set\u00a0when exactly should\u00a0SmarTTY display its prompts:<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13069\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/06-smart.png\" alt=\"06-smart\" width=\"786\" height=\"414\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/06-smart.png 786w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/06-smart-300x158.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/06-smart-768x405.png 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/p>\n<h2>Clickable File Links<\/h2>\n<p>As SmarTTY knows the directory where each of your commands is launched, it can\u00a0understand the context of its output and save you some time interpreting it.\u00a0Each time it sees a string that looks like a fully qualified Linux path\u00a0(or a relative path with one of the common extensions), it replaces it with a clickable link:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/04-link.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13067\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/04-link.png\" alt=\"04-link\" width=\"786\" height=\"433\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/04-link.png 786w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/04-link-300x165.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/04-link-768x423.png 768w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/04-link-128x72.png 128w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/a><\/p>\n<p>Clicking on that link opens the remote file in a separate tab (and navigates to the line\/column if they were printed), so you can quickly understand what is going on:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/05-opened.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13068\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/05-opened.png\" alt=\"05-opened\" width=\"786\" height=\"433\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/05-opened.png 786w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/05-opened-300x165.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/05-opened-768x423.png 768w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/05-opened-128x72.png 128w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/a>You can customize the list of\u00a0file extensions used in link\u00a0detection via SmarTTY settings.<\/p>\n<h2>File Pane<\/h2>\n<p>As the smart tabs track the current working directory of each tab, they can\u00a0do another useful thing with it &#8211; show you a list of current files and directories. The list work similar to Windows\u00a0Explorer GUI &#8211; you can open subdirectories by double-clicking or pressing Enter and open files for editing or download them.<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/07-files.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13070\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/07-files.png\" alt=\"07-files\" width=\"786\" height=\"433\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/07-files.png 786w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/07-files-300x165.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/07-files-768x423.png 768w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/07-files-128x72.png 128w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/a><\/p>\n<p>The file list directory is always synchronized with the working directory of the terminal.<\/p>\n<h2>Package Manager GUI<\/h2>\n<p>If you ever had to search online for an exact package name of a certain Linux\u00a0tool or library, or try to make sense of the bulky output of apt-cache, SmarTTY can simplify this for you by\u00a0providing a\u00a0responsive GUI for the\u00a0APT and YUM package managers. Simply open it via Tools-&gt;Manage Linux Packages and use the filter + mouse to quickly locate what you want:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/08-pkg.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13071\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/08-pkg.png\" alt=\"08-pkg\" width=\"586\" height=\"393\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/08-pkg.png 586w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/08-pkg-300x201.png 300w\" sizes=\"(max-width: 586px) 100vw, 586px\" \/><\/a><\/p>\n<h2>Easy Connection List<\/h2>\n<p>SmarTTY 3.0 also features a new connection list window that provides various sorting and filtering options and lets you define custom icons for connections:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/connlist.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13072\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/connlist.png\" alt=\"connlist\" width=\"811\" height=\"370\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/connlist.png 811w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/connlist-300x137.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2017\/11\/connlist-768x350.png 768w\" sizes=\"(max-width: 811px) 100vw, 811px\" \/><\/a><\/p>\n<p>You can choose between the\u00a0dark and light themes\u00a0for most common Windows via SmarTTY settings.<\/p>\n<h2>Try\u00a0It Out<\/h2>\n<p>SmarTTY is completely free for both individual and company use.\u00a0You can download the latest version here:\u00a0<a href=\"http:\/\/sysprogs.com\/SmarTTY\/download\/\">http:\/\/sysprogs.com\/SmarTTY\/download\/<\/a>. If you like it, check out <a href=\"https:\/\/visualgdb.com\/\">VisualGDB<\/a> &#8211; our\u00a0Visual Studio extension for advanced cross-platform development.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we are proud to release SmarTTY 3.0 &#8211; our free multi-tabbed SSH client. In this version we have redesigned the main window to\u00a0look better on modern high resolution displays and introduced the new smart terminal mode that\u00a0greatly boosts the\u00a0productivity of\u00a0work done over SSH by extending the normal terminal experience with a few useful graphical &hellip; <a href=\"https:\/\/sysprogs.com\/w\/smartty-3-0-is-out\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">SmarTTY 3.0 is out<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[1],"tags":[495],"_links":{"self":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/13059"}],"collection":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/comments?post=13059"}],"version-history":[{"count":4,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/13059\/revisions"}],"predecessor-version":[{"id":13075,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/13059\/revisions\/13075"}],"wp:attachment":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/media?parent=13059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/categories?post=13059"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/tags?post=13059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}