Coder Social home page Coder Social logo

darksworm / imgsel-x11 Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 4.22 MB

GUI image selection tool for X11, discontinued, now working on qt version here https://github.com/darksworm/imgsel-qt

License: GNU General Public License v3.0

CMake 8.89% C++ 90.10% C 1.00%

imgsel-x11's People

Contributors

darksworm avatar

Watchers

 avatar

imgsel-x11's Issues

Handle file changes

Currently we load the file list only once. We should be able to handle missing files.

Goal: when a file gets deleted or moved, the app doesn't crash when trying to load/draw it.

If its not too cumbersome, maybe we can handle renamed files too.

CLI arguments

  • target image size
  • max image size
  • Rows, columns
  • Image resize mode (scale, crop, etc.) (scale by default to max image size)
  • initial input mode
  • image filenames should be passed as a list (bash glob) instead of as a glob string
  • image cache size

Cache only n images

To purge the cache, keep only n (defined in CLI params) images in memory at a time. When we load the n+1th image, remove oldest image.

dem visuals

  • Center titles
  • set title max length

nice-to-have:

  • fancier selection box?
  • marquee on selected item title (if its too long to fit)
  • a font that doesn't suck

Item indexes are broken

When in navigation mode; moving causes crashes because the indexes are fucked.

type: UP, canmove: 1 oldIdx: -1620727809 newIdx: -1620727813 

proper amount of images per screen

This requires some thought.

Do we take the image size as a parameter and then resize everything to fit?

Do we try to make a fancy collage like thing? This would hurt navigation

Implement nazi compiler options

I keep making stupid mistakes... A nazi is required to enforce some rules.

Ex.: missing return statements in methods with a return type.

Memory management cleanup

As I'm raw as fuck in C++, I've probably ignored best memory management practices & have created some memory leaks in the code as well.

  • Make sure everything that needs to be freed is freed (smart pointers?, delete?)
  • Special: check that all XLib & other external library items are freed (XFree, etc)
  • Do memory leak testing, patch holes

Remove the page indicators

Having a fixed amount of bubbles is confusing, so lets just not show anything.

I can probably show which page you're currently on, but not how many pages there are in filter mode.

Cache images

Don't reload images on every new frame, instead keep them cached until their page is destroyed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.