rCons — quake-style враппер для консоли в Windows

    В свое время при знакомстве с линуксом меня заинтриговала возможность вызова консоли в том виде, в каком это сделано в многочисленных играх. Из примеров подобных программ можно упомянуть Guake и Yakuake. Вменяемых вариантов под Windows найти не получилось, поэтому спустя какое-то время я созрел на написание своего варианта.



    Помня о том, что я не программист, а всего-лишь обычный админ, я понял, что писать терминал полностью с нуля не потяну. Поэтому логичным решением было использовать то, что есть — cmd.exe и родную оболочку от PS.
    Сначала я попытался встроить окно родного шелла в свое, отрезая у него бордеры и заголовок, но внезапно оказалось, что эмулятор терминала ведет себя совсем не так, как обычное окно и при отрезании заголовка (WS_CAPTION) с помощью SetWindowLong() начинаются странные глюки с отрисовкой. Из других «бонусов» — WS_VSCROLL выставляется постоянно и не снимаем, а размеры самого окна не могут быть изменены попиксельно, только с учетом ширины буфера экрана и размера шрифта.

    Стало ясно, что окно терминала придется оставить в покое. Тогда я просто решил сдвигать его влево-вверх так, чтобы заголовок и граница не были видны, а справа прикрывать границу и скролл с помощью еще одного пустого окна.

    Итого, логика получилась примерно такая:
    • Спауним процесс шелла, ищем хэндл окна с помощью GetWindowThreadProcessId()
    • Кастуем на окно SetParent()
    • Сдвигаем окно влево на SM_CXFRAME и вверх на SM_CYFRAME + SM_CYCAPTION
    • Подстраиваем высоту главного окна с учетом невозможности указать точные размеры терминалу
    • Справа прикрываем границу и скролл (опционально) отдельным окном, при любой отрисовке пихая ему HWND_TOP

    Несмотря на откровенные костыли такая схема вполне адекватно заработала на всем, начиная от Windows XP.

    Известные баги:
    • Рандомные косяки с отрисовкой в эмуляторе терминала, пока не понял как лечить
    • Невозможность использовать команду «найти» в контекстном меню

    Скачать: setup, portable, говнокод
    Протестировано на Windows XP/Vista/7/8, в качестве эмуляторов терминала проверялись cmd, bash и powershell.

    UPD: Для указания шрифта и ширины рабочего пространства нужно запустить cmd.exe отдельно, щелкнуть ПКМ по заголовку и настроить умолчания. Альтернативно — как предложил zzeneg.
    Хоткей по умолчанию для вызова консоли — Ctrl-TAB

    UPD2: Все пожелания учту и постараюсь реализовать в следующем большом обновлении, после нового года. Ну, сами понимаете ;)

    UPD3: Новая версия:
    • Частично исправлено возможное моргание при открытии-закрытии
    • rCons теперь будет искать конфиг сначала в своей директории, а потом в AppData

    Фичами займусь в следующем большом апдейте, вкратце список такой:
    1. Возможность устанавливать размер окна по горизонтали.
    2. Поддержка mintty (мануал)
    3. Возможность указывать хоткей без модификатора.

    Думаю пока все. Всем спасибо за отзывы и с наступающим! :)
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 151

      0
      Что-то не качается(
        0
        Прошу прощения, на работе через унылый прокси(
        Отличная штучка, будем крутить
          0
          Интересно, а утилитка — с открытым исходным кодом? Увидел ссылку на код…
          Собираемся протестировать в РеактОС.
          +3
          Спасибо, давно искал аналог Yakuake для винды!
            +3
            это пока не аналог, а скорее концепт
            если интерес будет то продолжу его развивать
              +5
              Интерес есть)
                +3
                Есть, есть интерес, не переживайте =)
                Я даже уточню. Вот у меня дома кругом где можно линь. Ф12 — и вуаля…
                На работе у меня кругом винда (так исторически сложилось). Знаете как часто я нажимаю Win+R->cmd->Enter? за рабочий день около 50 нажатий. Если хотите, я даже посчитаю ради такого случая.
                Дополню. Я не только cmd так запускаю. Еще notepad++, mspaint, mstsc, calc- это самые частые.

                Я уже не говорю про случаи, когда что-то ломается и нужно вживую долго пинговать и трейсить разные серваки — несколько окон cmd с пингом… — тут спасли бы табы…
                В общем, чего-то я расписался тут) Уже качаю. Спасибо огромное =)
                  +1
                  Установщик при запуске:

                  Windows XP все обновы

                  и да, жаль что табов нету ((
                    +1
                    Установщик написан не мной к счастью :) Погляжу что можно сделать.
                      0
                      Возможно исправлено в 1.1.4
                        +1
                        Так не делите на нуль и все будет хорошо :).
                          0
                          Это баг InnoSetup под WinXP, возникает из-за 32-битной bmp-картинки. Пересохранил в 16 бит, должно починиться.
                            0
                            Мне показалось — VYBGSS пошутил, ну да ладно :).
                        0
                        Еще момент, а как насчет вызова по клавишам без модификаторов? хотелось бы просто Ф12 =)
                          +2
                          Да, сделаю, руки просто не дошли.
                          Но конкретно на F12 кажется забиндиться нельзя.
                            0
                            Спасибо. Буду мониторить изменения.
                              0
                              А можно ли забиндиться на ~ ??
                              Было бы более удобно вызывать консоль одной клавишей как в играх.
                                +1
                                Чревато невозможностью введения этой самой тильды или буквы Ё. Но вообще думаю да, это возможно.
                                  0
                                  Над на Win + "~" тогда повесить.
                                    +1
                                    Может, лучше сделать настраиваемо? В винде не работаю, но в Tilda настроил вызов консоли на одну из медиа-кнопок, прямо над эскейпом — очень удобно.
                              +1
                              Хотелось бы попросить в новой версии поддержку табов, без них к сожалению нынче никуда.
                                0
                                Поддерживаю, станет очень удобно!
                                +1
                                есть Launchy, очень неплохая замена Win+R
                                0
                                Развивайте, хотелось бы еще вариант выпадения, а то у меня например вверху кнопка пуск :)
                                  0
                                  О, хорошая идея, добавил в туду.
                                0
                                Да, я после yakuake несколько лет назад даже скрипт написал для AHK, который открывал/прятал Console2.
                                www.autohotkey.com/board/topic/31058-window-hidingunhiding-script/
                                  +3
                                  Для винды есть замечательный аналог — code.google.com/p/conemu-maximus5/
                                    0
                                    Спасибо за инфу, интересная вещь. Жаль что я ее не нашел :)
                                  0
                                  Запустил портабельную версию. Писольда в качестве горячей клавиши не сработала, эх. А так, работает ок, хотя не достаточно и стабильно
                                    0
                                    в настройках можно выбрать два варианта тильды, оба не пашут?
                                    в чем нестабильность?
                                      0
                                      Извините, забыл указать что у меня Windows 8
                                      Как то поддёргивается иногда окошко
                                        0
                                        Попробуйте 1.1.4
                                    0
                                    Спасибо. А где лежит конфиг-файл? Случайно вбил в строку запуска шелла что-то не то, теперь программа не запускается))
                                      0
                                      %AppData%\rcons
                                      0
                                      Шрифтец бы еще такой… ммм…

                                      Connection accepted
                                      < — server to client keepalive
                                      --> client to server keepalive
                                        0
                                        А как PowerShell прописать?
                                          0
                                          Указать путь до powershell.exe в настройках.
                                          На 7 винде по умолчанию оно тут — C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
                                            0
                                            Так и делал, видать что-то упустил. Спасибо, работает :)
                                            Этого не хватало, если будете развивать, то будет замечательно.
                                            А bash из cygwin использовали?

                                            PS: Немного окошко дергаеться, но в целом юзабельно работает.
                                              0
                                              Из cygwin баш не пробовал, но по идее должен работать.
                                              Дергается? При каких операциях?
                                                0
                                                При закрытии моргает раз.
                                                  0
                                                  При открытии и закрытии пока делается SetParent() это нормально. Подумаю как это скрыть на досуге.
                                              0
                                              Про bash можно узнать? Что использовали и как прописать?
                                                +2
                                                Берем любой порт баша на винду, например win-bash, распаковываем, указываем в настройках rcons путь до bash.exe.
                                                  0
                                                  Спасибо!
                                                    0
                                                    Прошу добавить это в шапку поста. Приходится читать все комментарии, чтобы найти
                                                0
                                                В настройках указать путь к Powershell.exe вместо cmd.exe
                                                0
                                                Очень удобно! Только можно парочку пожеланий?

                                                1. Ширина консоли, как оказалось, фиксированная и не зависит от размера экрана. Это особенно видно, если включить скролл.
                                                2. Высота также фиксированная, поэтому при пустой консоли ее можно ускроллить далеко вниз и также далеко возвращаться.
                                                3. Нельзя ли стилизовать скролл?
                                                4. Почему при показе свойств или окна about консоль пропадает?
                                                  0
                                                  1. Ширину (и шрифт) можно настроить в умолчаниях эмулятора терминала (запустить отдельно cmd.exe и ПКМ по заголовку).
                                                  2. Высота настраивается в настройках rcons, размер буфера опять же в умолчаниях эмулятора терминала.
                                                  3. Возможно, не знаю, надо поковыряться.
                                                  4. Чтобы не мешать открытому окну :)
                                                    0
                                                    1. Ну так понимаете, обычно консоль открывается в маленьком окошке, в ней хорошо иметь классическую ширину в 80 знакомест. А в случае с вашей утилитой она открывается на весь экран, и нелогично, что больше половины этого пространства пропадает зря.
                                                    4. А кнопки с крестиками в header окна можно? Непривычно, когда диалоговое окно стилизовано под Tool Window, приходится искать кастомную закрывающую кнопку, а она в обоих случаях разная.
                                                      0
                                                      1. Есть идеи как использовать это место? Если делать ширину враппера не на весь экран то смотрится несколько странновато.
                                                      4. Я не силен в юзабилити если честно :) Но обычно диалог «о программе» открывают один раз, а настройки от силы раза 2-3. Не думаю что это то о чем надо в первую очередь думать, сначала более важные вещи.
                                                        0
                                                        1. Очевидно, заполнить его консолью! Когда я открываю ваше приложение, я ожидаю, что рабочее пространство консоли занимает всё доступное ей место.
                                                        2. Согласен, это не принципиальный вопрос юзабилити, просто зацепилось за глаз. Просто, насколько я могу судить по опыту разработки windows-приложений, в стиле окна по умолчанию крестик есть и его нужно сознательно отключать, поэтому я и поинтересовался, зачем это было сделано.
                                                          0
                                                          1. Дык я же говорю, это настраивается в умолчаниях эмулятора терминала. Расширьте там количество символов.
                                                          4. Мне просто нравится стиль WS_TOOLWINDOW :)
                                                            +1
                                                            1. Настраивается для всех окон сразу, что не есть удобно. С помощью функции SetConsoleScreenBufferSize, можно сделать для конкретного окна.
                                                              0
                                                              Объясняю еще раз: я не хочу менять настройки терминала по-умолчанию. Я хочу, чтобы при открытии cmd.exe появлялось обычное окошко 80 x 25, а при открытии rCons она занимала всё свободное пространство по ширине, и эти настройки друг на друга не влияли.

                                                              Кроме того, как определить нужное количество символов? Опытным путем, на каждом разрешении монитора?
                                                                0
                                                                А, теперь понял. Сделаю.
                                                                  0
                                                                  Если немножко отполировать внешний вид, программу серьезно можно продавать в виде шаровара по паре баксов :)
                                                                  +1
                                                                  Можно в shell params прописать /k "MODE CON: COLS=160 LINES=32" и отключить hide scroll (иначе последний символ в строке будет перекрываться скроллом).
                                                                    +1
                                                                    Все-таки LINES должно быть не больше 30, иначе повляются полоски скролла.
                                                      +3
                                                      Тоже люблю такую консоль. Пользуюсь conemu-maximus5
                                                        0
                                                        И в ней есть опция которая задает отображение оной в стиле Квейка
                                                          0
                                                          Подскажите, как прикрутить баш к conemu?
                                                            +1
                                                            Способов масса. Например, сходить в настройку (system menu -> Settings) на вкладку Startup и задать в «Command Line» полный путь к башу, например
                                                            C:\MinGW\msys\1.0\bin\sh.exe --login -i
                                                            Или можно создать именованый Task и выбрать его в качестве запускаемого. Да, при желании в Task можно указать более одного шелла/таба и запускать их на одном экране (split-screen).
                                                            Есть даже спец.пакеты для пользователей MinGW на зеркале sourceforge, вроде как готовые для mingw-get.
                                                              0
                                                              Благодарю
                                                          +1
                                                          Отличная программа. Только одно замечание (наверное, повторюсь) — сделайте, чтобы окно не занимало всю ширину, а было ровно такого размера, как прописано в настройках консоли по умолчанию. Высоту окна из настроек в таком случае вообще можно убрать.
                                                          В остальном — супер. Это именно тот минимум, который нужен в 99% случаев.
                                                          Может, я и ошибаюсь, и возможно, это прозвучит странно, но… не развивайте программу, допилите то идеала то, что есть. Пусть будет unix-style, пусть хорошо делает немногое.
                                                            0
                                                            Спасибо, я подсобираю все пожелания в комментариях и после НГ постараюсь их реализовать.
                                                            +2
                                                            Отлично. Продолжайте в том же духе. Сделайте текстовый конфиг с нормальным описанием и цены вам не будет. Минимализм, простота… класс.
                                                              0
                                                              Текстовый конфиг в наличии. В портабл-версии лежит рядом с экзешником, в обычной лежит в %AppData%, названия параметров вроде бы понятны.
                                                              0
                                                              Большое спасибо вам. Очень удобно.
                                                              • UFO just landed and posted this here
                                                                  0
                                                                  Оно такое по умолчанию, но ведь можно поменять.
                                                                  0
                                                                  Очень удобно, спасибо! Ждем обновлений.
                                                                    0
                                                                    А где хоткей можно поменять?
                                                                    До момента установки вашего терминала я не подозревал, что использую этот хоткей для переключения табов в хроме =))
                                                                      +1
                                                                      ПКМ по значку в трее — Settings
                                                                        0
                                                                        Спасибо, а слона-то я и не заметил!
                                                                        0
                                                                        В настройках приложения можно изменить сочитание клавиш.
                                                                          +1
                                                                          пользуйте Ctrl+ `
                                                                          0
                                                                          Если написать exit то мы теряем rCons до следующего ручного запуска.
                                                                            0
                                                                            Так задумано. Шелл закрылся значит все, конец работе.
                                                                            0
                                                                            Еще можно было бы сделать опцию, при которой окно находится справа (или слева) и имеет высоту 100%. Тогда не будет проблемы с шириной, которую обсуждали выше, и как по мне на широких мониторах так будет удобнее.
                                                                              +1
                                                                              Программка классная.

                                                                              Надо поправить цвета PowerShell'ной консоли:

                                                                                0
                                                                                Придумаю что-нибудь для таких случаев.
                                                                                +2
                                                                                Виндовое окошечко терминала кажется просто невыразимо ужасным, особенно после линуксовых (и, наверняка, маковских).
                                                                                Может быть, имеет смысл встраивать не стандартное, а, например, mintty?
                                                                                  0
                                                                                  абсолютно согласен, вот бы такую только с перламутровыми пуговицами mintty
                                                                                    0
                                                                                    Так ведь выше уже была ссылка на ConEmu? Каких пуговиц не хватает? ;)
                                                                                      0
                                                                                      Каюсь, в своё время, не знаю даже по какой причиние, так и не закончил разбираться с ConEmu :) А в комментариях почему-то сразу и не заметил, сказывается близость какого-то праздника, я только забыл какого :)
                                                                                        0
                                                                                        Так вроде и wiki есть, и mailing group, и автор даже живой :D
                                                                                        Было бы желание настроить терминал «под себя».
                                                                                    0
                                                                                    Поддерживаю mintty, обновился недавно с древней версии cygwin. А там mintty, который раньше не использовал не разу, сразу полюбил его, после стандартной то виндового терминала.
                                                                                    0
                                                                                    Спасибо, работает. Шорткат поставил Ctrl + Tilde, почти как в кваке получилось :)
                                                                                      0
                                                                                      Ошибся. Получил Can't run the requested shell! Check your config.
                                                                                      Где поправить?
                                                                                        0
                                                                                        Отвечаю сам себе: C:\Users\ _USER_\AppData\Roaming\rcons
                                                                                        0
                                                                                        Launchy еще очень гуд штука для быстро запуска.
                                                                                          0
                                                                                          Уважаемый Автор очень похвально.
                                                                                          Но а как же.

                                                                                          Execute a DOS command and capture the output

                                                                                          CreatePipe+ReadFile грабли, всё создает, но не читает

                                                                                          На досуге тоже че нить попробую сваять, интересно от ConEmu и Console исходники есть!!!
                                                                                            0
                                                                                            и вот
                                                                                            Console RSDN
                                                                                              0
                                                                                              Тогда автодополнение и еще кучу фич придется писать с нуля. Лучше уж действительно использовать готовый mintty.
                                                                                                0
                                                                                                При чем тут дополнение и mintty? mintty запускает по умолчанию bash, который и занимается вводом, дополнением, и всем прочим. Аналогичный результат вы получите запустив sh в обычной консоли.
                                                                                                Если уж хочется bash-style дополнение в обычном cmd.exe — есть clink.
                                                                                                  0
                                                                                                  при чем тут mintty, если человек предлагает читать stdout?
                                                                                                  в смысле суть предложения в том чтобы написать свой командный процессор
                                                                                                  то, что mintty запускает какой-то шелл это понятно
                                                                                                    0
                                                                                                    Пардон, в ответах запутался. Чтение вывода через пайпы — не советую. Так поступают многие эмуляторы (mintty в том числе) и наступают на грабли. Тот же Far Manager в mintty не запустится (как и любое приложение, работающее с консолью через Win32 API).
                                                                                                      0
                                                                                                      Да я и не осилю мне кажется :)
                                                                                                      В любом случае, как оказалось mintty в моем враппере отлично запускается и работает, думаю вопрос с убогостью стандартного эмулятора терминала исчерпан.
                                                                                                        0
                                                                                                        Впрочем в виде шелла можно указать что угодно, хоть C:\Windows\system32\notepad.exe :)
                                                                                                        Возможно тоже будет полезно.
                                                                                                          0
                                                                                                          А Far не пробовали? У меня не вышло.
                                                                                              0
                                                                                              а cygwin сюда можно прикрутить?
                                                                                                0
                                                                                                я делал по этому (http://jake.ginnivan.net/quake-style-powershell-console) гайду, только вместо Powershell в конфиге Console2 прописал sh, который ставиться вместе с виндовым бандлом Git. Приемущество Console2 — в табах.
                                                                                                0
                                                                                                был раньше проект квейкоподобной консолью для вин, правда с нормальным терминалом. Не помню название. С наскоку не нашел.
                                                                                                  0
                                                                                                  Понравилось, жду апдейты =) с табами, по которым можно бегать как в SecureCRT CTRL+TAB & CTRL+SHIFT+TAB.

                                                                                                  Еще очень хочется нормальной (как в UNIX Like системах) копирования и вставки CTRL+SHIFT+C & CTRL+SHIFT+V

                                                                                                  Почему майкрософт сами не сделают человеческий терминал, как в убунте чтобы, красиво и удобно… цены бы не было винде тогда =)
                                                                                                    +1
                                                                                                    По поводу вставки — как раз ковырял это в тестовой сборке, есть кое-какие наработки.
                                                                                                    По поводу табов — нечто подобное планирую. А пока, если есть необходимость юзать несколько консолей, то никто не мешает запустить rcons с разными конфигами под разные хоткеи (например ctrl-1, ctrl-2… ctrl-0) и иметь сколько угодно консолей по хоткеям.
                                                                                                    0
                                                                                                    Прикольно! Это бы еще натравить на mintty, было бы очень круто! %)
                                                                                                      0
                                                                                                      Было бы здорово, если бы текст с командами шел снизу вверх, как это и сделано в кваке.
                                                                                                        0
                                                                                                        Это не забота враппера, это забота эмулятора терминала к сожалению.
                                                                                                        –1
                                                                                                        Хотелось бы чтобы можно было оперировать с окнами (перетягивать) на заднем фоне за полу-прозрачностью.

                                                                                                        image
                                                                                                          0
                                                                                                          Мне кажется это совсем лишнее. Аргументируйте.
                                                                                                          0
                                                                                                          Гм. Оказалось mintty отлично работает и в текущем виде.
                                                                                                          Мануал:
                                                                                                          1. Ставим cygwin.
                                                                                                          2. Если при установке не выбрали mintty то открываем консоль и пишем mingw-get install mintty.
                                                                                                          3. Идем в настройки rcons, для шелла указываем C:\cygwin\bin\mintty.exe, в параметрах ставим — (минус), Offset ставим на 0.
                                                                                                          4. Тыкаем «Save and apply», радуемся.
                                                                                                            0
                                                                                                              0
                                                                                                              Это очень классно. Только у меня почему-то режутся первые буквы границей:
                                                                                                              Piccy.info - Free Image Hosting
                                                                                                                0
                                                                                                                Offset = 0
                                                                                                                  0
                                                                                                                  Я так и выставил. А может реально сделать Offset негативным значением? Например -1 или -2.

                                                                                                                  UPD:
                                                                                                                  Подправил конфиг на -1 и ничего не изменилось.

                                                                                                                  Piccy.info - Free Image Hosting
                                                                                                                    0
                                                                                                                    Там принудительно сбрасывается на 0, если значения отрицательные :)
                                                                                                                    Нет, тут дело в другом видимо, как-то неправильно считается размер бордера.
                                                                                                                    Покажите пожалуйста просто обычно запущенный mintty.
                                                                                                                      0
                                                                                                                      Вот, надеюсь, что это реально исправить как-то :)

                                                                                                                      Piccy.info - Free Image Hosting
                                                                                                                        0
                                                                                                                        Это странно.
                                                                                                                        Окно по умолчанию сдвигается на SM_CXFRAME (ширина бордера через запрос в винапи) + Offset.
                                                                                                                        Кажется именно значение SM_CXFRAME отдается неправильно.
                                                                                                                        Никаких улучшайзеров внешнего вида в системе не стоит?
                                                                                                                          0
                                                                                                                          Нет, читая Win7x64 Home Premium с последними обновлениями.
                                                                                                                            0
                                                                                                                            чистая*
                                                                                                                              0
                                                                                                                              Напишу вам лс после НГ, попробуем разобраться.
                                                                                                                              В качестве временного костыля наверное дам возможность указывать Offset < 0.
                                                                                                                                0
                                                                                                                                Спасибо ;)
                                                                                                            0
                                                                                                            Первая мысль: «tilda» портирована на винду.
                                                                                                              0
                                                                                                              У меня если выставить размер шрифта 12х16 то снизу появляется скроллер. Я пытался всяко менять размер окон, но это не помогает.
                                                                                                                0
                                                                                                                При открытом меню пуск в windows 7
                                                                                                                image
                                                                                                                  0
                                                                                                                  поправлю
                                                                                                                    0
                                                                                                                    При потере фокуса консоли, нужно скрывать окно. тоесть придется написать кучу костылей для нормально поведения окна. Далеко на вашем врапере не уедешь, потому что будут еще запросы, за которые вы не сможете уйти потому что просто используете тузлу для манипулирования окна а не натив Консоль которую сами написали.

                                                                                                                    1.Например как сделать прокрутку консоли ??
                                                                                                                    2.почему не работает ESC, а это можно сделать!!!
                                                                                                                    3. Для того чтобы использовать такого рода консоль нужно чтобы она была нативная для самой ос. Придется пересмотреть саму работу с хоткеями и клавишами чтобы нормально ее ИНТЕГРИРОВАТЬ в ОС. так как в играх сама консоль нативная и полность интегрирована с игрой

                                                                                                                    Все таки можно пожертововать клавишей Ё ))
                                                                                                                      0
                                                                                                                      При потере фокуса консоли, нужно скрывать окно.
                                                                                                                      С чего бы? имхо этого делать как раз не следует.
                                                                                                                        0
                                                                                                                        Следует, это значит что больше я не хочу работать с консолью.
                                                                                                                        Я так привык в играх что когда нажимаешь ESC консоль исчезает.
                                                                                                                        ИМХО так было бы удобнее. вел какую нибудь команду она запустилась и работает, а ты пока свернул и куришь в сторонке. потом опять нажимаешь чтобы вернутся ее а долгая операция уже завершилась. Эх все таки Линух ближе к разработчикам и кодерам…
                                                                                                                  0
                                                                                                                  Всё хорошо, но есть ConEmu который всё это может, уже давно и гораздо лучше.
                                                                                                                    0
                                                                                                                    Я рад за него, он весит в 15 раз больше, монструозен и имеет те же глюки с отрисовкой что и у меня + пара новых.
                                                                                                                    Но да, конечно я бы не стал ничего писать если бы знал о его существовании. Простите.
                                                                                                                      0
                                                                                                                      Ой, а какие глюки? Может я чего не знаю?
                                                                                                                        0
                                                                                                                        Последняя выложенная версия 121227. Сразу врубил quake-style для тестирования.
                                                                                                                        1. При нажатии справа вверху на кнопарь «развернуть» открытие-закрытие лишается анимации и происходит с заметной задержкой.
                                                                                                                        2. Бордер окна иногда пропадает, иногда появляется.
                                                                                                                        3. При открытом пуске окно появляется не как TOPMOST.
                                                                                                                        4. Окно mintty отображается с заголовком, его можно возить в пределах родительского окна и изменять его размер. Не знаю баг это или фича, но кажется все же баг, потому что при закрытии-открытии окно возвращается в исходную позицию.
                                                                                                                        5. Курсор у mintty отображается как неактивный, хотя ввод происходит.
                                                                                                                        6. Не всегда отрабатывает ПКМ в mintty.

                                                                                                                        Потом я еще наспаунил несколько разных шеллов по табам и оно упало, повторить не смог.
                                                                                                                          0
                                                                                                                          1. Интересно, ни разу не пробовал. По дебагом ассерты валятся, поправлю.
                                                                                                                          2. Однако по описанию похоже на фичу скрытия рамки.
                                                                                                                          3. А вы «Always on top» включили?
                                                                                                                          4,5,6: Однако… mintty это не шелл, а терминал. Запускайте sh.exe а не mintty.exe. ConEmu это уже терминал, так что я не вижу смысла в запуске внутри него еще одного эмулятора… Напоминает предложение одного юниксоида запустить VirtualPC, поставить в нем linux, в нем тильду, в нем запустить ssh-client и цепляться к cygwin на виндовой машине.
                                                                                                                          7. Жаль что падение не повторяется. Может крэш-дамп есть? Вряд ли, но вдруг?
                                                                                                                            0
                                                                                                                            2. Неа, рамка появляется-пропадает опять же по нажатию на «развернуть» и обратно.
                                                                                                                            3. Вопрос снимается :)
                                                                                                                            7. Если дампы автоматом не сохраняются, то нет, попробую еще воспроизвести на досуге.

                                                                                                                            Ну а у меня идея именно написать хороший враппер, в который можно бесшовно интегрировать все что угодно, хоть калькулятор, хоть любой из имеющихся эмуляторов терминала.
                                                                                                                              0
                                                                                                                              Понятно. У меня просто другие приоритеты — написать хороший терминал.
                                                                                                                    0
                                                                                                                    У меня нижняя полоса прокрутки показывается…
                                                                                                                    0
                                                                                                                    На XP после первого открытия, программа проявляется в панели задач, и после закрытия уже не пропадает. При этом меню по правой кнопке не открывается, меня не напрягает абсолютно т.к. XP стоит третьей машиной на рабочем месте, но отрапортовал.

                                                                                                                    Утилита для меня крайне полезная, как говорилось выше открывать консоль на виндовых машинах приходится очень часто. Спасибо, штука удобная, буду следить за обновлениями!

                                                                                                                    Пишу уже под коньяком, вСеХ с наступающим!!!
                                                                                                                      0
                                                                                                                      Тоже люблю консоли в стиле ID Software и давно пользуюсь sourceforge.net/projects/winqconsole/
                                                                                                                        0
                                                                                                                        Практически отлично.
                                                                                                                          0
                                                                                                                          только что поставил, бажная версия…
                                                                                                                            0
                                                                                                                            У WinQConsole под Win7 проблемы с отрисовкой курсора и русские буквы кракозябрами…
                                                                                                                            У автора топика идея, мне кажется, более здоровая — использовать существующее окно
                                                                                                                              0
                                                                                                                            0
                                                                                                                            Не запускается с такими настройками:

                                                                                                                            Shell = %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
                                                                                                                            WorkDir = %HOMEDRIVE%%HOMEPATH%
                                                                                                                            


                                                                                                                            Говорит:

                                                                                                                            Can't run requested shell! Check your config.
                                                                                                                            

                                                                                                                              0
                                                                                                                              При попытке запуска PowerShell-а и нажатии хоткея — на выпадающем черном фоне вечная виндовая крутилка(((
                                                                                                                              Windows 7 x64.
                                                                                                                                0
                                                                                                                                А можно как нибудь туда вставить что то вроде putty? было бы просто шикарно.
                                                                                                                                  0
                                                                                                                                  bash + ssh/telnet?
                                                                                                                                    0
                                                                                                                                    Очень советую Putty Connection Manager (PuttyCM). В таком виде (ну лично мне, во всяком случае), ssh'ем пользоваться удобнее.
                                                                                                                                    0
                                                                                                                                    Спасибо автору! Очень хочется следующих вещей:
                                                                                                                                    — перенести на другой монитор, и более аккуратную работу с несколькими мониторами (сейчас окно, бывает, «выползает» краями на соседний экран)
                                                                                                                                    — вкладки с экземплярами терминалов
                                                                                                                                    — хоткей без модификатора (убить в конфигах не помогает, сбрасывается на CTRL)
                                                                                                                                    — хоткей на разворот в полный экран

                                                                                                                                    Еще обнаружилась забавная особенность: внутри окна rcons можно таскать окно консоли, сворачивать и разворачивать. Разворот на полный экран лечит проблему с отступом в cygwin/mintty, которую пытались побороть выше. На основе этого можно и «вкладки» делать, наверное. Непонятно только, как создавать новые окна внутри rcons.

                                                                                                                                    PS: Вы не думали захостить утилиту на github? Или sourceforge? Найти rcons в гугле получилось не сразу ;)

                                                                                                                                    Only users with full accounts can post comments. Log in, please.