Better icons and look needed YES it is

Here you can propose new features, make suggestions etc.

Moderators: Hacker, petermad, Stefan2, white

hakapes
Junior Member
Junior Member
Posts: 5
Joined: 2011-11-27, 20:33 UTC

Post by *hakapes »

I would appreciate an option during install, which offers "Old School Look" with the tratdional TC icons, and "Windows 7 look", which uses icons and colours similar to Windows 7.

Thanks!
AndrewCreator
Member
Member
Posts: 122
Joined: 2011-10-10, 23:25 UTC

Post by *AndrewCreator »

I have thought a little on this problem and have tried to summarize and suggest solution.

1. wincmd.ini option UseOsIcons=1 with 0 as defaut value.
2. If UseOsIcons is 1 then TC tries to use default OS icons.
3. How TC finds default OS icons
3.1. It might be Windows function getSystemFolderIcon or similar.
3.2. If not then TC can detect OS version and read the mapping from ini file.

[Windows 5.0]
01_Folder32.ico=shell32.dll,100
[Windows 6.1]
01_Folder32.ico=shell32.dll,200

3.3. If corresponding section is not found in ini file then default TC or IconLib icons are used.
4. Similar approach can be used for UseOsFonts.

What is your opinion on the suggested solution?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 49232
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Is there a way to get the default OS folder icon in OPEN state, e.g. for the tree, or when the user double clicks on a folder? Btw, there is no "getSystemFolderIcon" function, but SHGetFileInfo with parameter SHGFI_USEFILEATTRIBUTES gets the default icons (closed state).
Author of Total Commander
https://www.ghisler.com
User avatar
Lefteous
Power Member
Power Member
Posts: 9536
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

uFlags (last param in SHGetFileInfo):


SHGFI_OPENICON (0x000000002)

Modify SHGFI_ICON, causing the function to retrieve the file's open icon. Also used to modify SHGFI_SYSICONINDEX, causing the function to return the handle to the system image list that contains the file's small open icon. A container object displays an open icon to indicate that the container is open. The SHGFI_ICON and/or SHGFI_SYSICONINDEX flag must also be set.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 49232
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ah, thanks! There is just one problem: When the system has been configured to show larger than 16x16 pixel icons in the systray, SHGetFileInfo will return icons scaled to that ugly size, even when using SHGFI_SHELLICONSIZE.
Author of Total Commander
https://www.ghisler.com
Sob
Power Member
Power Member
Posts: 945
Joined: 2005-01-19, 17:33 UTC

Post by *Sob »

I'm not really convinced that adding lone settings like UseOsIcons and UseOsFonts is the right way to go, not mentioning them being disabled by default. Instead (and it's only very rough and not yet really well thought-out idea), I'd try to wrap the whole customization and come out with some kind of "theme packs". Those could contain various things like icons, fonts, colors, but also settings like file selection style (Windows vs. TC right mouse), etc... Basically any ini settings should not be a problem. And when selected, those settings would be applied to main ini file (I'm taking the backward compatibility partially into consideration here).

I think the major concern should be with new users, because they will go away and never come back if they are not happy (*1). So if these "theme packs" existed, TC could contain more than one by default (at least two for "traditional TC" and "default Windows" settings and look) and the selection could be presented to new users on first run (instead of full and scary configuration dialog). They would immediately see that TC can both fit with OS and be customized, i.e. everyone can be happy.

In fact, UseOsIcons and UseOsFonts would be completely unnecessary. E.g. with fonts it would only require to change the meaning of missing font settings (and it wouldn't even hurt backward compatibility). Now when there aren't any (with clean ini, e.g. on the first run), TC just assumes 8px bold Microsoft Sans Serif (*2). Instead of that, the new default would be to use system UI font. And basically the same for icons, no settings would mean to use system ones.

--
(*1) Existing users who really want OS icons/fonts/etc can find a way, although extracting all the icons and creating icls is not exactly user-friendly, so it could be improved. It would be really great if referencing icons could be changed to use standard ini file and <path to icon>,<index> notation.

(*2) If there is total number of N people who didn't give TC a chance because of how it looks, I'm pretty sure that for 2/3 of N the main reason was bold Microsoft Sans Serif. ;)
AndrewCreator
Member
Member
Posts: 122
Joined: 2011-10-10, 23:25 UTC

Post by *AndrewCreator »

Sob, it seems there is at least one use case when UseOsIcons approach is better than themes approach. I am speaking about portable TC installation. Even if you prepare the theme with OS icons and fonts if will look unbecoming on the other OS. Fine dress help to impress.

PS I agree with assertion about 2/3 of N because I was of those who did not give TC a chance first time.
Sob
Power Member
Power Member
Posts: 945
Joined: 2005-01-19, 17:33 UTC

Post by *Sob »

Well... no. :) Maybe I didn't describe it clearly enough or the name theme is a little misleading. Perhaps settings template describe it better, but it doesn't sound very attractive for regular user.

There would be no need for UseOsIcons, because this behaviour would be enabled by default. If user didn't specify to use any other icons (either manually or by applying the theme pack), then TC would assume that he wants standard system ones. And the same with fonts, no specific font selected would mean to use the one set in system. So portable TC would work just great.

And for those who do not like system icons, no problem. TC's current icons would of course be bundled as one of default theme packs. There's only one tiny little problem - all those users who use default icons now (those in TC, no custom IconLib or DriveLib) would get the new default, i.e. system icons after upgrade. And with old ini kept, they would not get the welcome screen automatically to select the right theme. On the other hand, when TC replaced the original dated icons with current ones, it didn't ask me either if I like it. So I'd take it as same kind of thing. :)
AndrewCreator
Member
Member
Posts: 122
Joined: 2011-10-10, 23:25 UTC

Post by *AndrewCreator »

Oh, such suggestion looks pretty nice. It is almost the same I was speaking about, just technical part is different.
User avatar
Lefteous
Power Member
Power Member
Posts: 9536
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2ghisler(Author)
There is just one problem: When the system has been configured to show larger than 16x16 pixel icons in the systray, SHGetFileInfo will return icons scaled to that ugly size, even when using SHGFI_SHELLICONSIZE.
Use the SHGFI_ICONLOCATION flag to get the icon file name and index and do the extracting the way you need it.
sekular
Member
Member
Posts: 104
Joined: 2009-07-02, 19:39 UTC

Post by *sekular »

The default look does not bother me as I change it, I and many other people were not deterred by the look. I do think for some new users it has the potential to put people off. I have introduced it to a few friends over the years and i find I get a better reception to the software when i show them my configuration.

I would suggest maybe making the default configuration slightly different. But that would be subjective. This would be one example.

-set the quick search to letters only
-uncheck show button bar.
-uncheck show drive combo box.
-uncheck show folder tabs.
-uncheck show command line.
-show drive buttons flat and two drive button bars.
User avatar
Lefteous
Power Member
Power Member
Posts: 9536
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2ghisler(Author)
As you have shown interest in implementation detail I'd like to ask you what your plans are regarding this suggestion.
I would really appreciate if you could display Windows icons by default. Will you consider it for TC 8.1?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 49232
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Yes, I have added it to my to do list for TC 8.1. It shouldn't be too difficult to add.
Author of Total Commander
https://www.ghisler.com
tosbsas
Senior Member
Senior Member
Posts: 428
Joined: 2003-12-19, 13:12 UTC
Location: Lima, Perú
Contact:

Post by *tosbsas »

cool, that's great
A New Generation transformed by the Power of God
AndrewCreator
Member
Member
Posts: 122
Joined: 2011-10-10, 23:25 UTC

Post by *AndrewCreator »

Really nice! Thank you!
Post Reply