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

Language-specific file browser icons #803

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

tthaumaturgist
Copy link

Issue or RFC

[Feature Request] Different File Type Icon #727

Description of the Change

Adding the following resources for language-specific file icons for C++, C#, JavaScript, Less, and Ruby:

  • .ico files for Windows containing icons in 16x16, 20x20, 24x24, 32x32, 48x48, 64x64, 96x96, 128x128, and 256x256
  • .iconset batches for center images and background fill for macos 11+ (16x16, 16x16@2x, 32x32, 32x32@2x, 128x128, 128x128@2x, 256x256, 256x256@2x for language-specific center images; 16x16, 16x16@2x, 32x32, 32x32@2x, 128x128, 128x128@2x, 256x256, 256x256@2x, 512x512, 512x512@2x for universal background image)
  • .icns files for legacy macos implementation in 16x16, 16x16@2x, 32x32, 32x32@2x, 128x128, 128x128@2x, 256x256, 256x256@2x, 512x512, 512x512@2x
  • Assorted png files of components and full icon images in case they are needed for implementation purposes
  • Original project files and SVG copies

Icons for other languages will be added in the future. (Python and Rust are next, I promise.)

Two things that this change does not include:

  • Actual code for implementation of making these the icons used when Pulsar is the registered file handler for an affected file type
  • Specific files in the 'linux' folder; I'm not sure whether files would need to be built by someone with a Linux distro available to them.

Alternate Designs

  • An alternate design could use the Pulsar logo in badge form rather than masked to the background, but this would be more difficult to implement on macos.
  • The icons could be set up with uniform designs rather than size-dependent designs, but icon files are intended to handle size-dependent designs.
  • The language icons could be stylized in a uniform way rather than having the natural design variance between logos, but it's generally best to make only strictly necessary modifications to logos when they're being used in their nominative capacity.
  • The Windows and Mac icons could be given identical designs; the minor differences between them are because of their differing design guidelines and because the Mac icons have to leave space for system-placed text at the bottom.

Possible Drawbacks

  • Having a lot of image files or bulky project files packaged with the program could end up bloating the overall program file size.

Verification Process

I've visually previewed the files at all sizes, and I've used regedit to manually assign a file type to the various .ico files so I could check whether they were switching designs at size-appropriate points. I don't have any implementation code to test.

Release Notes

none, icon files aren't user-facing on their own

First batch of language-specific file browser icons (C++, C#, JavaScript, Less, Ruby) for Windows and Mac (not sure which format to use for Linux yet).
@confused-Techie
Copy link
Member

Thanks a ton for getting this together!

I don't have the time at this moment to fully review, but a cursory look shows this is already looking amazing!

As for anyone unfamiliar with this activity, the reason this PR doesn't contain any implementation details, is because I've already agreed to work on that aspect as needed. Again, thanks a ton for contributing @tthaumaturgist!

Copy link
Member

@confused-Techie confused-Techie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As #815 is taking a very long time to find how to make it work on other platforms, plus now there's talk about an overhaul about how we implement the functionality, I'd personally vote that we merge this contributors fantastic work and figure out the other steps later.

The resources here are outside any currently managed folders, so the files will not end up in any built Pulsar binaries until we instruct it too, so there's no harm in adding these in without a clear purpose just yet, except maybe a larger codebase overall.

@pulsar-edit/core just to make sure nobody has an issue with this, otherwise I'll go ahead and get this merged while I still work on how we handle iconography on the filesystem level

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

Successfully merging this pull request may close these issues.

2 participants