Custom Icons

How, what, where and why - when using the software.
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Custom Icons

Post by skagon »

Hello.
I have tried your software for a while and I would like to know if it's possible to add custom icon sets. I've seen that the .icd files are essentially .icl icon libraries, but somehow replacing them in /Program Files/Hard Disk Sentinel/ directory doesn't work. How can I add my own icon sets? And more importantly, how can I add them "officially", without replacing the two default sets?
Thanks
Live long and prosper...
User avatar
hdsentinel
Site Admin
Posts: 3115
Joined: 2008.07.27. 17:00
Location: Hungary
Contact:

Re: Custom Icons

Post by hdsentinel »

Thanks for your question, yes it is possible to add custom icon sets.
Yes, as you write the ICD files are icon libraries but the icons need to
be packed and compiled here to make them into proper format.

So if you can send the icon images to info@hdsentinel.com address, we will
make the proper ICD files to use with Hard Disk Sentinel.
If you agree, then the files may be added to the website (or to the
installation package) so other users may also use them if they want.

The following is used in a complete icon set:
5 different icon sets displayed for:
- green health level (statusg.icd)
- yellow (warning) health level (statusw.icd)
- red (alert) health level (statusb.icd)
- icons for network/remote drives (statusn.icd)
- generic icons without alert symbol (status.icd)

and each icon sets contain total of 17 icon files
(one icon for empty drive, 16 different icons displayed
for the corresponding drive usage level, eg.
1 = drive with minimal usage, 16 = drive is fully used).

Of course you do not need to send all of such icons
as it is possible to add the disk usage bar and/or the status
symbol to the images. However, if you have custom graphics
for that, you can send them also.
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

Hello again.
Actually, I've managed to replace the .icd files, what I reported earlier as failure had something to do with icon caching, and in reality, changing the .icd files does work.
I don't know why you feel the icons have to be packaged by you, maybe they do after all, but wouldn't it be simpler to just offer users an easy way to customise the icons by providing the icons and the overlays themselves, as .ico or .icl files?
I wouldn't have a problem sending you the icons, howevere the basic icon I am using is made by The Skins Factory, and it's part of the HyperDesk Star Trek TOS skin/theme. I have made modifications and added usage bars, but the main graphics are from HyperDesk. So I will have to ask them if they'd be ok with me distributing their icon. Oh, and one last thing: in your .icd files, the icons are 32x32 and 48x48 pixels. Is it possible to have bigger sizes as well?
Live long and prosper...
User avatar
hdsentinel
Site Admin
Posts: 3115
Joined: 2008.07.27. 17:00
Location: Hungary
Contact:

Re: Custom Icons

Post by hdsentinel »

Hello,

Thanks, I see.
To be honest, we had no 3rd party tools to build the ICD files, we used our custom utilities to make the icon libraries. I even did not know that it is possible with other software, that's why I offered that I'll build the ICD files.
Of course I can happily publish our original ICO files to help users to make custom icon sets, just this may require some information about the possible use of them.
If you have some time, it would be excellent if you can make a short tutorial / article about your work, describing the software/tools you used and the steps to build the icon library files. I'm sure this would help users to make their custom icons.

An "Add-ons" section will be launched soon with different information and 3rd party solutions provided by users of Hard Disk Sentinel.
It would be nice if your icon set and/or a such tutorial could be added to that section, I'm sure it would be very useful for users.

About the sizes: when designing the icon sets, compatibility was one of the most important question (even the Vista-style icon set works under Win98 (!) with HDSentinel). As I know, XP and older OSes may not support larger icons but if you prefer, you may create a custom set with bigger icons designed only for Vista/Win7.
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

Hello again.
Essentially, the icon libraries can be created using any icon-creating tool. I personally used Microangelo to make them. However, I am sure any other tool that can create .ICL files will do.
As for the tutorial, I could write something, but I don't know in what format you'd want it. In any case, it's a pretty straightforward process. I just got the .PNG file of the base icon I wanted to use, then opened PaintShop Pro and created the overlays, resized them to the appropriate size and just copy-pasted the overlays onto the .PNG which I had created from the .PNG in Microangelo. Then it was just a process of pasting and saving the icons. After I had created all the .ICO files, I created a new library with Microangelo and threw the icons in there, and saved it as .ICL and renamed to .ICD with some name.
I would like to have been able to use some "special" third-party tool, where I could just give it the base icon, the health status overlays and the capacity overlays, and have it automatically create the final libraries for me, since that would have saved me a lot of repetitive work, but even so, it's ok. Just a couple of hours' work.
Live long and prosper...
User avatar
hdsentinel
Site Admin
Posts: 3115
Joined: 2008.07.27. 17:00
Location: Hungary
Contact:

Re: Custom Icons

Post by hdsentinel »

Thanks for the details.
Any format would be fine (TXT, HTML, Word DOC, RTF, etc.), just it would be nice to write some steps about the requirements (eg. software, image sizes, formats you use) and add some screenshots. This may allow users to follow and create their own icon sets.

If you can also provide some sample images (your original ones and/or the completed ones) that may help.

These images may even help me to see the files you used and make a tool (as you suggested) and release it on the website to help automatic build of such icon libraries.
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

Hey, sorry it took me so long, but I've been busy... being lazy. :P
Anyway, actually, I went one step further and created something you might like.
Speaks for itself, no?
Speaks for itself, no?
icon_maker_004.jpg (73.11 KiB) Viewed 238344 times
So, all you need to do, basically, is create one base icon, one (series of) overlay icon(s) and one .ICL with the 17 capacity icons. Or, use another plain .ICO for capacity (only you'll have to manually repeat 17 times).
But you don't *need* both. All you need is the base icon and either a status icon and/or capacity icon or library.
Press "export" and you will have the resulting .ICL library (or one plain .ICO if the capacity was .ICO as well).
The only requirement is that all icons *must* include (at least) one corresponding icon for every icon size and bit-depth that the "base" icon includes.
The preview is live, meaning you can click on any icon size or icon entry (deriving from the capacity .ICL) and see what the composite image looks like.

How do you like that? ;)
Live long and prosper...
User avatar
hdsentinel
Site Admin
Posts: 3115
Joined: 2008.07.27. 17:00
Location: Hungary
Contact:

Re: Custom Icons

Post by hdsentinel »

Wow, this is amazing !! Seems very easy but extremely powerful :D

Is it possible to share this tool with users on this forum?
Thanks for your time and hard work on helping users to create custom icons ;)
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

Hi again... :)
I'm glad you like it, mate. Tell you the truth, I made it because I was much less bored coding in C# rather than repeating copy-paste for every library, every icon and every resolution. Besides, coding's fun and a good excercise, to keep the Windows programming muscles all strong. :P
So... yes, I will definitely share this with everyone else in here. Firstly, I wanted to see your reaction; I was thinking that, I don't know, maybe he doesn't want people messing with the icons. Then, there are one or two minor bugs (very minor) that I have to squash, before I release it. Should be finished in a day or two. Oh, I'm still using the trial, I hope there's no difference in the ICLs between the trial version and the others.
Oh, and one request: now that creating icon libraries is easy-peasy, would it be possible to have a different set of icons for the "system" drive, and also for the external (USB) drives? I know, it's just eye-candy, but... I like my icons to be different, what can I say! :D

Cheers!
Live long and prosper...
User avatar
hdsentinel
Site Admin
Posts: 3115
Joined: 2008.07.27. 17:00
Location: Hungary
Contact:

Re: Custom Icons

Post by hdsentinel »

Yes of course, this seems fantastic !!!

About using the trial: there should be no difference, but I just sent an e-mail ;)

Yes, it may be a great idea to have different icon set for USB drives to help identifying them. I'm checking to verify the possibilities but I suspect there should be no problems with that.
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

So... yeah, it's ready.
There are a couple of issues that I'm still working on, however it's not my code that's buggy, it's the icon library I'm using for the reading and writing of the icons. I'm looking into it as we speak.
Just a note: the programme will NOT create icons out of resizing others. You (the user) have to be able to create at least the basic icons, and they all will have to have all dimensions and colour depths that the base icon has. If the other icons have more dimensions/depths, it will be OK. However, the *base* icon is called *base* for a reason: it's setting the rules, so... the other icons can't have *less* dimensions/depths than the base.
I have included some simple icons in the .RAR file, so that you can get started. Don't worry, all icons in there are either free to use, or I made them myself. Especially the bar .ICL was a pain in the a$$...

Known bug: if an icon file has PNG-encoded icons inside, that are the same size but different colour depth, things will go wrong. The IconLib has a bug and sees all PNG-encoded icons as 32-bit, even when they're not. Avoid creating multiple PNG-encoded icons; in any case, Microsoft recommends using PNG encoding only for 256x256 icons, and personally I don't see the reason to have a 256x256 icon with 16 or 256 colours.

If you happen to find some other bug, please, do let me know.

Incidentally, I haven't received any e-mail. Where did you send it?
Attachments
IconLibMaker.rar
Unrar and enjoy!
(368.5 KiB) Downloaded 12227 times
Live long and prosper...
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

OK, here's the latest news:
Regarding the "bug" I mentioned earlier concerning the PNG-encoded icons, it's not a clear-cut bug, per se. It's more an omission, due to the lack of documentation, in the IconLib code. After spending a few hours comparing icon raw data with a hex editor, I reached a conclusion about the "bug". Actually, it's more of a "trick" that some icon creator software do. However, all icons in Windows files, only use PNG compression for 256x256 true-colour icons. There's no 256x256 icon with 256 or 16 colours, anywhere.
So, rather than spending a lot of time redesigning the IconLib library, in order to support that "trick" and PNG icons with low colour depths that nobody will ever use, I am just issuing a warning: don't do it.
The probability that you need PNG encoding AND low bit-depth is absolutely zero.
In a future version, I will add some code to check for those *rare* icon files and show a warning. I don't think that there's much point spending coding time for anything else.

EDIT: I forgot to say the obvious:
After creating your new composite icon with the programme, you save it as something.ICL in some directory. If you choose to create individual icons, you have to put them inside an ICL file, using some other software, like MicroAngelo, Icon Workshop, IconFX or such.
HDSentinel uses five icon libraries :
Status (and Vista_Status) for plain (unscanned) drives
Statusg (and Vista_Statusg) for drives which check out OK (g for "good")
Statusw (and Vista_Statusw) for drives which have minor problems (w for "warning")
Statusb (and Vista_Statusb) for drives that have a major problem (b for "bad")
Statusn (and Vista_Statusn) for network drives (n for "network")
[note: all HDSentinel libraries have an .ICD extension, NOT .ICL, however it's the same kind of files]
Each library contains (*must* contain) 17 icons, with icon #0 corresponding to the "empty" drive (0% used space) and icon #16 to the "full" drive (100% used).
So, basically what you have to do is to create (or "borrow") a basic icon for your drive, one icon with some sort of "green" sign showing that the drive is ok, one "yellow" sign and one "red" sign, and you *could* also make an icon for network drives, if you have any. Finally, one series of 17 icons (or use my sample) to have a bar/pie/gauge or some sort of indication about the usage of the drive.
After creating the .ICL files, you have to go to C:\Program Files\Hard Disk Sentinel\ (or Program Files (x86) if you're on 64-bit Windows) and replace the default icon libraries of HDSentinel with your own (backup the originals, just to be on the safe side), giving them the same name and the .ICD extension.
After replacing the files (which needs admin rights), you can go to the HDSentinel config, at "Disk control" and choose the icon set you just replaced.
Unfortunately, for the time being, HDSentinel doesn't support more than those two icon sets (plain and Vista_). I hope in the future, that will change, so that *replacing* icons won't be necessary.


Oh yeah... I still haven't received any e-mail... :roll:
Cheers!
Live long and prosper...
User avatar
hdsentinel
Site Admin
Posts: 3115
Joined: 2008.07.27. 17:00
Location: Hungary
Contact:

Re: Custom Icons

Post by hdsentinel »

Thanks for the very detailed and informative post about creating custom icon sets!
I'll try it myself and also check the possibilities to extend the functionality of the software (for example to show different icons for USB-drives and to check if there are other icon set(s) available and automatically add option to use them, without the need of changing/replacing the files).

I re-sent the e-mail some minutes ago to the e-mail address associated with your profile, hope this time you'll receive it ;)

If not or if you have other e-mail address, please drop me a message to info@hdsentinel.com . Thanks!
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

Hey, no problem.
The difficult part for me is to actually *start* writing; when I start, I can't stop! :P
Anyway, I would really like to see the option to use a different icon set for the system drive as well, like Windows does (the drive that Windows is installed on). Also USB or firewire or ESATA drives.
If you want, I can make a set for you. I can't guarantee it'll be "amazing", I'm not a graphic designer, I'm a physicist and hardware architect, but I think I can create something "nice".
Now, as to *how* you can make it possible for users to add their own icon sets... hmmm... Maybe add a "page" in the config, where you'll have three or four "areas"; one for the internal hard drives (def, good, bad, warning), one for USB/SATA/etc (def, good, bad, warning) and one for the "system" drive (def, good, bad, warning), each one with a "browse" button, so users can point to each file. On top, the option to save the "scheme" or load a different one.
I think I can make a quick "demo" in Visual Studio, if you want.

Anyway, that's all for now!
Cheers!
Live long and prosper...
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

So yeah... I'm on a roll. :P
Here's two ideas I had.
HDSconfig_sample_1.png
HDSconfig_sample_1.png (68.41 KiB) Viewed 238261 times
First one: tab-based and somewhat crowded. That was my first idea and, naturally, it's crowded, like all my *first* ideas.
HDSconfig_sample_2.png
HDSconfig_sample_2.png (36.77 KiB) Viewed 238261 times
Second: ok, I ripped off the "system sounds" from Windows. I confess. Much better, though.

Anyway, I tried to do it in as little space as possible, because I doubt you'll want to enlarge the "config" dialogue size. So, that's the best I could do with that space. I had some crazy ideas involving drop-down image lists and shit like that, but I tried to keep it as simple as possible.
Actually, the icon preview size in the second example could be bigger as well. Now it's a 100x100 pixel imagebox.

Let me know what you think, mate!
Cheers!
Live long and prosper...
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

Hello again!
Do we have any news for this feature?
You know, I also stumbled on another issue with Windows: they don't like non-standard icon sizes in ICL files (ICO files work perfectly). So I was wondering if, instead of ICL files, we could get the option of series of ICO files as well.
Anyway, I'll be waiting to hear from you!
Cheers!
Live long and prosper...
User avatar
hdsentinel
Site Admin
Posts: 3115
Joined: 2008.07.27. 17:00
Location: Hungary
Contact:

Re: Custom Icons

Post by hdsentinel »

Hello !

Do you mean the feature to display different icon set for USB hard disks?
Yes, it is planned - just there were no icon set created for this particular type of devices yet ;)
(excuse me, personally I had no time to investigate the tool you sent with more details and create nice icons.)

Thanks for the idea about using separate ICO files. This can be possible also of course.
I'm making a general method about how to add third party icons (in ICL or ICO file formats) and Hard Disk Sentinel will be able to load and use those images.
If you agree, I'll post it soon here.
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

Hello again! :)

Yes, I mean the feature to display different icons for USB (and please don't forget the System Drive too). If you want icon sets, I can create some, and post them here.

For the icon sets, I was thinking, you could make a specification where the ICO file names would have to be in the form of filename-xx.ico, where xx = 00 to 16.
I am thinking of making a small change in my programme too, so when you save as ICO, it will create 17 ICO files, with the number at the end of the file name (like before, filename-00.ico, filename-01.ico, filename-02.ico etc).
I was also thinking that you *may* want to use ZIP files to store the icon sets, instead of ICL. Like, a filename.zip which will contain all the filename-00.ico, filename-01.ico etc. Or, just a (sub)directory with the same name as the [filename].
Sorry if this is an extra burden for you, but I hate Windows (well, user32.dll and its SHDefExtractIcon method, which only likes certain icon sizes, like 256x256, 64x64, but NOT 128x128 or 96x96 etc).

If you need any help, beta testing for those functions, ideas or anything, just drop me a mail. ;)
Thank you again, for all the effort!
Live long and prosper...
User avatar
skagon
Posts: 15
Joined: 2011.02.18. 04:41
Location: Athens
Contact:

Re: Custom Icons

Post by skagon »

OK, here's the updated version which can save icons as multiple ICO files. ;)
Any news on the rest, mate?
Attachments
IconLibMaker 2.rar
Checkbox added... enjoy!
(367.91 KiB) Downloaded 10685 times
Live long and prosper...
User avatar
hdsentinel
Site Admin
Posts: 3115
Joined: 2008.07.27. 17:00
Location: Hungary
Contact:

Re: Custom Icons

Post by hdsentinel »

Thanks for the updated version !
Sorry for the delay. I'll soon send you an e-mail to discuss and finalise the "standard" way to use the icon sets / files in the future versions ;)
Post Reply