Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Builtin Icons for Tablacus #198

Closed
duarteframos opened this issue Sep 19, 2020 · 12 comments
Closed

Builtin Icons for Tablacus #198

duarteframos opened this issue Sep 19, 2020 · 12 comments

Comments

@duarteframos
Copy link
Contributor

duarteframos commented Sep 19, 2020

Goals

This is a design task for upcoming icons for Tablacus Explorer, containing bespoke icons for toolbars and general UI use.

As discussed in a report about missing icons Tablacus appears to currently rely on Windows default builtin ieframe.dll library for icons, since these are "safe bet" icons available on all supported operating systems.
We are at Microsoft mercy, when icons get removed or things change it breaks stuff for TE. leading to problems like in TE not showing built-in icons.
It also forces us to use Windows XP era icons with a nineties visual style giving Tablacus dated visuals and aging appearance despite being a state of the art modern file manager.

I would like to volunteer my free time to contribute a small icon library to be bundled with TE download, covering at least basic needs for icons in the toolbars. This is issue serves to track progress and asses the needs and technical requirements for an icon library.

Overview

Gaku, Tablacus author proposes, we tackle this issue with icon packs.
An Icon pack will be a discrete self contained optional package which can be installed or removed by a user. It will use a structure and mechanism for management similar to what addons currently use.

Format

Individual icons will be in .PNG file format, with varying sizes between 48px or 96px.
You can set it to any number in config.json.

Structure

An icon pack will use a folder structure as below

┣ icons
┃ ┣ config.json
┃ ┗ preview.png (Optional)
┃
┣ general (Optional)
┃ ┣ 0.png
┃ ┣ 1.png
┃ ┣    :
┃
┣ browser (Optional)
┃ ┣ 0.png
┃ ┣ 2.png
┃ ┣    :
┃
┣ shell32 (Optional)
┃ ┣ 0.png
┃ ┣ 11.png
┃ ┣    :
┃

config.json

{
  "info": {
    "name": {
      "en": "Flat icons"
    },
    "descprition": {
      "en": "Flat icons set"
    },
    "creator": {
      "en": "Gaku"
    },
    "license": "MIT License",
    "URL": "http://tablacus.github.io/TablacusExplorerAddons/"
  },
  "icons": {
    "general": {
      "size": 48,
      "max": 20
    },
    "browser": {
      "size": 48,
      "max": 10
    },
    "shell32": {
      "size": 48,
      "max": 30
    }
  }
}
  • URL is optional.
  • Size is the size of the icon
  • Max is the number of the last icon

Scope

General icons

image

bitmap:ieframe.dll,216,16,4icons\general\4.png
bitmap:ieframe.dll,214,24,4icons\general\4.png

Browser Icons

image

bitmap:ieframe.dll,206,16,18icons\browser\18.png
bitmap:ieframe.dll,204,24,18icons\browser\18.png

Shell32 Icons

image

icon:shell32.dll,12icons\shell32\12.png

  • You only need to prepare the icons you want to replace.
  • The default icon will be used for the missing parts.
  • The icon size should be around

###Preview
The preview.png will appear on the download list page to help the user choose an icon set.

@duarteframos
Copy link
Contributor Author

@tablacus as discussed in tablacus/TablacusExplorer#327 I opened this issue to help keep track of things, hope it is alright.

Standing questions:

  1. Do the needed icons cover the basic needs of Tablacus, or did I miss any essential ones?
  2. Do you want them in actual .ICO format or are individual PNG files sufficient.
  3. What sizes 16,32,256?
  4. Which visual style would you prefer?

On a side note, this could come in handy for the introduction of the upcoming Tablacus Blink project. with a matching makeover for the more or less invisible backstage changes in render engine.
Would you care for a matching new Tablacus Logo/Application Icon?

@tablacus
Copy link
Owner

tablacus commented Sep 19, 2020

I want to make it easy to choose and install like add-ons.

Draft

Let's use png.

Folders and files

┣ icons
┃ ┣ config.json
┃ ┗ preview.png (Optional)
┃
┣ general (Optional)
┃ ┣ 0.png
┃ ┣ 1.png
┃ ┣    :
┃
┣ browser (Optional)
┃ ┣ 0.png
┃ ┣ 2.png
┃ ┣    :
┃
┣ shell32 (Optional)
┃ ┣ 0.png
┃ ┣ 11.png
┃ ┣    :
┃
…………………

config.json

{
  "info": {
    "name": {
      "en": "Flat icons"
    },
    "descprition": {
      "en": "Flat icons set"
    },
    "creator": {
      "en": "Gaku"
    },
    "license": "MIT License",
    "URL": "http://tablacus.github.io/TablacusExplorerAddons/"
  },
  "icons": {
    "general": {
      "size": 48,
      "max": 20
    },
    "browser": {
      "size": 48,
      "max": 10
    },
    "shell32": {
      "size": 48,
      "max": 30
    }
  }
}

URL is optional.
size is the size of the icon
max is the number of the last icon

General icons

image

bitmap:ieframe.dll,216,16,4 → icons\general\4.png
bitmap:ieframe.dll,214,24,4 → icons\general\4.png

Browser icons

image

bitmap:ieframe.dll,206,16,18 → icons\browser\18.png
bitmap:ieframe.dll,204,24,18 → icons\browser\18.png

shell32 icons

image

icon:shell32.dll,12 → icons\shell32\12.png

You only need to prepare the icons you want to replace.
The default icon will be used for the missing parts.
The icon size should be around 48px or 96px, but you can set it to any number in config.json.

The preview.png will appear on the download list page to help the user choose an icon set.

Best regards,

@duarteframos
Copy link
Contributor Author

Hey you have this pretty well thought out already, that is great.

So as I understand it this would be the folder structure of a single self contained icon pack, that would be distributed/installed as an add-on, correct?
All this would be inside one single parent folder for each individual icon pack, like say Tablacus Default, right?

Will there be a separate mechanism for installing icon packs or will they be mixed with regular add-ons? If mixed may be set a naming scheme for icon packs like prefixing all names with Icon Pack *** to make them easier to find.

I'll be working on this in my free time as schedule permits, so I won't be claiming any quick results, but I expect to be able to think about it a bit during next week, so I hope to be posting some results.

@tablacus
Copy link
Owner

I'm thinking of creating an optional download page as an icon pack separate from the add-on.

image

p.s.
What size of the preview image looks good?

Regards,

@duarteframos
Copy link
Contributor Author

A separate UI for skins/icon packs seems reasonable, it will make it easier to organize.
In that should this be placed in a separate repository? Something like say https://github.com/tablacus/TablacusExplorerIconPacks

Then we would have a folder for each icon pack like https://github.com/tablacus/TablacusExplorerIconPacks /tree/master/tablacusdefault each with a structure as below inside, am I right?

tablacusdefault
┣ icons
┃ ┣ config.json
┃ ┗ preview.png (Optional)
┃
┣ general (Optional)
┃ ┣ 0.png
┃ ┣ 1.png
┃ ┣    :
┃
┣ browser (Optional)
┃ ┣ 0.png
┃ ┣ 2.png
┃ ┣    :
┃
┣ shell32 (Optional)
┃ ┣ 0.png
┃ ┣ 11.png
┃ ┣    :

@duarteframos
Copy link
Contributor Author

duarteframos commented Sep 19, 2020

p.s.
What size of the preview image looks good?

The "General" category, containing the more common icons, and being what is seen by most frequently and presented by default on a standard installation of TE would constitute a fairly representative case for previewing an icon pack.

It appears to have 48 icons in it, arrayed in four lines at 24px size with a 4 pixel spacing this gives an image of exactly 680 x 232 px.

Preview

I'd say we could make previews either 680 x 232px or double that at 1360 x 464px so one could present by default at native 680 x 232px or half of that in the iconpack installation UI; with the possibility to enlarge on hover/click of the thumbnail in a web/gallery UI.

What do you think, is this too big or does it fit?

I've updated the task description above

@tablacus
Copy link
Owner

I have made an icon pack repository.
https://github.com/tablacus/TablacusExplorerIconPacks

Here's an image of my icon packs download page in Tablacus Explorer.

   
image Icon pack Name
Creator

Desccprition
…………
…………

image
image Icon pack2 Name
Creator2

Desccprition2
…………
…………

image
image Icon pack3 Name
Creator3

Desccprition3
…………
…………

image

Regards,

@tablacus
Copy link
Owner

I have adjusted the folder structure.

https://github.com/tablacus/TablacusExplorerIconPacks

Regards,

@duarteframos
Copy link
Contributor Author

Download page looks sleek, nice one.
New folder structure makes more sense indeed.
Can it accommodate custom folders like say "Misc" or "Others" for custom icons not part of default Microsoft libraries?

@duarteframos
Copy link
Contributor Author

duarteframos commented Sep 20, 2020

The config.json should probably have a version field too, so we can freely iterate and improve packs and users can easily keep track and update old versions.

@tablacus
Copy link
Owner

According to the planned specifications, folders other than general and browser will replace the dll icon in C:\windows\system32.
It doesn't matter if you don't have the original dll, so give it a name you like.

I have added version to the config.json spec.
https://github.com/tablacus/TablacusExplorerIconPacks

Regards,

@duarteframos
Copy link
Contributor Author

Discussion can continue at https://github.com/tablacus/TablacusExplorerIconPacks/issues this can be closed for now I think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants