Suggestions (copied from Support Thread)

  • This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
Sep 1, 2008
21
0
#1
Didn't see tool to move my thread, so here's a copy since I mis-posted to the wrong forum.

Maybe some? Maybe none? Maybe some easy for 14?

This got long, I'll prepend each with the inspiration (if any), and append each with 'why? what the value add to the product and/or user?'.

  1. Tab completion on the first word after set/unset commands. Would be nice if it expanded as a variable since that's what it has to be. (#11 below would make this possible in a generalized form). This is just sort of what I naively expect when in that scenario.
  2. Increase visibility into when Recycle Bin is being used.

    When rmdir/del send to the recycle bin instead of deleting, use a different final status message. '1 file sent to recycle bin' instead of '1 file deleted'. Reason: I once ended up with this enabled and perf was terrible and it took me forever to figure out why deleting trees of files had really bad perf. I would have noticed this message. I have not timed it, but if the recyle bin perf hit is a no-op when it has itself been turned off (ie: the file will be immediately deleted anyways), then it would be nice (and less confusing) to use the original deleted message.

    Why: It can be a real perf killer if it is being used, and it can be hard to discover the problem.

  3. Faster Extended Tree DB, or a blog post maybe?

    I would love a blog post about the extended directory tree file. It doesn't /seem/ to have any indexing. Lots of people complain about the perf, but often other problems are at fault. As a dev with many enlistments in many deep trees, I find I just can't afford the perf myself. It's small, but way too frequent. :( I just did a check. My drive d: has 138,473 directories. My other drives will lag that count, but not by much.

    Let's face it, what I really want is to beg for this to become a sqlite db, but I also don't want to make that request in complete ignorance. :)

    Why: I've had to turn it off. Others say they've had to. It's such a nice feature on smaller systems though. If customers can rely on this, they rely more on the product going forward.

  4. I hinted at this yesterday, but it turns out what I think I'd really like is a virtual DBG: device that does con: style blocking reads for outputdebugstring when read from, and generates outputdebugstring when written to.

  5. ssh host - blue sky dream

    It's not clear to me if tc has virtualized /all/ the windows console rendering for TakeCommand or not. It feels like you have to have. If so, first class support of TakeCommand as an interactive ssh host would really be sweet. Being able to have performant console output in term 'xterm-256' ssh server for windows would really kick ass (maybe open new markets to people who don't want to run cygwin :) ).

    Frankly, if it was easier, just a remove take-command/tcc to remote tcc would kick ass - like tmux. *nix people don't want powershell, but we sure do want the 'other end' of putty. :)

    Why: I don't care for powershell and have never found a good lightweight solution for popping into a box without cranking up remote desktop. The few servers I have tried clearly had not spent decades understanding the windows console nuances.

  6. Window pane/split management: More keybindable options under 'Windows' menu. Specifically, I really being able to horizontal split a window with a new shell on the bottom. The current 'Horizontal Tab Group' under windows falls short in 2 ways. It moves the active tab, and it isn't key bindable. (key binding for that 'area' say: 'Workspace Actions' and don't do anything when triggered).

    Why? Maybe it's me, but I've never even want to split and move a tab. I want to split and start a new shell/tab. And Ideally I'd like to do it with ctrl-\ for horizontal and ctrl-| for vertical.

  7. Themes for tabs instead of a global tab setting. I really like having tabs stand out as much as possible as each has a focus and goal. I wish the 'Configure Take Command' dialog, 'Tabs' tab were changed a bit. Instead of the top 2/3 being global, let it be a theme and stick a drop down for which Theme is being configured. In the bottom 1/3 where I define individual tabs, Add a drop-down to selection next to Title for which theme that tab uses. Terminal/iTerm for the Mac basically do this.

    Why? Currently tabs differentiate on tab color/title. I'd really like to also differentiation on the content like colors/fonts.

  8. Line-drawing chars and code pages. 'tree' and probably anything else that uses non-ascii - doesn't deal with codepage 65001. Hey - codepages suck - don't beat me. But if there is one extra one worth supporting I would root for UTF-8.

    Why?: Sort of expect it to work even though I know why it doesn't. :)

  9. UI enhanced tab completion should be the standard? Like Visual Studio symbol name completion.
    I feel like 'completion' could use a little face lift. I would claim the F7 dialog (after a bit of overhaul) should be the action when 'tab' is hit. But even if not, it could use some help so that it is reasonable for a user to configure into the default.
    1. I'm not sure where the config is for the frame, but it seems bad to be a free floating frame. It should be anchored with it's upper left corner under the start of the word being expanded. Flip to lower left corner over top of character if there is no screen real estate below. Resizable height/width, default width being to end of take command window seems fine.
    2. Get rid of the edit box and use the actual typing in the console. This way if I hit F7 to open the list, type the name by hand and hit space, the list goes away and the interaction is seamless.
    3. When said list is open, up/down arrows should be captured to move focus, but not change the typing content unless enter/space/tab is hit. Focus should stay at the console and continued typing filter down the list.
    4. Hell - I just described variable auto-complete in VS. That.

      Why: Productivity, modernization.
  10. Tooltips when function usage detected.
    Along those lines, a tooltip of a function spec when hitting (or autocompleting to) '[' would be nice. ie: a tooltip right starting right above '@' with '@FILEDATE[filename[,a|c|w[u,d]]]'. More context than what this example shows might be nice, but even this would be awesome. I don't know how a user function would get annotated, but it would be nice if these were supported.

    Why? Productivity, Discoverability. The easier for people to learn and use functions the more deeply they are into the product.
  11. 'bash-completion' style package.
    Extensible context aware auto-complete. Probably add ability to register auto-complete-script-hooks/monitors like bash has. http://bash-completion.alioth.debian.org/ is one way. It would be great to type taskkill /im <tab> and get active process name completion (especially with #9 above), or skip the /im and get pids. It's great getting tab completion with perforce command line for files on the server that haven't come down yet. Not asking for all these to be in the product, but the ability to make them and maybe contribute them back.

    Why? Autocomplete everywhere!
  12. Feedback when background tabs have activity. I feel like this is there and I just never found the config option. If a background tab has activity after N seconds of not being foreground, it would be nice to be able to have the tab color pulse or something.
  13. Expose sort of. Ability to go in and out of 'operations' mode.
    Single Key 'operations monitor mode toggle'. With a single key, I'd like to be able to go full screen with all tabs broken out to be able to see all of them. Perhaps tabs with the highest number of lines get larger windows. Behaves like there's a clear focus-eating topmost window right below the tc windows. TC windows can be moved, re-arranged, resized. But not in a way that lets them overlay. Think VS10's draggable window placement UI without the tab stacking. You can move to split/join,etc... but all the windows are on a single plane. This configuration is remembered so that anytime a toggle is initiated from 'that set' of tabs, they will expand to the remembered locations. 'that set' meaning exactly that regardless of active tab, tab ordering, tab splits. Ideally each tab just has a persistent 'full screen' preferred location that retains across runs and a best fit happens as needed.

    Why? It's one of those things that's really great if you need it. Not sure how many people would need it given the work it would probably require though.
 

Charles Dye

Super Moderator
Staff member
May 20, 2008
3,383
39
Albuquerque, NM
prospero.unm.edu
#2
Tab completion on the first word after set/unset commands. Would be nice if it expanded as a variable since that's what it has to be. (#11 below would make this possible in a generalized form). This is just sort of what I naively expect when in that scenario.
More generally, it'd be nice to have a VARS keyword for FileCompletion. Maybe someone would like to expand variable names with ESET and INPUT, or with some other command or alias of which we know not.

Line-drawing chars and code pages. 'tree' and probably anything else that uses non-ascii - doesn't deal with codepage 65001. Hey - codepages suck - don't beat me. But if there is one extra one worth supporting I would root for UTF-8.
TCC uses Unicode internally; "code pages" aren't relevant. If you're not seeing line-drawing characters, then you probably need a different font.
 

Charles Dye

Super Moderator
Staff member
May 20, 2008
3,383
39
Albuquerque, NM
prospero.unm.edu
#3
Tooltips when function usage detected.
  1. Along those lines, a tooltip of a function spec when hitting (or autocompleting to) '[' would be nice. ie: a tooltip right starting right above '@' with '@FILEDATE[filename[,a|c|w[u,d]]]'. More context than what this example shows might be nice, but even this would be awesome. I don't know how a user function would get annotated, but it would be nice if these were supported.

Instead of tooltips, you could also put usage info down in the status bar, where usage text for commands already goes. Keep 'em in a stack; when the final ']' terminating the function's parameters is typed, revert to the previous usage message.... And it could also be extended to plugin functions by extending Usage() to cover functions as well as commands.

(Yes, I know there's zero chance of any of this appearing in the next version. I'm just thinking out loud.)
 
#5
Instead of tooltips, you could also put usage info down in the status bar, where usage text for commands already goes. Keep 'em in a stack; when the final ']' terminating the function's parameters is typed, revert to the previous usage message.... And it could also be extended to plugin functions by extending Usage() to cover functions as well as commands.
This sounds really nice. Like building formulas in Excel.