Skip to content

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

Iconic logo

Todo 📝

These are ideas I want to implement.

  • Add features
    • Update to gnome 48 runtime
    • 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
    • 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
    • Improve about window (example eyedropper)
  • Use CHANGELOG.md
  • Move donation link to About iconic (issue #8)
  • Make donation link just point to a random charity
  • Improve accessibility
    • Find accessibility issues in the app, and adress them
  • Set up CI/CD Pipeline
  • Apply for gnome circle
  • Create tests
    • It has now happened several times, that I release an update and it turns out a feature of the app is completely broken. That is not acceptable
  • Clean up code
    • Reduce unwraps
    • 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 are taken from

Code of Conduct

This app follows the Gnome Code of Conduct

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

Contributors 8