3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

"Drop Down", Quake-style command prompt for Windows

Step 4Skin your Console

Skin your Console
«
  • dropdown.jpg
  • cygwin-s.jpg
  • dark.png
So, now the finishing touches. Again, like AHK, there's any number of ways to customize Console to your liking; check out the readme.txt file in your Console directory to find out more about the XML syntax Console uses.

However: here's how to create the drop-down effect: we want something borderless, semi-transparent and top-left anchored.

Here's the console.xml file I used for this effect.

<?xml version="1.0"?><console title="dropdownconsole" change_refresh="5" refresh="100">   <font>      <size>10</size>      <bold>false</bold>      <italic>false</italic>      <color r="255" g="255" b="255" />      <name>Lucida Console</name>   </font>

The size and width of the font affects the eventual width of the console. Unfortunately, Console - like the Windows console - can only be so wide. Choose a wider font to achieve a wider console.

Personally, I had issues with proportional fonts (ie: fonts with variable-width letters, like Arial); stick with Monospaced fonts such as Lucida Console for best effect.

   <position>      <x>0</x>      <y>10</y>      <!-- dock to top left for "quake-console" feel -->      <docked>top left</docked>      <snap_distance>10</snap_distance>      <!-- float on top -->      <z_order>on top</z_order>   </position>

The top-left docking and the on-top z_order are what give the appropriate feel, here. Play around with these values to change the look-and-feel of your console.

   <appearance>      <hide_console>true</hide_console>      <border>none</border>            <!-- move text away from the outside edge -->      <inside_border>10</inside_border>      <taskbar_button>tray</taskbar_button>
Set border to none to hide the Windows border and make the window chromeless, for a seamless feel.

The inside_border is a personal taste, as is the taskbar_button. The former moves the console's text away from the outside edges, and the taskbar_button makes a Console icon appear on the taskbar when it's active.
      <size rows="18" columns="95" buffer_rows="500" />      <transparency alpha="200" inactive_alpha="100">alpha</transparency>      <background>         <color r="0" g="0" b="0" />         <image style="center">dark.png</image>      </background>
Columns and Rows govern how many lines/columns of text your console can display. Again, this is a personal taste; set columns to "max" for Console to ... erm... set the width to the maximum.

The alpha and inactive_alpha transparency is, again, a matter of personal taste. Closer to 255 is more opaque; closer to 0 is more transparent.

I've chosen to put an image behind my console; the sizing of this image, however, is a little bit of guesswork unless you know the letter-sizes of your chosen font; then, simply, multiply out by the rows and columns and come up with an appropriate size. Quake console, anyone?
      <scrollbar>      	<color r="0" g="0" b="0" />        <style>flat</style>      </scrollbar>
Self-explanatory; this sets how the scrollbars are coloured and displayed.
      <cursor>         <color r="255" g="255" b="255" />         <style>fading block</style>      </cursor>   </appearance>   <behaviour>      <!-- keep the console in place -->      <mouse_drag>false</mouse_drag>      <copy_on_select>true</copy_on_select>   </behaviour></console>
Mouse_drag prevents you from picking up the console and moving it around. Copy_on_select replicates the *nix select-to-copy functionality, for a more *nixy-feel.

The final step is to save all this as an XML file, typically in your Console directory. You can then refer to it directly in your AHK script, or, as I've done, create a shortcut in your path somewhere - called "console" - that passes the XML file as a parameter; then point AHK to that.

Extra Credit
For those truly in search of a *nix experience; you can install Cygwin, and direct Console to use the Cygwin Bash environment as your primary shell:

<console title="dropdownconsole" change_refresh="5" refresh="100"    shell="c:\cygwin\cygwin.bat">

Extra-Extra Credit

Run both Cygwin and Windows cmd with two different hotkeys! That, I'm afraid, is an exercise for the reader...
« Previous StepDownload PDFView All StepsNext Step »
13 comments
Jun 23, 2009. 1:15 AMjsepia says:
Actually, you can make Console wider. I used:
<size rows="25" columns="160" buffer_rows="500" />
to make it similar to Yakuake. It fits quite well on my 1280px wide screen.

That said, thanks a lot for the instructions! Transforming my Windows into Linux has been my lifelong dream.
May 7, 2008. 12:54 AMdott says:
There are a new and better console(console2) version, with tabbed interface and others.
I customise the script , for console2 and make a QuakeConsole.xml with cmd, powershell, bash,.. predefined tabs.
Console2 + QuakeConsole.ahk and precompiled EXE + Script for make startup shortcut:
http://www.mediafire.com/?0e3kxld19qd
Sep 8, 2007. 2:29 AMm3gatr0n says:
I'm a little confused here: "The final step is to save all this as an XML file, typically in your Console directory. You can then refer to it directly in your AHK script, or, as I've done, create a shortcut in your path somewhere - called "console" - that passes the XML file as a parameter; then point AHK to that." Could you please be more specific about this? So I save the file as cosole.xml and put it in the console's directory. What's next? How do I link it so that it appears as in Quake? Thank you in advance
Sep 20, 2007. 2:14 PMwolfsong says:
I tried doing this but it doesn't seem to work with Console2. Any ideas?
Sep 8, 2007. 12:54 PMsenacharim says:
Great work! Isn't it funny, authoring something; it's always tough when figuring how much to assume one's audience will already knows--and how to best avoid treating them like n00bs vs assuming they all know this stuff.
Sep 18, 2007. 3:38 PMkubus007 says:
ended up doing it a different way. took all the files that came with console and put them in system32 directory. used the autohotkey.ahk and put that file in the startup folder. now when i press "win+` " console runs. the only problem i had was exiting and starting console repeatedly. when i did that it would pop-up at different points on the screen so in settings i turned on docking top-left. now console starts in the same place everytime.
Sep 9, 2007. 10:26 PMjchristof says:
The script as it's written in the tutorial only hides the console when pressing the esc key. In order to actually kill the console, change the following line in the script from this: WinHide ahk_class Console Main Command Window to : WinKill ahk_class Console Main Command Window
Sep 9, 2007. 8:28 PMjaypee68 says:
Something isn't working for me. Console.exe lives in D:\Stuff\Console, and I have a shortcut to it in c:\windows called console.exe but when ever I hit Win+` AHK pops up an error box that says...


AutoHotkey.ahk

Error: Failed attempt to launch program or document:
Action: <console.exe>
Params: <>

The current thread will exit.

Specifically: The system cannot find the file specified.

Line#
012: Else
013: {
014: WinShow,ahk_class Console Main Command Window
015: WinActivate,ahk_class Console Main Command Window
016: }
017: }
018: Else
---> 019: Run,console.exe
024: DetectHiddenWindows,off
025: Return
030: {
031: WinHide,ahk_class Console Main Command Window
032: WinActivate,ahk_class Shell_TrayWnd
033: }
034: Return


OK


Do I need to rename my shortcut to something else? BTW this only happens when Console is not running and I use Win+` to execute it.
Sep 9, 2007. 8:33 PMjaypee68 says:
NM, I fixed it. I took the .exe off of the console.exe shortcut, and also removed it from the script. :-)
Sep 8, 2007. 3:31 AMronj says:
Great great great ! Two things though : - The Window Class of Console changed in the beta of Console2. Using the same tool as you, I stumbled on (uh) ahk_class ATL:00456188. Not really pretty, but it works. - In step 4, setting the "Columns" value to "max" doesn't work for me. Again, this may be a change in 2.0 Thanks for your work !
Sep 8, 2007. 2:14 AMhikelley says:
While this is certainly useful and innovative, one could use the JediConsole which seems to offer the same effect and functionality, without all of the setup.

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
1
Followers
1
Author:paraxion