Thursday, December 19, 2013

The Taming and Return to Windows 8

For the past 2 months, I've been using Linux almost exclusively for all my serious computing work (not including early-morning web/news/email checkups on my Android tablet). But since yesterday, I'm now spending a bit more time in Windows again. Read on for details of how/why this came up, and what I needed to do to make this a viable option.

Firstly, some screenshots of what this now looks like :)

"File Explorer" opening without starting in one of the blasted "libraries". Note the nice theming on show everywhere. For example, check out all the window border themeing and transparency effects, scrollbars, back/forward buttons, taskbar, etc.


A start menu again - with good access provided to everything that's important. Namely, quick shutdown/sleep access, documents/downloads/pictures access, quick navigation to folders without clicking (via cascading menus on the "Computer" entry)


The "fixed" taskbar - quick launchers for apps without having the confusion that pinning them causes (i.e. pinned app launcher becomes the window indicator), and multiple instances of the same app can be opened without appearing beside each other.


Back then, I went through the trouble of setting up a dual boot setup on my laptop (Windows 8 + Linux Mint 15). This was primarily in response to growing discontent about some of the limitations and problems with Windows 8 I'd been discovering at the time: things like the unusable taskbar (which groups all windows by application, even when set not to combine), the slow + annoying + roundabout ways to put the machine on standby or to shut it down (two operations which I perform many times a day!), the eyeball-assaulting "flat" widget style (which was most noticeable/annoying on the scrollbars), the loss of the beautiful aero-glass theming on window borders, and general discontent with the way that windows/commercial software was going at the time (particular with regards to forced "updates").

For the first month or so, this changeover was more than justified. Even with all the changes I'm about to describe here, I seriously doubt that some of the changes I'm about to describe here would have allowed me to work as productively and effectively during the writing crunch period I had within weeks of changing over. That's because, even with the ability to have (at least) 4 workspaces to spread the windows I needed to work with on, I could still have done with a few more. On Windows though, I'm stuck with just a single workspace, and that's assuming that I'd have been able to resolve all the annoyances that I had at the time (which was impossible, since UxStyle was unavailable for download at the time - it had been taken down by the author so that some critical bugs could be investigated/resolved).

However, once the crunch period was over, I finally had time to start looking into some other things which I put aside during that period out of necessity. These included fixing up a few configuration issues such as the Nvidia Optimus problems (which were negatively affecting the overall temperature and power consumption of the device) and sound card issues (which resulted in really tinny sounding mono-channel audio and nasty popping noises when returning to Windows after a stint in Linux).

Once those were fixed though, I found that there were still some considerable hardware support problems. While I could get my printer/scanner and camera "working" (if you are careful with how you define that term, and aren't too picky with the workflows that you end up with), it has to be said that support for these leaves "a lot to be desired".

In terms of the printer/scanner, I generally had no problems printing (on the few occasions that I've done that so far) as it pretty much worked out of the box. However, scanning is quite a mixed bag (though it works straight out of the box too) - for small images without being scanned at too high a resolution and/or in gray vs colour it works ok, but anything more than that can often end up freezing/timing out (resulting in the scanner being stuck in a weird position until you unplug the USB cord, and spewing out vague I/O errors in the meantime).

In terms of my camera, I've mentioned the problems here before. Basically, the library (used by every single Linux photography app/tool out of necessity) is somewhat flaky. Various features are somewhat broken (i.e. if you try to import too many things at once, it can end up timing out halfway through that process, locking up the device <-> computer/usb interface until you reboot), timecodes are almost universally interpreted incorrectly (i.e. some tools are offset by 1 day, others by a few hours, and yet others simply don't have any clue at all!), thumbnail loading doesn't work completely (some thumbnails get fetched, others not), only fetching "new" items doesn't work as it's impossible to mark previously seen items as having existed already, and (perhaps the most annoying/game breaking) downloading 16GB worth of stuff off a CF card is impossible, since it is just far too slow (it takes something like 30-40 seconds per file at least, while draining the battery!). Perhaps as a result of these problems, the module used by the desktop environment to allow browsing photos on cameras that have been plugged in also failed (and would prevent any other tools from doing so either).

However, the final straw would really have to be the fact that, after returning from holiday, the wifi connectivity and stability on Linux has really taken a nosedive. Not only does it frequently drop every 2-20 minutes (alternating between straight out dropping and trying to reconnect, something about authentication ending or timing out, or dropping out and NOT trying to reconnect), but sometimes when it drops out, it has trouble reconnecting (taking 1-2 minutes before it can successfully connect, if it ever does). Even when it is connected though, the connection is often quite unstable, with things randomly running slow or failing to work - especially all Google sites. Having only left the laptop and the concerned router+modem powered off during that time, and not having changed anything else with the setup either side of that time, the change in performance is completely baffling! So, after trying to compile alternative drivers, patch those drivers to eliminate the crashes, and other measures which have all failed so far, I'm out of ideas how to fix the situation.


Fixing Windows 8
So, how did I manage to resolve the problems I was having with Windows 8?

The majority of the techniques I describe here were clobbered together from "How to Make Windows 8 Look and Feel Like Windows 7", and supplemented with a few other searches + some experimentation + a sudden moment of inspiration.

 
Window Transparency - Aero Glass
To get back the semi transparent glass effect for windows theming, it is necessary to install Aero Glass for Windows 8 by bigmuscle. While I originally had some reservations about installing this, by the time that you've gone and set up a proper dual boot setup on your machine (complete with multiple partitions, and having gone through a few steps to fix the boot loader configuration used), there's really not much more to worry about.

Some articles used to refer to a few other hacks, but those are all generally technically inferior, as they all end up completely clearing the backgrounds (resulting in the drawing artifacts). This isn't what really used to happen, as we actually used to have a "frosted glass" effect, which is what AeroGlass does.

Disclaimer: I must also warn you at this stage about one potential "issue" with using this. Namely, does method does come with an annoying nag-screen which appears about 5 minutes after booting up. Apparently, you can get this to go away by making a suitable "donation" to the dev's Paypal to get a license key to unlock this.

Now, if getting glass effects back is all you care about, you don't need to read the other sections. However, if this really is your end goal, you'll definitely want to set a custom theme/skin for the buttons. IMO, "win8rp.png" from the aero glass themes page is the best looking one (and is really your only option, if you want to really get any benefit out of this setup).  NOTE: if you're carrying on to the next step though, this won't matter in the end, as this will just get overwritten - but will end up
looking even better!



Cursor Theming
While the "old" aero cursors and the Win8 aero cursors share the same shapes and visual design, the "flat" aero cursors are (obviously) inferior! In particular, they really suck when viewed against dark backgrounds. Despite some of the propaganda about the ways of flatland, it is precisely in flatland that this problem is most apparent. That's because flatland by default uses dark purples and black/greys, which make it really bloody hard to see the "busy" and "working" cursors, as they're now similarly dark + flat shapes without much contrast to help make they "pop".

Fortunately, a quick search will reveal some appropriate icon sets on DeviantArt. For example:
http://scritperkid2.deviantart.com/art/Windows-Aero-Cursors-for-Windows-8-313231995


General Widget Theming - No more flat scrollbars, or other ugly flatness
As per the article linked above, this step requires installing UxStyle - an extension which basically hacks the Windows theme engine so that it accepts custom themes which have a much greater influence on the system than standard themes would be allowed to.

A few months back, all downloads or this were disabled, but as of yesterday, they seem to be back (at least for now). Without this tool though, there's not much that can be done.

Now, basically, the procedure is something like this:
1) Install UxStyle
2) Download this theme pack from DeviantArt, which recreates the Windows 7 themes and skins
3) "Copy the contents of the Themes Files folder from the zip file to C:\Windows\Resources\Themes"
4) "Double-click the Aero8Rounded-Default.theme icon" - This applies the theme which fixes everything (visually).


Taskbar - Grouping and Quick Launch vs "Pinned Apps"
I think it's fairly clear that I really don't like the whole "pinned apps" or "dock"-like concepts for launching applications. That is, interfaces where the concepts of launching apps and switching between running instances of them are muddled together into a single interface where both of these look very similar for most intents and purposes. I also don't like not being able to keep grouping open windows temporally (instead of by type), as that breaks my workflow in a very big way.

There are two parts here:
1) Create a "Quick Launch" toolbar yourself, and unpin all apps
2) Install another third-party tool to force the window ordering to work the way you like

Creating a Quick-Launch Toolbar in the Taskbar
In all previous Windows versions, the apps you could have on the taskbar (beside the start button) were really all shortcuts located within a "Quick Launch" folder, that was then displayed as a toolbar on the taskbar. This functionality hasn't gone away in Windows 8 (and Windows 7 too, since that was the version which introduced this new-style dock madness).

To do this:
1) Right click on the taskbar, go to "Toolbars", and click "New Toolbar"
2) Create a new folder for this toolbar in your home directory (or somewhere similar, as appropriate)
3) Create shortcuts there for everything you had pinned - e.g. web browser, command prompt, some text editors, etc.
4) Create a shortcut straight to your Documents folder, bypassing the blasted "Libraries" crap you'd get if you just used the "File Explorer" shortcut as-is.
5) Start trying to drag the toolbar to the left (before any of the items on the taskbar). You will need to make the taskbar editable first, and/or try moving the taskbar's drag-handle instead if need be.
6) Right click on the quick-launch toolbar and look for the item to hide its text label.
7) Once everything looks good, disable editing.

One quick thing to remember is to avoid putting the thing you use most right in the corner, or else you could end up constantly activating it by accident via the magic corner there (though this can be mitigated if you end up adding a start menu extension too...)

Solving Grouping Problems
However, we're still not sorted with the window-grouping issues. Without installing anything else, the least we can do is to tell Windows to "never combine" Taskbar buttons (via the Taskbar Properties - RMB on the taskbar). Although this makes things a bit more usable by having larger buttons to click on, it's still destroys many workflows involving opening many windows with similar names (e.g. Git Gui)

A quick search soon revealed that there's actually a tool which can fix this problem!
7+ Taskbar Tweaker - RaMMicHaeL's Blog

This gem provides many customisation abilities. There are several important settings to set here:
1) Under "Grouping", select "Don't Group" and "Don't Group Pinned Items"
2) Under "Combining", select "Don't combine grouped buttons"

Start Menu Replacement - Polishing up what remains
The last step is to install a Start menu replacement. While I actually somewhat like the Start Screen (especially once you've taken the effort to actually customise it to achieve a nice amount of utility), nothing can quite beat having the quick access to Sleep/Shutdown tools that the Start Menu provides.

Classic Start Menu does the trick: http://www.classicshell.net/

Specifically, here's my config settings that I ended up using:
<Settings component="StartMenu" version="4.0.2">
    <WinKey value="ClassicMenu"/>
    <ShiftWin value="WindowsMenu"/>
    <ShutdownCommand value="CommandSleep"/>
    <AeroGlass value="0"/>
    <SkinW7 value="Windows Aero"/>
    <SkinVariationW7 value=""/>
    <SkinOptionsW7 value="C26EAF5D|5D3248DC|1FC64124|5EA361A2|0663DC39|"/>
    <StartButtonType value="AeroButton"/>
    <DisableHotCorner value="DisableAll"/>
    <MenuItems7>
        <Line>Item1.Command=user_files</Line>
        <Line>Item1.Settings=NOEXPAND</Line>
        <Line>Item2.Command=lib_documents</Line>
        <Line>Item2.Settings=NOEXPAND</Line>
        <Line>Item3.Command=downloads</Line>
        <Line>Item3.Settings=NOEXPAND</Line>
        <Line>Item4.Command=lib_pictures</Line>
        <Line>Item4.Settings=NOEXPAND</Line>
        <Line>Item5.Command=lib_music</Line>
        <Line>Item5.Settings=NOEXPAND</Line>
        <Line>Item6.Command=lib_videos</Line>
        <Line>Item6.Settings=ITEM_DISABLED</Line>
        <Line>Item7.Command=lib_tv</Line>
        <Line>Item7.Settings=ITEM_DISABLED</Line>
        <Line>Item8.Command=homegroup</Line>
        <Line>Item8.Settings=ITEM_DISABLED</Line>
        <Line>Item9.Command=separator</Line>
        <Line>Item10.Command=games</Line>
        <Line>Item10.Settings=TRACK_RECENT|NOEXPAND</Line>
        <Line>Item11.Command=favorites</Line>
        <Line>Item11.Settings=ITEM_DISABLED</Line>
        <Line>Item12.Command=recent_documents</Line>
        <Line>Item13.Command=computer</Line>
        <Line>Item14.Command=network</Line>
        <Line>Item14.Settings=ITEM_DISABLED</Line>
        <Line>Item15.Command=network_connections</Line>
        <Line>Item15.Settings=ITEM_DISABLED</Line>
        <Line>Item16.Command=separator</Line>
        <Line>Item17.Command=control_panel</Line>
        <Line>Item17.Settings=TRACK_RECENT</Line>
        <Line>Item18.Command=admin</Line>
        <Line>Item18.Settings=TRACK_RECENT|ITEM_DISABLED</Line>
        <Line>Item19.Command=devices</Line>
        <Line>Item19.Settings=NOEXPAND</Line>
        <Line>Item20.Command=defaults</Line>
        <Line>Item21.Command=help</Line>
        <Line>Item22.Command=run</Line>
        <Line>Item23.Command=apps</Line>
        <Line>Item23.Settings=ITEM_DISABLED</Line>
        <Line>Item24.Command=windows_security</Line>
    </MenuItems7>
</Settings>



Some other tweaks that don't seem to be listed here:
1) "Computer" entry in this Start Menu is set to be a cascading entry, which proceeds to allow using cascading menus to navigate through the file system without having to make a single click. This is even better than what I used to have under Windows Vista! (My old setup only listed the drivers in the popup)
2) Added "Downloads" folder as one of the links shown
3) Changed "Shut Down" to "Sleep" - since I do that more often during a session.
4) Disabled ALL hot corners. While I've previously partially disabled two of them via the registry, that still didn't stop some of them from randomly causing trouble every time I went to quickly move my cursor outside a window. Now that they're disabled, no more problems remain!

Another thing to pay attention to is the fact that you should go into "Classic Shell" -> "Classic Explorer Settings" and fix things up there, as by default, it will turn on a toolbar + status bars, both of which aren't actually needed/necessary.

No comments:

Post a Comment