Making Windows 7/8 work again

OK, kinda questionable title, as Windows somehow works after install (and reinstall). But I have some additional professional needs. I don’t want to edit system properties in a single line, I want proper command line – preferably bash – and when at it, I’d welcome many Unix text/file utils too. I want proper console that resizes, allows more than silly block-mode copy. I want alt-tab working properly and not disappearing after a while. Better basic editor.

I wrote about some of the stuff, but maybe someone will find it helpful concentrated in a single post.

I’m actually no tools freak, I don’t check the landscape for new fancy tools every now and then, so there may be better alternative (“better” can have many meanings though :-)). So let’s just go through the stuff I need to do with a fresh Windows installation. Some stuff is related to 7 or 8, but most applies for both.

Many of my needs come from my profession. I’ll omit Java, Gradle/Maven, TortoiseSVN and others, but I’ll name those that help me be productive in command line for instance.

Alt Tab working again (Win 7)

Depends whether you like it or not. I want Alt+Tab to display the application switcher and keep it that way. Because that’s how I switch faster. Aero Peek is function that displays the application – which is cool when you’re in doubt which of those many same icons is the one you want – but when you continue hitting Alt+Tab it just does not display the switcher anymore. That sucks. Hit the Start button (or WinKey) and write “performance”. One of the filtered options should be “Adjust the appearance and performance of Windows”. Go for that. In Visual Effects tab, there is long list of checkboxes. And you want to disable Enable Aero Peek. Never missed it actually.

Windows 8 adjustments

I’ll be swift here, as I have adjusted just a single installation so far. My biggest concern I remember – from those that are easy to fix – was the sticky corner (corner clip) when I used dual-head. When I move window from one monitor to the other, I slide on the top edge – and I stumble upon the edge of the screen here. Fix is easy, although you have to edit the registry.

And then there was Narrator on Win+Enter which I accidentally pressed here and there. Just delete the executable or disable it other way. It can’t be disabled in any normal way.

Browsers, more browsers

So this one is obvious. What you need Internet Explorer for? To download Firefox (Chrome, whatever), right? Then you may need some Web Developer extension, Firebug and you’re ready to go.

BTW: If for nothing else, then for funny bug that ruins my Google Drive document writing on Firefox every time… copy/paste works for a while and then suddenly it stops. Restart does not help, nothing seems to help. Chrome does not have this problem (or it didn’t manifest so far). Copy/paste on Google Drive is quite popular problem so it seems, I don’t care who’s “fault” it is here. Just one of those many funny things about current innovations. 😉

Notepad2 – what Notepad was supposed to be

No tabs, no complications, just Notepad. But with toolbar (should you want it) and some basic settings options. Better status line. That’s Notepad2. My biggest gripes with default Notepad are:

  • doesn’t work with unix newlines properly;
  • no reasonable support for various file encodings or re-coding.

Notepad2 does have these and some basic syntax highlight, newline conversion, regex search and more. Check FAQs to find out Notepad2’s position on some additional features. If it had hex editing, I’d probably never need anything else. For anything serious I use IntelliJ IDEA anyway.

Do you need a bigger gun? Go for Notepad++, Ultraedit, or whatever else, the list is way too long. What I like about Notepad2 is that it is exactly what I’d expect from Notepad – simple single document editor that doesn’t lack features you need way too often today – especially work with various encodings. Instead of reconfiguring apps to use this as a default editor, or associating file extensions, I simply replace both c:\windows\notepad.exe and c:\windows\system32\notepad.exe with this one. You need to claim the ownership and all this hardness, but it is well worth it.

Or you may try this BAT to do it (not sure how it works with domains, but you can’t screw anything except those notepad.exe binaries :-)). It uses notepad2.exe already copied into Windows directory which you have to do as Administrator:

REM run as admin
c:
cd \windows

takeown /f notepad.exe
icacls notepad.exe /grant %USERNAME%:F
copy notepad.exe notepad.exe.orig
copy notepad2.exe notepad.exe

takeown /f system32\notepad.exe
icacls system32\notepad.exe /grant %USERNAME%:F
copy system32\notepad.exe system32\notepad.exe.orig
copy notepad2.exe system32\notepad.exe

Total Commander

Or any other beast you like. I personally can’t get rid of these two-panel commanders. Bookmarks, tabs, many handy features (synchronize, multi-rename tool, built-in ZIP). I strip my Total Commander to hide F-buttons, toolbar, command line (right-arrow displays it) switch Quick Search to Letter only – and I’m ready to go.

Git

Ok, so I excluded SVN but here I come with Git – what is that? Well with Git for Windows you’ll get git bash – that is bash! And tons of useful Unix commands, though not all of course. So for the rest I go for…

GnuWin32

GnuWin32 contains tons of GNU tools ported for Windows. I don’t know the status of GnuWin64, but GnuWin32 works just fine on 64-bit system too. All packages neatly put their binaries into common bin directory, so a single PATH entry is enough.

Give some thought to your PATH order, I personally have git’s binaries before GnuWin32 because they are in some cases better integrated with its bash. But if you use also GnuPG, put it even before git.

Rapid Environment Editor

Talking about variables… I mentioned this one already some time ago. This is my hero for setting environment variables. Download it, use it, love it. It is handy to put all the *_HOME variables (JAVA_HOME, GRADLE_HOME, …) to System Variables and just reference them in PATH. And for bash usage it is handy to define HOME (for cd without arguments if for nothing else) in User Variables and set it to %USERPROFILE% – use variable of type Expandable String for that. Don’t forget to Save it (Ctrl+S as expected) and restart any program you expect using the stuff.

Real console, please!

And here I’m split a bit. I used Console2 for a long time, works fine, except it doesn’t maximize in Windows fashion. I also used ConEmu on another computer. Works fine, maximizes… but I didn’t work with it that hard like with Console 2. So I don’t know. ConEmu seems to have more features and more actively developed, so I’d check that one now. Both are far better than default cmd, where you – of course – can switch to bash, when you have it on path. For ConEmu, download something that extracts 7z – like 7-Zip – unless you go for MSI (whatever works better for you) or you install a packer plugin (WCX) to your Total Commander.

As for ConEmu settings (Win+Alt+P), you may want to make some changes:

  • First in Keys & Macro – Controls section disable Change prompt text cursor position, so we can make copy/paste work both from left mouse button select and from other programs too.
  • In Keys & Macro – Mark/Copy section for Text selection change the value to Always.
  • In Keys & Macro you may want to change Scroll buffer one page up/down from Ctrl+PgUp/Dn to Shift. It may be easier to find the functions if you sort the list by Description.

With these two I’m mostly ready.

Console with bash from Total Commander

BTW: I talked about Total Commander and Git Bash Here integration already – using Console 2. For ConEmu, let’s do it with editing your INI files – they will probably be in %USERPROFILE%\AppData\Roaming\GHISLER\. Just define your custom command in usercmd.ini (adjust paths of course, bash is in PATH already in my case):

[em_bash]
button=C:\work\tools\ConEmu\ConEmu.exe
cmd=C:\work\tools\ConEmu\ConEmu.exe
param=-cmd bash --login -i

And in wincmd.ini just use this command – I chose Ctrl+B shortcut:

[Shortcuts]
C+B=em_bash

Happy bashing.

Bashing who?

Obviously I’m no big Windows lover. I even hate it as a server platform. I love ssh to my boxes spitting commands on them. This is probably possible for Windows too, but actually not many people use it. I’m still waiting to meet good Windows administrator and enthusiast who will show me some meaning of Windows as a server. Combined with Java. Screw performance comparisons now, just talking about my life as an administrator or developer.

But I’m using Windows in my daily job as my desktop and I like many of the stuff. I don’t turn it into Linux (ok, bash, GnuWin…, but…), I don’t use virtual desktops (I loved them), or any advanced keyboard shortcut solutions. All these tools and adjustments are really rather elementary to me.

I like some of the Windows stuff (when I remove some other). So I don’t want to bash Windows. Installing and integrating all the things together is no doubt more demanding than a couple of apt-get commands Linux users are used to. But then, they often need to go through many configurations as well.

Cool stuff that works

Learn WinKey shortcuts. It really pays off. You may stun your boss when you tell them, “just press Win+Shift+Right to get it on the projector” (switching app between screens).

Pin your applications on the taskbar and start or switch to them using Win+number.

If you use localized keyboard a lot, learn AltGr shortcuts, at least the basic ones. When you need a single curly brace it is much faster to press AltGr+B than Alt+Shift, { and Alt+Shift again. Often these AltGr symbols are printed on the keyboard.

Windows 8?

Windows 8 is generally step in a wrong direction for (not only) me, but it has some interesting additions. While you can’t Alt+F4 after closing the last application to get Shutdown dialog anymore, you can use new Win+X (Power User Menu) and then just double tap U, U to do the same. And many, many more through this menu. There is more for sure, but generally Windows 8 rather does maximum to get into our way if we use the PC the old way (no touch display, etc.). Kinda shame.

I hope you found some of the tips and tools helpful. If you have your tricks and favourite tools, feel free to share them in comments! 🙂

Advertisements

Crippling IT revolutions

Long time ago computers were slow, UI was primitive (say Windows) and there was a lot to learn. Now all is about the end of PC era, tablets and absolute disregard for the voice of users. And still you have to learn a lot as a user. What I miss quite a lot in technology is evolutionary design, something getting just better and better. Refined. I’m not a Mac user, maybe the situation there is different… I don’t know. Maybe it’s market pressure.

It’s not all bad. I’m personally done with HTC Android phones (because of revolutionary bugs), but my wife’s Samsung (cheaper than both HTCs) seems OK. And Nexus tablet isn’t bad either. But then there are simple things I believe should work and they don’t.

Online too many times at once

For instance, you log in to your Google account on the tablet, then your wife uses it with her account and week later a friend of yours asks you why you never answer him on Skype even though you are green all the time. Skype? Online all the time?! No way… and then you get it. Skype installed on Android tablet where you are not actually active for a week. Where are any reasonable defaults? Where are all the years of experience with these communication programs, chats and all?

You may argue I should set it all properly – but… It’s extremely complicated to manage various communication accounts. Their settings and policies change all the time, UI even more so. Something is in the cloud, something in your local settings. Different on each computer. And something is somehow combined. Products come and go. Some communication options are out of your control – on my HTC Wildfire I cannot disable Google Talk when I want to use Google account (there are actually way too many things that can’t be disabled for such a slow phone). But I never want to chat on a phone!

Remember me… really!

Talking about Google – I’m logged in all the time, yet it forgets my prefered language every couple of weeks, or days even (forces me to use my native Slovak, while I prefer English for professional reasons). Every time I set it properly in their settings and after a while it’s gone. How can we set things properly with products like this? Every second day (or more often) they ask me about Cookies. I’m OK with Cookies on trusted services (well… trusted… I just feel unimportant enough not to care about NSA’s knowledge about me :-)). Why I have to confirm this more than once in a… week? Month would be OK, a year ideal.

Keyboard innovations?

And then there are new notebook trends, so let’s skip to HW for a while. I bought Lenovo G500 for my wife. It seemed OK. But then you learn things you’d never expect – like that F1-12 keys must be pressed with Fn key, because their default functions are inverted (Fn actions instead of F1-12) without any option to flip this stupid idea off! The same happened even on ThinkPad S531, but there you have an option to lock Fn key (press Fn+Esc). So you can use ThinkPad professionally, but G500 is just a silly toy really! Try to use IntelliJ IDEA or any IDE for that matter. Try to press Ctrl+Alt+Shift+F7… and add Fn to it. Not impossible, but really silly. Luckily external keyboard works just fine.

Let’s talk about ThinkPad S531 a bit more. It could have been great computer actually. I don’t like Fn in the corner, but hey – it’s ThinkPad, IBM started it, get used to it. But why I have to get used to the new touchpad without physical buttons? Maybe it would work with Mac, but on PC where you need even three buttons sometimes…? Most of the time I indeed use external mouse, but when I’m on the move, I still want to have reasonably good experience using the notebook as is. Here it is very limited. I’m more often than not unable to press right “button” without accidentally moving the cursor. This is no revolution or evolution – it’s plain step backwards.

Ergonomy of other keys could also be questioned. Actually I was extremely pleased with layout of PgUp/Dn, End, Home and the rest on HP ProBooks. And I’m far from HP lover. But having Page Up/Down in the upper right corner was easy to find and very easy to use. Lenovo put quite useless Explorer key there and Home/End are buried in the upper row. Talking about these keys… most of them can be redefined, but Lenovo put Screen Lock key just above numpad as well. Just in case you are dumb or what… what is wrong with Win+L? This can’t be redefined, because – so it seems – it is hardwired to Win+L! Bravo…

Rather delete me as you can’t really disable me

And then there is Windows 8. Point one actually. Screw Metro, we’ve all heard tons about it already. But then there are those small things. Try Narrator for instance! Just press Win+Enter out of curiosity. I felt like disabled (no offence) immediately – because I was not able to turn it off. I had to Google it. Mute shortcut came handy in the meantime. Many people obviously want to disable these accessibility features – but there is no easy way. No single switch. Microsoft! Hear us! (Maybe they need Narrator for our complaints too.) Solutions? Delete narrator.exe for instance. Or disable its executable in Registry. (All provided by StackOverflow, Microsoft offers no definitive solution.) You gotta be kidding me, right?

Get dumb with me

Everything seems to be dumbed-down lately – but in the most wrong way. More features that are hardly understood by my mum anyway – and too few options for professionals. Not talking only about programmers here, this must annoy most of power users of any kind. And then there are other Google searches I went through during my first two days with Windows 8. And many of them were very close at the top of the suggested list before I even started writing last words! Like “windows 8 touch keyboard” finished with “keeps coming back”, or “windows 8 wifi” with “forgets password” (suggested on 6th place). Why do we have to keep solving annoying stuff instead of doing our job?

Sure, some things may be caused by Lenovo drivers… so what?

Any positives compared to Windows 7? Maybe under cover (which is expected), but UI goes in the wrong way. Ugly, thick window borders that can’t be easily customized. And when you get happy that you can easily set the background for the welcome screen, you find out that there is also this uber-ugly login screen with the most ugly metro violet ever (Sun’s enterprise violet was so nice compared to this. :-))

Well, rant over, next time I’ll try to solve something with Docker and Wildfly – and that seems to be much more promising direction of evolution.