CMD has wrong encoding when launched from the Run dialog - windows

Some time ago I had to change my system locale from Czech (default) to Japanese because I needed to run some Japanese programs that would otherwise crash.
The problem is, after switching back to Czech, my command prompt would launch with the Shift-JIS encoding whenever I opened it from the Win+R dialog (which is my preferred way of launching cmd). It would also draw characters in a strange bloated font. The problem persists even after uninstalling Japanese from my system altogether.
If I open cmd any other way (Start menu, Right-click Start -> Command Prompt, cmd.exe...), everything works correctly. All settings that I could think of are set to Czech:
System locale
Language for non-Unicode programs
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage (OEMCP value)
Another thing is that Regedit always opens on HKEY_CLASSES_ROOT\MIME\Database\Codepage, though I don't know if that's related to the problem.
I'm running Windows 10, after the free upgrade from 8.1 and 7. Picture shows the different cmd windows.
http://i.imgur.com/jyyhAOA.png

Settings are stored a number of places. Look here for a codepage value and delete it.
HKCU\Console\%SystemRoot%_system32_cmd.exe\

Related

How to make PowerShell look the same as in Windows Terminal?

If I launch Windows Terminal, which, in turn, launches an instance of PowerShell 7.2.6 it looks different than if I simply launch PowerShell 7.2.6.
The top image is Windows Terminal with a PowerShell tab. Bottom image is PowerShell by itself.
Not only is the Windows Terminal version far more legible, it also renders ANSI escape codes correctly (color, cursor positioning, etc.). The stand-alone PowerShell does not.
I have confirmed, through Task Manager, that both instances are running C:\Program Files\PowerShell\7\pwsh.exe
How do I make them look the same (like under Windows Terminal) and render escape sequences in the stand-alone case?
A bit more madness...
If I take the approach of manually editing the properties of the stand-alone PowerShell to match the settings I see under Windows Terminal it makes an absolute mess. For example, if I set the font to Cascadia Mono 12, which is the setting under Windows Terminal, I get microscopic text that is unusuable:
I have to set the font size to 20 in order to approximate the look of what comes up under Windows Terminal. Also, any changes made to stand-alone PowerShell do not seem to affect PowerShell under Windows Terminal.
EDIT:
This is what Task Manager shows for these two instances. One is PowerShell launched by itself. The other is in the context of Windows Terminal. The latter does not seem to use Console Window Host.
Also, this isn't about legacy Windows PowerShell, which generally lives here:
C:\WINDOWS\system32\WindowsPowerShell\v1.0
This is about modern PowerShell, in this case version 7.2.6, which is installed here:
C:\Program Files\PowerShell\7
Note:
If you launch a console application (such as PowerShell (Core)'s pwsh.exe CLI) directly (either directly by its executable path or via a shortcut file targeting that executable path), you'll invariably (up to Windows 10) / by default (from Windows 11) get a regular (legacy) console window, backed by conhost.exe, the Windows Console Host.
Such windows have their own appearance settings, distinct from Windows Terminal's; the best you can do is to manually match them, as described in the next section.
On Windows 11, you can now configure your system to open console applications with Windows Terminal instead: in the Settings application, search for terminal and select Choose a terminal host app for interactive command-line tools
Alternatively, launch PowerShell via the Windows Terminal CLI, wt.exe, which by definition gives you the desired look and unconditional support for ANSI / VT escape-sequence rendering; e.g.:
wt.exe "C:\Program Files\PowerShell\7\pwsh.exe"
You may alternatively launch with a predefined profile, using the -p option - see this answer for more information.
Note that this invocation method isn't suitable for programmatic use of the PowerShell CLI (in case you want to execute commands unattended and receive their output).
Regular (legacy) console windows (provided by conhost.exe, the Windows Console Host) have their own font and appearance settings, distinct from Windows Terminal's; you can control them via their system menu (click on the icon in the top-left corner of the title bar and select Properties):
You can manually try to emulate the Windows Terminal look, such as by choosing the Cascadia Mono font, and it seems that size 20(!) is required to get the same on-screen size as the size 12 reported via Windows Terminal's settings. However, even then it looks like the font rendering differs slightly. You may also have to tweak the colors to match.
Note that for conhost.exe windows launched via a shortcut file (*.lnk), such as via the Start Menu and the taskbar, any modifications are saved in that shortcut file only.
Thus, to change the settings for an executable launched by direct invocation of the executable path, be sure to launch a session that way before making modifications, e.g. via the Run dialog (WinKey-R).
The modified settings are stored in the registry at [HKEY_CURRENT_USER\Console\<transformed-exe-path>], where <transformed-exe-path> is the full path of the executable with \ characters replaced with _, e.g.
HKEY_CURRENT_USER\Console\C:_Program Files_PowerShell_7_pwsh.exe
As for unconditionally rendering VT / ANSI escape sequences in conhost.exe windows: you can activate support for them in all future conhost.exe windows via the registry, by submitting Set-ItemProperty HKCU:\Console VirtualTerminalLevel -Type DWORD 1, as discussed in more detail in this answer.

CMD-Period unexpectedly translated to ESC in IDEA apps on macos (PyCharm, GoLand, Android Studio)

I use Cmd-. (Command-Period) as a common hotkey in my IDEs (go to definition), but recently the IDEA/JetBrains IDEs have started to re-interpret this key combination as the escape key. I can't figure out what exactly changed on my system to make this start happening. There was probably an OSX update or two which happened between the last time it worked and when I noticed the new behavior.
In the IDEA keymap menus, when I hit Cmd-. in the search-by-key dialog, it inserts the Esc glyph, the the behavior of the rest of the app seems to follow suit, it's just acting like Esc.
This issue seems to be specific to the IDEA-based apps. It reproduces in PyCharm, GoLand, and Android Studio. Cmd-. still works as expected in iTerm2, Cocoa Emacs, and the OSX system shortcut settings window.
Any idea of how I can bring back Cmd-., or at least interpret it as something other than Esc?
Unfortunately, there's no way to stop interpreting Cmd-. as Esc. However, as a workaround, you can try assigning the shortcut in a keymap XML file.
It may help in some cases, e.g. it works for opening tool windows, but it doesn’t work with Find in Path because sometimes the dialog gets closed (both meta . and Esc are invoked).
In Preferences | Keymap, set some shortcut to the desired action, and exit IDE
Open settings directory: https://intellij-support.jetbrains.com/hc/en-us/articles/206544519
Open a keymap XML file under "keymap" directory
Find the action changed in step 1, and change the "first-keystroke" parameter of the "keyboard-shortcut" node to "meta period". So it will look like:
<keyboard-shortcut first-keystroke="meta period" />

How do I enable ctfmon.exe under Windows 7 Professional

Not sure if this is the right forum, but here it goes....
Problem Description in Brief:
I am not able to enable ctfmon.exe to execute (and to remain running) on Startup under Windows 7 Professional (SP1). I need this for the language bar on the taskbar, and the ability to switch between Chinese and English.
Problem Description in Detail:
When I installed Windows 7 Professional on my ASUS laptop, I enabled the language bar so that I can switch between Chinese and English, with the default language being Chinese (for my wife). Everything worked fine, even after installing Microsoft Office 2010, which apparently relies on ctfmon.exe for the language bar services. When I uninstalled Microsoft Office, not only did I lose the language bar, but the ability to switch between Chinese and English. The only language supported now on Startup is Chinese.
Needless to say that the option to enable ctfmon is not available under the Starup tab of msconfig. In order to enable the language bar, again, I have to manually change it via the Control Panel, only to lose it, again, every second time I shutdown and/or restart the laptop!!! It is ##$%ing annoying to say the least!!!
Note that, the language bar driver (ctfmon.exe) still resides in the C:\Windows\System32\ directory according to many of the forums I have read. I have even added a Windows registry entry to execute it at Startup according to one of the posts in the Microsoft TechNet site, titled Language Bar Disappeared, and another UK site titled Startup Details - ctfmon.exe, which believes the entry should exist under HKCU as opposed to HKLM. Specifically, I added the following entries to the Windows Registry File without any effect.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"ctfmon"="C:\Windows\System32\ctfmon.exe"
and,
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"ctfmon"="C:\Windows\System32\ctfmon.exe"
Since msimtf.dll and msctf.dll are related to the language bar service, I tried enabling those using regsvr32. Although they were successfully loaded, it did not have any effect on the language bar. I even tried to execute ctfmon.exe at the command prompt! It still did not activate the language bar like it is supposed to according to many of the forums I visited relating to this problem.
Short of reinstalling Microsoft Office and/or reinstalling Windows 7 Professional, any advise/suggestions on how to resolve this problem would be appreciated.
Follow the instructions below to run ctfmon automatically on Windows startup process.
Click Windows 7 start button.
Type: regedit
Open it with administrative rights.
Goto HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Create a new string value
Name it as you wish
Open it for edit
Type “ctfmon”=”CTFMON.EXE” in Value data field
Press OK
Restart your computer
Now you can see the language bar :)
Do not worry. You may try this step.
Press Windows along with R ( Windows + R ) and then run box will appear then type the path on the run box..
C:\Windows\System32\ctfmon.exe
Then press enter.

Change CodePage in CMD permanently?

My Windows cmd CodePage is now under 65001.
Since I was doing some Android stuff and need to use console log, but forget how changing it now.
When using chcp 437 to change the CodePage back, it works. But if I start a new cmd window, it goes back.
How to do the chcp thing to make it pernament?
In the 1809 build of Windows 10 I've managed to permanently solve this by going to the system's Language settings, selecting Administrative language settings, clicking Change system locale... and checking the Beta: Use Unicode UTF-8 for worldwide language support box and then restarting my pc.
This way it applies to all applications, even those ones that I don't start from a command prompt!
(Which was necessary for me, since I was trying to edit Agda code from Atom.)
Here I found a better solution:
Start -> Run -> regedit
Go to [HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
Add new String Value named: Autorun
Change the value to 'chcp 437'
Create a start up batch file that includes all the commands you want.
Then edit the registry to point to your start up file.
http://technet.microsoft.com/en-us/library/cc779439%28WS.10%29.aspx
c:\startup.cmd
#echo off
chcp 437
HKLM\SOFTWARE\Microsoft\Command Processor
AUTORUN="C:\startup.cmd"
Command prompt code page always change back to the default 437 if you just use chcp 850 in cmd to change the active language code (850 = Multilingual (Latin I)).
My system default language is set to English (437) although I'm Brazilian (language code 850).
Once I need to show some special characters such as ã, õ, ç, I found that at Windows 10, under All Settings > Time & Language > Region & Language there is (at the top right corner) a link for Related settings - Additional date, time & regional settings. From there you'll be redirected to Control Panel\Clock, Language, and Region. Click again on Region > Change Location and at the window Region, at the tab Administrative, change the Language for non-Unicode programs by clicking the button Change system locale and choosing some other that uses the code you need (In my case, Portuguese (Brazil) = code 850). Restart Windows and check if your command prompt is now set to the new language code (type chcp in cmd). For me, it solved the problem.
There is also a Latin (Word) option on the list that I suppose is also code 850.
Setting the default CMD/shell Codepage can be neatly done using the following command:
REG ADD HKCU\Console\%SystemRoot^%_system32_cmd.exe /v CodePage /t REG_DWORD /d 437
This will make the codepage 437 your default, but ONLY in the cmd/shell, meaning the rest of the OS is safe and the boot environment ist untouched.
Instead of always changing the codepage whenever the cmd opens, the cmd will open in the specified codepage from start.
If you wish to edit it manually using regedit.exe, beware that you have to set the codepage value in 'decimal' (use the radio-buttons for selecting decimal or hex input).
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
You can edit code page value permanently by editing OEMCP key value in windows in above reg key value
Warning: Don't do it, it will make your system unable to boot. See related.

As a developer, what changes do you make to a vanilla Windows install?

When I get a vanilla Windows system, there's a bunch of stuff I change to make it more developer-friendly.
Some of it I remember every time, other stuff I only do as and when.
Examples:
Show extensions of all file types
Make hidden and system file visible
Turn off Windows Defender
I seem to remember a blog post from Jeff on this topic, but can't locate it!
What else do you do, and do you have any tools that automate this process?
Indeed I do the above, plus deactivating Zip support (regsvr32 /u zipfldr.dll), activating the underscore on Alt shortcuts (Advanced Appearance), replacing Courier New by Andale Mono (replace with your favorite font) in all program settings (after installing it, of course), installing my favorite utilities (UnxUtils, Sysinternals', SciTE, FileMenu Tools which has Command line here and lot of other goodies, etc.) and so on.
Oh, and indeed also deactivate dual keyboard support (French/English), deactivate task grouping, install VirtuaWin (4 desktops), CLCL (clipboard manager), AutoHotkey and my favorite macros, and lot of other freewares, more or less must have.
No automation, alas.
I install Cygwin to have *nix command line tools and Xemacs to have a useful editor.
I install:
The usual suspects: Visual Studio, Sql Management Studio, Firefox, Chrome, etc...
Paint.Net
Notepad++
Launchy
The first thing I do is open a command prompt and then open the properties for it:
Switch on Quick Edit. Why is this off by default?
Increase the window size. Why limit it to the size of a postage stamp?
Increase the vertical buffer to the maximum possible. Why limit it to a few hundred lines?
Change the foreground colour to white instead of grey. Why make it less readable than it could be?
In summary: WHY?
Using the Add\Remove Windows Components in Control Panel, I always remove...
Games
Document Templates
MSN Explorer
Outlook Express
For the look and feel I...
Revert to the classic start menu; however, if it's Vista, I leave it as is because I like the indexed search feature.
Revert to a classic desktop with large icons and make sure that My Computer is the first icon (versus My Documents)
I also perform the things you mentioned above
Before installing any software I...
Install any outstanding Windows updates
Run a Disk Clean Up
Run Disk Defrag
Setup scheduled tasks for Clean Up, Defrag, and other personal tools
For tools (outside of my IDEs and other necessary development tools), I install..
TweakUI
IE6, IE7, Safari, Chrome, Opera, and Firefox
Install the set of Firefox plug-ins I always use for development
'Open Command Prompt Here' shell extension
Install Consolas and set it as the default font for my editors (IDEs, Notepad++, etc)
I wipe it and install Linux. Everyone is always amazed by how productive I can be. It's because I don't spend half my time fighting with the machine.
Install Consolas font and turn on (and tune) ClearType.
Install ZoomIt to magnify display during presentations.
Install FireFox/Firebug
Install XYplorer Win Explorer alternative (can't live without it!)
Install DeskPins to be able to make any Window temporarily topmost.
Make sure OneNote got installed with Office.
Install Visio.
Install favorite editor (whatever it is at the time, currently SCiTE).
Install 7Zip.
Fix Windows colors to suit me and put picture of RatPack (Dean's my hero) as wallpaper.
Disable shortcuts to FilterKeys, StickyKeys, and ToggleKeys - nothing frustrates me more than having to deal with that cruddy feature because I push the shift key down several times while I'm thinking or hold it down for eight seconds (again, while thinking) before I start typing!
Change the default action for Folder to explore instead of open.
over the years i have arrived to the decision that i do as little customization as possible since workplaces change and computers change (both at home and at work).
i used to do all kinds of crazy tweaks with litestep, setting up partitions, etc. these days i pare it down to the basics, and it does not take me long to setup a machine and have a familiar environment.
in addition to the usual "win32dev" setup (classic scheme, optimized for performance, no special effects, show all files, details in explorer views, blue background, etc) i have the following stack:
cygwin (gcc, vim, curl, wget, perl/ruby/python, svn, git, ssh, netcat, etc; rxvt for terminal)
ffox + adblock + dev plugins
clipx for simple stack-like clipboard with previews
textpad + a few basics syntax highlighters
virtuawin - the only minimal window manager that does all i need and nothing more
autoHotKey for basic app shortcuts
procexp to replace task manager
all other sysinternals tools
tortoise svn
putty + agent + keys
7zip
keepass
wireshark
everything i install by hand goes into c:\programs (for easy no-space, lowercase paths).
Regarding:
Show extensions of all file types
Make hidden and system file visible
I don't like making hidden files visible all the time (it makes two desktop.ini visible on my windows Vista desktop for starters) so I use an explorer extension to make it easy to toggle this on and off. There's also a corresponding one for file extensions:
HiddenFilesToggle Context-Menu Shell Extension
FileExtensionToggle Context-Menu Shell Extension
Command line scripts
For storing scripts that I use from the command line I create a Command Line Scripts directory under Program Files and add it to the PATH environment variable. I use the following batch file for listing and editing those scripts:
#echo off
setlocal
set UTILPATH=C:\Program Files\System Tools\Command Line Utilities
if not "x%1"=="x" (
start "" "notepad" "%UTILPATH%\%1.bat"
) else (
dir /b "%UTILPATH%" | grep -v com.bat | grep -P "(exe|bat|cmd)" | sed "s/\.\(exe\|bat\|cmd\)//"
echo.
)
(note that the filtering of the directory listing depends on some unix commands I have installed via Cygwin)
I give it the name com.bat, (short for command) then I can:
list the scripts in that directory by typing com at the command prompt
edit any script in the list by typing com script-name at the command prompt*, similarly:
create new scripts in that directory by typeing com new-script-name at the command prompt*
and if I ever need to edit com.bat I just type com com
* As I'm running Vista I have to use an elevated command prompt as directories under Program Files are protected.
For a quick way to launch an elevated command prompt, simply press the Win key; type cmd; press Ctrl+Shift+Enter; and then hit Alt+C to confirm the elevation prompt. Six keystrokes to an elevated command prompt! ([via][4])
Startup Script
One of the scripts I store in my Command Line Scripts directory is a script that is run when I log in to windows (via the Task Scheduler, type Task in the Vista start menu). I use that script to set up several virtual drives using the subst command to directories I access frequently or want a quick way to access on the command prompt or for shortening path names in compiler warnings, logs or debug output.
My Startup script looks something like this:
#setlocal
#set _MYDOCS_=%USERPROFILE%\Documents
#REM Note: first delete the drives so I can run script again
#REM to fix drives that failed to get mapped
subst /d W:
subst /d T:
subst /d S:
subst /d R:
subst /d N:
subst /d L:
subst /d H:
subst W: "%_MYDOCS_%\Work\SVN Working Copy\Website\trunk\www"
subst T: "%_MYDOCS_%\Work\SVN Working Copy\project 1\trunk"
subst S: "%_MYDOCS_%\Work\SVN Working Copy"
subst R: "%_MYDOCS_%\Work\SVN Working Copy\project 2\branches\12.50"
subst N: "%_MYDOCS_%\Work\SVN Working Copy\project 2\trunk"
subst L: "%_MYDOCS_%\Work\"
subst H: "%_MYDOCS_%\My Projects\Haslers.info\Working Copy"
Note that subst can be a little temperamental and occasionally the drives don't get created and I have to run the startup script again manually.
I'm surprised nobody has mentioned ClipX. I find that I can't develop without this clipboard history tool.
Step 1: Fix windows
Turn off System Restore
Turn off Windows Defender
Uninstall any OEM-supplied antivirus or other crapware if it's an OEM box
Get SysInternals AutoRuns and lay the smackdown to all the 8000 useless startup items and services vista inflicts upon you, including the slow and useless vista search indexing service.
Step 2: Install stuff.
Now that my shiny new Core 2 Duo PC isn't bogged down with useless crap running like a 386, I can build it up again
Install Firefox
Install FlashPlayer firefox plugin (why oh why isn't this bundled with FF?)
Run windows update and let it do it's download/reboot cycle 50 times until it's happy
While this is happening I can use firefox to browse stackoverflow and read reddit :-)
Get UnixUtils and either unzip them to system32, or otherwise make sure they are in the path.
This is neccessary because I can't stand cygwin, yet my muscle memory keeps typing ls when I try to type dir, and windows still hasn't heard of grep yet
Install Droid Sans Mono and Monaco fonts for programming
Install E-TextEditor
If I'm installing visual studio, do that. If not install the .NET framework runtime instead
Install Firefox addons (firebug, fission, web developer, adblock)
I add Wordpad to the Send To context menu. Instructions for XP here. Works in Vista, as well.
Someone gave me a 'Delete all SVN folders' registry script - that is a must have for me, now (it's somewhere on this thread).
I leave UAC on - last thing I want is to write code that works with UAC off, but fails miserably with it on. Before I started to use Virtual PC to set up test environments for my code, I tried to leave my desktop as 'vanilla' as possible - I wanted to test under conditions reasonably similar to an everyday non-developer user.
All of the above is for my home development system. I try to do the same at work, within reason. Except for the SVN stuff, because we use TFS at my office.
I always install the following to make it easier to manage and interact with windows
Taskix - Reorder buttons in your Windows taskbar
KatMouse - scroll the window directly beneath the mouse cursor
WinSplit Revolution - organize your windows by tiling, resizing and positioning them
allSnap - windows automatically snap to window edges and (optionally) the edges of other windows
I like to:
Make the taskbar larger so that it can hold two rows of applications
Disable personalized menus in the start menu
Disable grouping of similar taskbar items
I also randomly open a lot of PuTTY sessions to various machines, so I like to create a "bin" directory in my home folder, add it to the PATH, and then create a shortcut to PuTTY in it named "p" (among other shortcuts). I can then easily Windows-R (run) and type p [putty-session-name] to open the session. This has saved me tons of time / mouse clicks.
I follow the extensive recipe for making a Windows system useful built and maintained by Simon Peyton Jones.
Turn off Autorun so that I'm not accidentally installing malware or crapware.
Here's a couple of links, out of many:
http://antivirus.about.com/od/securitytips/ht/autorun.htm
http://news.cnet.com/8301-13554_3-9894970-33.html?tag=mncol;txt
Couple of things no-one else mentioned
Install Console2 for tabbed cmd windows
Install Powershell
Completely replace Notepad with Notepad2
Install the full IIS.
Set the resolution high enough.
Set the background to Grey.
Show hidden and system files.
Toolbar 2 or 3 high (I run one monitor sideways).
Always show file extentions.
I install some set of *nix command utilities and process explorer at a bare minimum.
Also, on XP systems I disable any theming and use the windows classic coloration. Vista just doesn't look or work right without the Aero theme so I can't do that on Vista without going almost completely nuts.
Also forgot, I install Chrome. (Used to be Firefox but Chrome is nicer out of the box)
I use nLite to prepare the windows installation disk in order to have some typical settings already set right after the installation.
For example:
Explorer-Associate additional file types with Notepad
Explorer-Classic Control Panel
Explorer-Disable Beep on errors
Explorer-Disable Prefix: Shortcut to
Explorer-Show extensions of known file-types
Explorer-Show hidden files and folders
Explorer-Show the full path in the Title Bar
Performance-Disable Info Tips on Files and Folders
Performance-Disable Last accessed Timestamp on files
Taskbar-Disable Group similar Taskbar buttons
Taskbar-Disable Language-Bar
Taskbar-Lock the Taskbar-Yes
You can also remove useless parts of the system:
Accessibility Options
Briefcase
ClipBook Viewer
I install all of the shell extensions I normally use (TortoiseSVN and CommandHere for example).
Also, one of the first things I do after I reimage a machine is make sure it's hooked to all of my network shares properly. Few things derail my work as quickly as having to fight with the network to get a file at an inopportune time.
Install emacs + a selection of gnuwin32 packages.
Also proexp to replace task manager.
Edi Weitz has a nice writeup of his customizations: Making Windows usable for old Linux farts
Switch to classic menu
Increase the taskbar hight to have more shortcuts & lock the taskbar
Performance options -> Adjust for best performance
Copy all the backed up shortcuts files to Favorites folder
Install necessary software (JDK, DBMS stuff, Editplus, MS Office etc.)
Driver for soundcard
New network connection for Broadband ...
I generally leave Windows Defender online but I don't use an antivirus so....
I set my start menu to display small icons and to have no "most recently used programs" active. Instead I pin everything to my start menu:
My start menu http://www.robpaveza.net/pub/startmenu.png
I also make sure that all the extension menus are actual menus, not just links, and that my computer and user files icons are shown on the desktop.
I download and install Cygwin and Xming.
Wow, this is a really good thread... I'm going to have to go through all the suggestions and see what I'm mission out on :)
Off the bat, I install:
Google Chrome
Visual Studio 2008
aShampoo CD Burning suite (or whatever my current favorite burning suite is)
IZArc (or whatever my current favorite is)
RocketDock - I use it to replace Quick Launch.
Songbird
When I used XP (I'm on Vista now) I'd always install Tweak UI and tweak everything to my liking. Like listing My Computer before My Documents.
I remove the Help icon from the start menu.
I make it so Network Neighborhood was displayed in the start menu.
I have it show file extensions and show hidden files/folders.

Resources