Skip to content
/ Iconic Public

An application made for GNOME written in Rust to easilly add images on top of folders

License

Notifications You must be signed in to change notification settings

youpie/Iconic

Repository files navigation

logo

Iconic 📁

Iconic lets you easily add images on top of a folder icon. It is mostly meant for Gnome. This application is my first attempt at creating an application using Rust and Libadwaita.

Get it on Flathub

afbeelding

Todo 📝

These are ideas I want to implement.

  • Add features
    • Add threading
      • Loading dragged images
      • Making images monochrome
        • Monochrome images get recreated every time the preview is updated. Slows down quite a lot on slower systems, i could also
        • Just not recreate monochrome images every preview update
    • Export to SVG
      • This would probably require a full rewrite of the image generation system. Using cairo or something, but I originally didn't use cairo as I did not understand it, and good examples were really scarse
    • Rounded corner option for top image
    • Add guide grid or something
    • Multiple folder colors
      • according to gnome 47 accent color?
        • SVG manipulation?
        • Or just packing the images in with iconic
      • Option in settings
    • Regenerate all (d&d'ed) images automatically
      • This way its possible to regenerate all images, when for example the accent color changes (I assume if the image that nautulus has set as folder image is changed but filename stays the same, it will change in nautulis)
      • Save dragged images with metadata about top layer
      • Store all used top layer images in cache
        • This will use a lot of cache size, so
        • Allow users to turn it off (opt-in/-out on first launch?)
        • Inform users
        • Do not store too large images
      • Detect current accent color
    • Create guide when first starting iconic, to show users dragging and dropping images is possible
    • Refer users to icon library, so they know where to find many good icons
  • Update main app to gnome 47 runtime
  • Add credits for applications I used to learn in the "about iconic"
  • Move donation link to About iconic (issue #8)
  • Make donation link just point to a random charity
  • Improve accessibility
  • Clean up code
    • I feel like a lot of code is not up to "standards" like rust conventions and stuff, So I need to do some research into that.
  • Add comments
    • I struggled a lot learning it all, So adding comments, especially at points I got stuck, might help other devs also wanting to learn
  • Reduce file size
    • I the app is about 17 mb's, way to much for such a simple app imo. I might use a lot of large libs (Like cairo) only for a single purpose, so possibly that could be improved.

Contributing 🤝

This program is mostly meant as practise for me so I want to solve most problems by myself. So the best will be to create an issue if you encounter any. If you want to create a merge request. That is off course totally fine, but please try not to fundamentally change how it works and clearly explain what you did and how it works 😁

Running the app 🏃

If you want to run the app:

  1. Clone the repo
  2. Open it in gnome-builder
  3. Start the application by pressing ctrl+shift+escape

Credits 🫂

Wow documentation is really hard to understand so I used few programs as inspiration and to learn how everything works, so massive shout-out to:

Icon credits

The icon is just a few already existing icons added together, the following are used:

Folder credits

The folders/colors used in Iconic (Except the pink one as I like my own one better) are taken from

About

An application made for GNOME written in Rust to easilly add images on top of folders

Resources

License

Stars

Watchers

Forks

Packages

No packages published