Code Monkey home page Code Monkey logo

Comments (4)

shundhammer avatar shundhammer commented on May 24, 2024

This sounds very interesting. Some quick answers right away:

  • I thought that it was pointless to carry on with the treemap layout algorithm once the first tiles smaller than MinTileSize started appearing: IIRC the algorithm iterates over a list of FileInfo items that are sorted by size. Are really larger tiles appearing again in that same hierarchy level? Why?

    I would very much welcome less empty grey space in the treemap, though, if that does not become a performance killer.

  • Yes, the config dialog has a real live treemap. It's crudely made, it uses random numbers for random sizes of FileInfo items that become treemap tiles, and the number of tiles on each hierarchy level is also random. But it doesn't only look real, it is real. You can even click and select tiles, and you can zoom in and out with the mouse wheel. It's a real standalone TreemapView with its own randomly generated DirTree full of FileInfo items. It does not have a SelectionModel or anything like that; why would it? It's just to show what it would look like instantly if you change the colors. That part is already overengineered like hell; no need to add even more bells and whistles.

  • Introducing threads for building the treemap? Yikes. No way. QDirStat was never designed as a multi-threaded application; there is nothing in it to ensure thread safety. Threads would mean introducing mutexes everywhere for safe concurrent access. Not doing that would be an accident waiting to happen. Or, more likely, a ton of accidents.

    And for building the treemap, of all things? Why? That is so quick that it happens faster than I can move my mouse scroll wheel. That's a solution (which isn't even a solution because of thread safety and mutexes) in search of a problem. Sorry, no.

OK, that's the quick answers for now. There is more to come.

from qdirstat.

shundhammer avatar shundhammer commented on May 24, 2024

Upcoming Release and Stabilization

I mentioned this before, but I'd like to point it out again: I plan to release a new official stable version QDirStat-1.9 in the very near future. So my primary goal right now is to stabilize the code, do some more small bugfixes (like the initial selection and the selection after a cleanup action which typically removes the currently selected item), user documentation like that #236, change log. I already updated most of the screenshots in the screenshots/ subdirectory, and there will be release notes to write.

I am acting main developer, tester, project manager, product manager, release manager, public relations guy, bug tracker contact person, and bug fixer in this project which is mostly a one-man show. And while I like the development part, the other stuff I do out of sheer necessity.

New Feature: Bookmarks

I have one more feature that I think will be useful (I personally missed it while trying to really clean up my home directory that the big fat Internet browsers keep polluting with cruft with every mouse click): Bookmarks. You may have seen the huha-bookmarks branch.

It's still heavily work in progress. There is now a new toggle button at the left of the Breadcrumbs widget (the clickable path) where you can add a directory to the bookmarks list. That list will go to a subdirectory of the "Go" menu, so you can go quickly through directories that keep filling up with tons of stuff that the browser wants to cache.

The file will be kept as plain text in ~/.config/QDirStat/bookmarks.txt so it will be very easy to turn it into a shell script, or to write a script that uses it to, say, iterate over all those directories and clear their content.

While I feel that this will be useful, I'll only know it when I used it for some time. If I am not convinced that it actually is useful, I might decide not to merge it to master.

from qdirstat.

Lithopsian avatar Lithopsian commented on May 24, 2024

OK, just a quick safe win then. If you change the signs of lightX and lightY in TreemapView.h (or the calculation with them in TreemapTile.cpp), it will move the lighting direction from below and slightly right to above and slightly left. The top left corner of the treemap, which is currently too dark, will get brighter. Obviously, some tiles towards the bottom right will get darker, but the overall effect is better.

The published paper shows (and describes) lighting from above and slightly right, but I think their formulae apply with y increasing upwards as per mathematical graphs, not downwards as on a computer screen. Anyway, it is trivial to try out the different lighting directions and see which you like best.

from qdirstat.

shundhammer avatar shundhammer commented on May 24, 2024

Yes, that's a subtle, but definitive improvement. Thank you!

from qdirstat.

Related Issues (20)

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.