Hacker News new | past | comments | ask | show | jobs | submit login
Cmder: portable console emulator for windows (bliker.github.io)
230 points by octo_t on Nov 26, 2013 | hide | past | favorite | 54 comments



Everybody hold tight for 1.1. I managed to get the git prompt working https://f.cloud.github.com/assets/2674600/1549691/1e3f6c02-4...


This is awesome, thanks for putting this together! Been looking for something like this for a while.


this is awesome, can you implement posh-git style change notes too?


I'm all for ConEmu gaining recognition because it's a great app and Maximus totally deserves it.

But why repackage conemu and call it something else ?!!!


Because it's not purely ConEmu, perhaps. What are you talking about?


Come on.....at least look at it before commenting.

"start vendor/conemu-maximus5/ConEmu.exe /Title Cmder /LoadCfgFile ../../config/ConEmu.xml"

It's ConEmu with a modified config file !!! Also .....don't want to be negativist...but Monokai and portable mode have been part of ConEmu since.....forever.

Again....maybe it's just me....but why try to "spin up" a ConEmu config file as ...something else instead of just ...you know...show the world a customzied ConEmu ?


Then there is clink and msysgit and (not yet published) git integration, I am working on integrating some package manager. I will try to include any software that I find helpful.

No this is not coding project. This is a project to bring something usable and nice to people without having to read yet another "Check out my setup". It is like oh my zsh, or some kind of dev-kit.


clink already works with ConEmu (enable it in settings/features). Look at chocolatey for integrating a functional Windows "package" manager.

Good luck with the project.


For that matter, having cmder etc in Chocolatey would be nice


The license is also suspicious

   ## License
   All software included is bundled with own license
   The MIT License (MIT)
   Copyright (c) 2013 Samuel Vasko
   Permission is hereby granted, free of charge, to any person obtaining a copy
People can think that the whole package is MIT when it is certainly not (there's GNU inside)!


     All software included is bundled with own license
How can I make this more clear than?


You have to put all the licenses of the parts you distribute in the same file where you put your license. You have to specify in that same file by names which parts are covered with which license. If you have Firefox, type about:license. You'll get a huge file where every license is precise what covers (only small selection here):

    Apple License

    This license applies to certain files in the directories js/src/assembler/assembler/, js/src/assembler/wtf/, js/src/yarr, content/media/webaudio/blink, and widget/cocoa.

    Copyright (C) 2008, 2009 Apple Inc. All rights reserved.

    Redistribution and use in source and binary forms, with or without
    ....

    Apple/Mozilla NPRuntime License

    This license applies to the file dom/plugins/base/npruntime.h.

    Copyright © 2004, Apple Computer, Inc. and The Mozilla Foundation. 
    All rights reserved.


So far, strictly worse than Console2 in everything I've tried. In particular ncurses apps in an ssh session render terribly no matter what I set TERM to. "ansi" works the best, but still I find myself hitting C-l to get rid of garbage regularly.


Yes, I am working to get the Mintty working, But Mintty (like putty uses) does not work well for some of the windows optimized programs.



I prefer ConsoleZ: https://github.com/cbucher/console

Currently maintained, works better with Windows 7, and used my old Console2 configuration.


I tried Console2 years ago. More recently I tried ConEmu. Now I use ConsoleZ, and I thinks it's great!


What do you meaning exactly? What was terrible?


Nice idea, but I was disappointed that it actually was some software that I probably tried and could not use (ConEmu and I can't remember why...). Maybe you could explain this new attempt?

(edit: mentions Conemu on the frontpage.. my bad)

BTW, why don't we have a bash in Windowsland? What are the limitations of the underlying OS that make it hard?

OTOH: Congrats for delivering!


Since no one's actually answering your question, focusing on useless pedantics instead, I'll do it:

The reason Windows does not have a decent virtual console, like OSX and Linux do in the form if iTerm, xTerm, gnome-term etc has to do with the way the console works in Windows.

The Windows console is very tightly coupled with a win32 system library, both its functionality and the way it behaves graphically (to for example resizing) are defined in that single place.

This practically means that most attempts of making it better in some way proxy to a hidden view of the original console. I think ConEmu works like this.

To truly make a better console on Windows, the links to that system dll would have to be hijacked from the processes that are launched in your shell, and replaced with references to your better alternative. Obviously this could be a fragile thing, and for some reason I know of no project that's made any headway in this.

I have tried the latter route myself for a little while, but after uncovering how complicated it would really have to be I decided to go do something else.


Perhaps I missed something. What does the Windows console subsystem have to do with a program that interfaces bash with a VTxxx emulator? It's not hard to make a scrolling multi-line text field that also accepts and passes along keypresses to another program.

If I read it correctly, OP isn't looking to replace CMD or the Windows Console. It seems that he's wondering why bash is so useful, but it isn't bundled with Windows.


Well, if you take his comment literally then yes, but it would not be a very interesting question because it's quite easy to install bash on windows and use its nice features. And there's powershell which fits better in the Windows ecosystem.

I read it as the question that has a much more interesting answer: Why doesn't Windows have a good terminal? And the answer is, it's no use making one because the Windows console subsystem, the one that is the de facto standard, is so badly designed that it's near impossible to write a good terminal for it.


> [Windows doesn't have a good terminal because the Console Subsystem] is so badly designed that it's near impossible to write a good terminal for it.

Errm, Windows has a couple of decent terminals. PowerShell and Cygwin bash come to mind.

The following I say with all the love in my heart, so please read it in that spirit:

Saying that there aren't any good terminals for Windows because of the suckitude of the Console Subsystem is like saying "There aren't any good houses built on the ocean because a good, solid concrete foundation just sinks to the bottom!". There are plenty of fine ocean-going houses, they're just made out of steel, exotic or mundane fibers, or wood.


Can you resize Cygwin bash to be wider than 80 characters? Last time, admittedly a while ago, that I tried using unixy things on Windows, I ended up exceptionally frustrated by the fixed width.

I suspect that's the "Console Subsystem" being referred to here.


It seems that with a modern Cygwin (installed within the last six months) you can. Moreover, if you perform (say) an ls, resize the terminal to a really small width, perform another ls, then resize the terminal to its previous width, the text from the first ls is restored to the screen. (I also remember this behaviour from when I regularly used Cygwin four or five years ago.)

It's been a while, so don't hold me to this, but I think there's a batch file that you get a shortcut to on your desktop and start menu. If you don't use that, you'll get the stupid unresizeable window. (Because, yanno, all of the Cygwin stuff was designed to work alongside CMD.exe, too.)


Well, ConEmu is great piece of software and it works amazingly. But the default configuration is just awful. I think the author concentrates more on advanced features and Far manager. I hate spending time tweaking something to the usable state before I can use it.

My idea was to do it simple and easy. Conemu = tmux, Cmder = gnome-terminal


There are multiple ways of getting bash on windows, MSYS and Cygwin being two of them. They perform like ass compared to bash on a real unixy operating system, because Windows doesn't have fork. Its process creation is already significantly slower even before having to emulate fork/exec semantics, which makes things much much worse. (See: http://stackoverflow.com/a/985374/341371 )


We do have bash, but why bring it up when we are talking about terminal emulators.


It kinda wants to be bash...


Again, bash is a shell. This is a terminal emulator. This even provides you the option to get bash along with it in the form of msysgit which comes with bash.


I think there might be a little bit of confusion/diffusion of the separation here. This page seems to be talking about terminal emulator and shell features:

"There is simple support for aliases. They can by using alias command like alias ls=ls --color $ They are pretty much just doskeys in file /config/aliases. One per line. And make sure to handle arguments by putting arguments variable $* somewhere."*

"Shell

Shift + Up : Traverse up in directory structure (lovely feature!)

End, Home, ctrl : Traversing text with as usual on Windows

Ctrl + r : History search"


The page says it includes clink, which says on clink's project page: "Bringing Bash's powerful command line editing to Microsoft Windows' cmd.exe"


What does this add over conemu? Is this just conemu + clinks + msys repackaged?


Nothing actually, but you do not have to do it yourself. There is quite a lot of configuration and so on. But if you already have this setup, no big reason to switch.


Not bashing, I actually want to know: How did a terminal emulator get blown up to 250MB?


Majority is the msysgit not terminal emulator. If you do not want linux tools use the mini version. That has more resonable 7 MB.


Ah there's what i was missing. Thanks!


Some symlinks in the msysgit dir got packaged as individual files. It's cloned git.exe 110 times :P


The 7zip difference is indeed shocking.


Downloading right now.

Kudos for the idea and the presentation, nicely done. Really nice.


I just downloaded and its awesome.

There is just one, one little thing: I can't type letters with this accent '´'. Like á or é. When I type ´ it clears the current line content.


Same thing here. I can type é or è, but not à, É, Ç and more.

Seems very nice though.


That has never happened to me. Please submit an issue.


I've just created an issue. The size difference with msysgit included seemed a tiny bit weird to me. Could it be a result of a symlink being packaged as individual files?

https://github.com/bliker/cmder/issues/54


I'm always confused when "portable" and "for $OS" appear together in a title.


In windows, portable often means "installer-less".


As the article itself states under the heading 'Total portability':

"Carry it with you on USB stick or in Cloud. So your settings, aliases and history can go anywhere you go"


I think this time it means that you can take it with you in a USB stick.

Relatedly, the English could use some proofreading. Otherwise, it looks good!


Please: https://github.com/bliker/cmder/blob/gh-pages/index.html Afterwards please come pick up your beer.


bravo.

as much as i struggle to think of something where i would use this by design, every time i've been forced to try and use some *nix-y tools on window it has been a nightmare of cygwins and mingws... i can see the desire for this.

on the other hand i'm yet to meet one of those problems where, with a little thought and not having my hands tied, i can't remove the needless dependency and end up with a better development environment too.


Great job. Still a bit laggy compared to a real unix terminal, but that's probably because of the lack of fork(). Nothing you could have done...


Anyone else having trouble pinning it to the taskbar and loading the cfg?


i can't actually find the source code, it seems the only thing there is a ruby that downloads binaries? can someone enlighten me?


Looks good. Finally Windows get a real terminal?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: