miercuri, 23 iunie 2010

Changing Library Icons without a Program

A few days ago, we mentioned at Windows 7 News how to change the icon of a library in Windows 7 using a little nifty tool called “Library Icon Changer”. The program doesn’t require any installation to run and is straightforward. Although this is wonderful news for the majority of users, there are still some people who prefer to do things the hard way. That is, manually change the icon without the aid of a program.

But why take the longer? Well as Jason mentioned earlier in his the article, Windows 7 is very customizable. We can change various aspects of operating system such as themes, the start orb, resize thumbnail previews and even the task switcher. Now for someone like me who doesn’t like to pile up installed applications, having a whole program just to customize a small part of the OS is just wasteful. The only available choice is to either apply these tweaks manually or rely on a tweaking utility such as WinBubble. This might seem a bit advanced for some people, but can be interesting for those who want to glimpse at how libraries work under the hood. Enough with the introduction, let’s dive straight into the steps!

Custom Windows 7 Libraries

Step 1: Locate the libraries

Have you ever wondered where libraries are really stored? We are told that they are “virtual” or a “special” type of folders that can display files from different locations at the same time and in one place. Well a library is stored as an XML definition file having the file extension .library-ms and the same name as the filename of that file. Because each user has their own libraries, they are placed in the user’s storage space (C:\Users\{username}). The fastest way to access the directory where libraries are actually stored is to copy and paste the following in the start menu’s search bar or in Windows Explorer. Make sure to replace the {username} with the name of the user before pressing Enter.

C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Libraries

Step 2: Open Notepad

I don’t think this requires any explanation. If you like unnecessary complicated stuff or want to show off, try this in Windows Explorer or the Run command:

"%SYSTEMROOT%\Notepad.exe"

Step 3: Open the library with Notepad

A simple way to do so is to just drag and drop the library to the open Notepad window. Another way would be to right-click on its icon, click on ”Open with…” and choose “Notepad” from the list of programs available. Once it’s opened in Notepad, you should see something like this:

'Documents' Library in Plain TextAs you’ve probably guessed, this represents information about the library. Look for the child element <iconReference> in the file. This element defines the icon resource that is used for the library. That is the icon of the library. If you still can’t find it, add it yourself! Type <iconReference></iconReference> under the <isLibraryPinned> element. The file should now be similar to the following:

<?xml version="1.0" encoding="UTF-8"?>

<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
  <ownerSID>S-1-5-21-1425347975-2883833823-642864168-1001</ownerSID>
  <version>1</version>
  <isLibraryPinned>true</isLibraryPinned>

  <iconReference></iconReference>
</libraryDescription> 

The text that you should add is written in red and is in bold. Note that your file would likely look different to mine.

Step 4: Specify whichever icon you want

Although the subheading might make it sound like a piece of cake, it actually isn’t! We’re now going to type the path of the new icon. To make things simpler, we’re going to install a small program called IconViewer to view icons stored in dynamic link library (dll) and .exe files. You can download it for free from here. Once, you’ve installed it:

  • Navigate to (or type in the start menu’s search bar): C:\Windows\System32
  • Highlight imageres.dll, right-click on it and choose “Properties”.
  • Click on the “Icons” tab.
  • Find a suitable icon for your library and note down its number/name.

Now that you know its number/name, type the following between the iconReference tags ”imageres.dll,-{#}“, replacing the text in red with the number/name of the icon you want to use. You should have something that looks like that:

  <iconReference>imageres.dll,-{#}</iconReference>

You might be wondering why we used imgeres.dll in particular. We’ve used it in this example because it’s the “Windows Image Resource” and contains a nice collection of icons. You might want to also check out shell32.dll for more icons or use your own ones – simply Bing ”free icons”, you should find a lot!

Step 5: Enjoy

Save the file and close it. You should see the change immediately happen after refreshing. Maybe it’s just me, but I find this way more enjoyable (yet length) than using a program. What do you think? I’ve spent a good deal of effort on this, so any feedback would be appreciated.

Niciun comentariu:

Trimiteți un comentariu