Comments (4)
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 ofFileInfo
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 standaloneTreemapView
with its own randomly generatedDirTree
full ofFileInfo
items. It does not have aSelectionModel
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.
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.
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.
Yes, that's a subtle, but definitive improvement. Thank you!
from qdirstat.
Related Issues (20)
- Add official Flatpak support HOT 1
- Unreasonably high RAM usage HOT 26
- Improve `%filemanager` macro, to allow focusing the file-in-question HOT 2
- Monitoring RPM Database Performance
- New Feature: Find Files HOT 1
- Squarified cushion shading isn't correct HOT 9
- The squarified tile layout doesn't match the original published paper HOT 8
- Treemap wheel zoom doesn't work when a tree is first built HOT 4
- Hard links are reported multiple times at their full allocated size HOT 8
- Status bar text isn't updated when zooming with the mouse wheel HOT 1
- Packaged files are reported as unpackaged HOT 2
- add support for compressed files HOT 5
- terminate called after throwing an instance of 'BadMagicNumberException' HOT 26
- File details panel doesn't show correct data when opened HOT 1
- Extending selection selects wrong items HOT 2
- Selected empty directories don't get the correct highlight HOT 5
- Treemap Improvements HOT 1
- Mime category config page glitches HOT 1
- Way to follow symlink? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qdirstat.