Hi Again,
I've used those batch scripts to extract and clean-up all the coolest icons from the DLL files that come with Windows... I have 527 ICO files.
I'd like to put them all in a library.
I tried Create Icon Library, but you can only import one icon file at a time. I did a drag-n-drop into the bottom pane, but it does't seem to do well with such a large number of files. Also note that it doesn't put them alphabetically.
Also a funny thing--not sure if a bug or not: If you have the view in the bottom pane set to Multi-Size, the colors are normal, but if you use any other size, the colors displayed in the window are off (inverse?).
http://i.imgur.com/JoR4i.png
Oooops, you are right, the icon previews when showing the individual images have red and blue channels swapped - definitely a bug. RGB and BGR pixel formats collided. I wonder when this bug got in.
When you use that many icons, the lower window gets pretty slow, especially when you scroll down. Things are faster when one of the single-size view modes is used, but then there is that RGB bug you found.
But you should be able to get to 500 icons with a bit of patience. Sorry for that.
The files shown in the order they are in the icon library (by IDs). When new icons are added to the library they are assigned IDs greater than the current max. Old IDs are not re-assigned (because Windows and eventually other apps remember used icons by ID or by order - if the IDs change, they would be confused). So, when you drag and drop icons, they end up at the end.
Though, if you want a button for alphabetical sort, I should be able to make a small script for that (not a batch script this time).
Will write more later...
Possible other bugs:
The delete (red "X") and cut, copy, paste buttons all work for icons that are made in RW, but not icon files from Windows Explorer. Dragging external files in works (though they get rearranged), but if you have icon files in the clipboard and use Ctrl+v into the bottom pane, RW will crash. Also, once the icons are in there, if you press the "X" you get an error...
The situation with the Delete button is kind of more complicated. It is a scripted operation and on some computers, it refuses to work until another scripted operation is run. For example after the Add icon->New icon is run, the Delete button will work. The Windows JavaScript engine has mysterious problems on some computers - when a global object is for the first time used as an argument in a function call instead of using it directly, the engine aborts with the "Error in loading DLL" problem. I have no clue why this is happening. But once the global object in question is at least once used directly in any script, it works until the application is closed.
Beside adding an empty icon, there is also another, more permanent workaround, but still just a workaround. If you right-click on the toolbar with the Delete button and select "Configure toolbar", then click on "#11 - ..." and finally on the blue "Click here to zoom in", you'll see the script - put this on the first line:
Context.Cancelled;
That will use the Context object directly (doing nothing) before using it as an argument later and the Delete button will work without problems. Similar command in the main menu would need the same change, but locating it in the configuration is way more complex.
I cannot reproduce the problems with the clipboard. Does it only occur with some icons of with a large number of icons in the library or pasted at once?
Indeed
Context.Cancelled;
does work!
Sometimes I think that Java stuff is from a different plant than Windows stuff... But that's just my impression as a novice
If it's not too much trouble to post a script for alphabetizing the icons in the bottom pane of "create library," that would be great. I don't really understand why the items don't get added alphabetically by default.... I was trying to experiment and see what the rule is, for adding them. If I click-and-drag a couple icons, they get added in order. But if I click-and-drag, say 7, then the order is "7,1,2,3,4,5,6." Weird. It might just be my computer too. I have Win 7 and it does all kinds of strange and annoying things.
The order is determined by Windows Explorer - it places the focused item first. So, if you clicked #1 and shift clicked #7, #7 has the focus and is placed first. You may see the same behavior if you select multiple .mp3 files and send them to a media player. if you click #7 and then shift-click #1, the order will be 1,2...7.
This may sound weird from an icon editor author, but I don't really grok .icl files and why are people using them. I still think that simply having .ico files in a folder and eventually zipping them is right way. Windows Explorer is better file manager than any icon editor could be.
Will post the script tomorrow...
Here is the script sort-icl.rwcommands
To add it to the application, drag and drop the file on the toolbar above the list of icons and a new button will appear.
Neat thanks! I wish everything in the world had such drag-n-drop augmentation!
Strictly speaking, I don't typically use ICL files either... At least not as ICLs. I find that if I change the extension to DLL it works just as well. Also, by default, Windows will open SHELL32.DLL when you go to change an icon of a folder. The browse (for an icon file) button is cumbersome, but if you put another library in the same folder with a similar name, it is easy to browse to. Here check this out:
http://screencast.com/t/mdYpqRgCn
I put all those favorite Windows icons in a library and named/put it
c:\windows\system32\shell32b.dll
Just add the "b" and press enter!
Cool, eh?
EDIT: Here's the set as the library and also as separate icos
https://docs.google.com/open?id=0BwtnO53TpftPSXhGSURPYVV1WXM
Remember that I didn't draw these... They are all from Windows Vista DLLs I picked out the best ones and normed them using your batch scripts. Then I put them in a logical order by theme and prefixed their names with nnn- so they'd keep the order. The base name is actually the name of the DLL they came from... If everything worked as excepted, the resource ID number in the library should also be consistent with the nnn- part of the corresponding icon's name.
I should also point out that those, above, icons are owned by Microsoft. I have seen them show up in various free sets around the web though.
Regarding ICL or DLL libraries, does anyone know if there is a size limit?
I can't seem to fit more than 500 icons into a library.... Must be a Windows limitation...
EDIT: Actually it might be that the DLL *contains* all of the icons, but the Icon Chooser tool that Windows uses can only display the first 500 (?)
There is no explicit limit, each icon must have its own ID and each image in the icon as well, but there are lots of available IDs. It is more likely, as you say, that the chooser only displays 500.
It does, indeed, appear to be the default Windows icon chooser thing...
If I reopen the saved icon library in RWIE, then all of the 527 icons ARE there, which means that RWIE DID save them all to the library...
Also, if I edit the desktop.ini file directly
"IconResource=C:\Windows\system32\shell32b.dll,526"
Then I am able to use icons who's resource id is >500.
This is a pretty sucky limitation of Windows! For the reasons listed above though, I still like having "shell32b" rather than a folder of ICOs
Find out how Vista icons differ from XP icons.
See how RealWorld Icon Editor handles Vista icons.