Open MggMuggins opened 7 years ago
Thanks for your suggestion!
I don't think this is very popular feature. Path buttons are there for users to be able to open any folder inside a path (by middle clicking) without need to have all folders opened. IMO, "Miller columns" are untidy.
Also see https://github.com/lxde/pcmanfm-qt/issues/459#issuecomment-286690235.
You are very welcome to make PR's for LXQt, in general, and for pcmanfm-qt, in particular. We'll surely need your programming skills :)
Miller Columns are useful. It's navigation by just a single click, not a fight between going forth and back and forth and… And it's a feature I miss since I've migrated 5-6 years ago from Mac. At that time Dolphin had it and then dropped shortly after my migration.
It's navigation by just a single click, not a fight between going forth and back and forth
Haven't you used path buttons?
They're fine, but no Millers. With Miller, say in Home, by just a click you're in Documents, by another click you're in Downloads, by another click back in Documents again and so on. Without Millers, you need to go back and forth (many clicks) no matter what you use. In other words, Millers makes all the folders in current directory (consecutively) behave as if they're bookmarks.
OK. I understand.
If I correctly remember, Dolphin removed it because its code wasn't "maintainable"according to KDE devs.
Anyway, it seems we should wait a long time until pcmanfm-qt is restructured.
Millers don't seem to fit very well with tabbed navigation. Tabs aren't something I tend to use anyway, since you have to skip between and you can't easily drag files around. @AcarBurak, how much programming experience have you got? I'd like to try and work on a FileManger to have millers, but my skills are not yet at a level where I can conceivably build that kind of application on my own. You can see some examples of some of my programming on my Github, if you'd like.
@MggMuggins, sadly none.
Yes, I've forgotten the ease with which one can also drag&drop anything anywhere with Millers.
If I'm wrong about its popularity, I could work on it but: (1) It isn't a good time now, as mentioned above (see the link); and (2) Split view has priority over this, IMO.
I could work on it
Brilliant!
If I'm wrong about its popularity
That may be due to its nonexistance. Besides, such a feature would make pcman a unique fm, usefully unique.
@AcarBurak I work with Dolphin for a while (under KDE) and use the kind of DND that you mentioned with its split view. Since I know about Miller columns only theoretically, I'm curious to know what important advantages it may have over the split view. Do you know of any?
As I've tried to explain before, let's say you're in Home:
Desktop Documents Downloads Music Pictures Public Templates Videos
By just a single click, you're in, say, Desktop, but at the same time the other folders are there too like so:
Desktop...........File1 ........................File2 Documents Downloads Music Pictures Public Templates Videos
Obviously the files will be shown in a new column, not like above. You surely know the true representation: https://i.stack.imgur.com/NBkm1.jpg
That is, you don't have to go back to Home and click Downloads to get there. Just click Downloads while the folders in Desktop in front of you.
Desktop Documents Downloads.......Down1 ........................Down2 ........................Down3 Music Pictures Public Templates Videos
This also makes, as mentioned by MggMuggins, copying and moving things around easier as well.
It's like having the bookmarks functionality in the main view as well. Now, Bookmarks (on the left side pane) makes navigating easier, right? You click one of them and you're there and you click another one you're there. Yet Millers are better as you can't drag&drop anything to Bookmarks on the side pane for instance.
Does that make sense?
It's very useful for visualizing the file tree and being able to move things around. In my opinion, a split view is only useful in a networking situation (think FileZilla) where you have your local machine on one side and the remote host on the other. Usually I would use two windows to simulate the dual-pane approach, and be able to see the whole file tree. It's also useful for quickly and easily changing your purpose for a window. I hope that all makes sense...
I would use two windows to simulate the dual-pane approach
So would I. Otherwise I would be forced to use the fm always with double width (in a split view capable fm).
I've just seen that pantheon-files uses Millers, but I can't contaminate my system with GTK cruft! You may try it, @tsujan.
@MggMuggins, @AcarBurak Thanks! After reading your comments, I'm convinced that it's a nice feature. I may try pantheon-files to get familiar with it.
Right, have found that qt5 app with Millers: http://tuxdiary.com/2015/10/12/dfilemanager/
It has an AUR if you're on Arch: https://aur.archlinux.org/packages/dfilemanager-git/
I played with pantheon-files just for a few minutes and should say Miller columns are impressive. It's one of those features that are addictive. I wonder why it's so rare!
@AcarBurak, thank you for the dfilemanager link! I don't know how good it is (it seems very good at first glance) but dfilemanager is definitely a source of inspiration.
Glad to hear that.
This is getting more and more exciting to me! dfilemanager has room for improvements but it not only has features not found in other Linux FM's but can also be a great source of inspiration for Qt programmers. Let's have a screenshot of its Miller columns:
Pantheon-file is also a decent FM.
I happily admit I was a fool thinking Dolphin and PCManFM-Qt were even beginning to exhaust possibilities in FM ;)
dfilemanager … but can also be a great source of inspiration for Qt programmers.
Out of curiosity, could you elaborate a bit?
Out of curiosity, could you elaborate a bit?
(1) It seems to have no dependency on either KDE or GLib; (2) Its Miller code may be fixed and used elsewhere; (3) I like it's "cover flow" and will look into its code; (4) It's just a few minutes that I started to play with it; don't know what I might find later ;)
Well well well! I wonder if all this results with a new fm, better than anything else?! Or a SuperPCManFM-Qt?
I wonder if all this results with a new fm...
For now, I have a feeling that its code is promising; so I'll study it.
My experience with Pantheon was that it was rather limited in what it could do and the miller columns did not work as well as I would have liked. I am not going to try that DFM now because of a lot of issues with it's dependencies, but I may give it a shot at a later time. It looks promising. What I really like about PCManFM is it's speed and resource cost. It's by far the lightest FM I've worked with, and probably works the best too. After installing this port, I like it even better because the gui isn't so rough. :P I'd love to see a columns view incorporated into this program, since I like so many other things about it.
While fixing bugs in DFM (there are many), I also took a look at its column code. It seems to me that its implementation for pcmanfm-qt needs fundamental changes. Such a work can't be started until @PCMan's project for making libfm-qt independent from libfm is complete, the current PR's are changed accordingly, and enough tests are done. That may take a long time, of which I have no estimation.
So instead of incorporating some DFM features into pcman, do you think it's easier/desirable/reasonable to incorporate some pcman features (mainly custom actions, I guess) into DFM?
So instead of incorporating some DFM features into pcman, do you think it's easier/desirable/reasonable to incorporate some pcman features (mainly custom actions, I guess) into DFM?
I work on DFM mostly for fun. IMO, pcmanfm-qt will be the best if it's made independent from libfm. The lack of Miller columns isn't a serious drawback and might be fixed later.
What does libfm do? I'd be more interested in adding DFM functionality into PCManFM instead of the other way around, for some of the reasons I stated above. DFM seems to have a lot of backend behind-the-scenes stuff that would really slow things down, although I have no actual way to gauge this. What is it about the column code that doesn't seem compatible?
What does libfm do?
libfm is the core library that does the job of file management. There are some bugs that can be fixed only by using GLib in libfm-qt directly and that's the plan.
I'd be more interested in adding DFM functionality into PCManFM instead of the other way around
No one said that. DFM is not for use; it's rather an interesting experiment. This site is only about pcmanfm-qt.
What is it about the column code that doesn't seem compatible?
See "folderview.cpp" in libfm-qt's source.
I meant adding some of the functionality that DFM has to PCManFM.
I meant adding some of the functionality that DFM has to PCManFM.
I know. I tried to explain why that couldn't be done in the near future.
Some features of DFM are specific to it, some aren't. Its "cover flow" is very nice but doesn't seem suitable for a light FM like pcmanfm-qt. I also like the way it only uses Qt for file management but pcmanfm-qt is far more advanced in that regard because it uses GLib. Perhaps its "Recent folders" pane could also be implemented in pcmanfm-qt. "Inline renaming" is a good feature too... All in all, nothing can be done before the fundamental change I mentioned above.
A few things I'd like: Inline Renaming Miller Columns (Duh...) And things I don't: Recent Folders Cover Flow
Any feature that might be added will be optional. LXQt tries not to enforce new features.
I too find Cover Flow and Recent Folders, at best, unnecessary! Though an option to retain previous state (tabs, window) like spacefm would be fine.
Please open new issues for features other that Miller columns. An issue about "inline renaming" should be already opened.
I did some looking and a search for an issue for inline renaming and couldn't find anything. Mind if I open one?
Open it! If an older one is found later, the "duplicate" flag could be added.
Just wanted to say that I haven't forgotten this. pcmanfm-qt/libfm-qt needed lots of fixes and elementary features but now, I think it's good to focus on this and see if it's possible without a radical change to the current code. How difficult or easy it might be, I have no estimation yet; will report back here if there's a progress.
Not intending to raise hopes at all, I did some dirty and elementary work:
The big obstacle is that both libfm-qt and pcmanfm-qt are tuned to a single list-view. For example, there's only one launcher per tab and, "worse" than that, the mere existence of tabs means single folders under them (and because of that, all panes of the above screenshot show one and the same folder -- I just cheated and moved the scrollbars). Therefore, it isn't possible to add a "column view" without radical and backward-incompatible changes -- and the same would be true for a split view.
Although I like this challenge, I'm not sure I could find time for it because the amount of the required work seems enormous ;) So, no promise.
How do you mean launcher? Could you post the code that is being used for that in a gist (or repo) someplace so I can take a look?
FileLauncher is the class that opens files/folders (see libfm-qt → filelauncher.cpp). It was just one example in my comment. Everything is tuned to a single list-view. Filtering and searching are two other examples.
I didn't say it's impossible to add a "Column View"; I said it's impossible without radical and backward-incompatible changes. Consider the example of inline renaming. Of course, it needed several changes but the job was done inside the current code structure -- I did it in an hour. That isn't the case with "Column View"; it needs a lot of time....
To see how the code structure could affect such things, take a look at dfilemanager → columnview.cpp
. Implementing a column view is a piece of cake there but dfilemanager is far behind pcmanfm-qt in other respects -- actually, its code structure dictates that too.
Update:
We have a split view now but it doesn't make adding of Miller columns easier. Not only lots of code should have been added before the split view became possible, but also a change in the code structure was needed. Moreover, several problems showed up after that and were fixed one by one.
With that experience, I have no incentive to work on Miller Columns (for now). So, this might remain open indefinitely unless another programmer does something about it.
Miller Columns are useful. It's navigation by just a single click, not a fight between going forth and back and forth and… And it's a feature I miss since I've migrated 5-6 years ago from Mac. At that time Dolphin had it and then dropped shortly after my migration.
check ranger, is CLI, but great!
Thanks,
https://github.com/lxqt/pcmanfm-qt/issues/465#issuecomment-291277019
… pantheon-files uses Millers, …
https://github.com/lxqt/pcmanfm-qt/issues/465#issuecomment-291281367
… qt5 app with Millers: http://tuxdiary.com/2015/10/12/dfilemanager …
https://web.archive.org/web/20210116024026/http://tuxdiary.com/2015/10/12/dfilemanager/
As far as I can tell, neither DFileManager nor Pantheon Files is ported.
Graphical file manager utilizing Miller Columns | The FreeBSD Forums
@grahamperrin This is pcmanfm-qt's bug tracker. Please don't use it for other purposes.
The tree view does basically the same thing. It is just limited to directories, while Miller Columns display both files and directories. If jumping directly to or drag&drop to any directory in some parent directory of the current view is the main reason for this feature, the tree view does the trick.
So I'd been using PCManFM for a while, and thought I'd download this, to see what the differences are, and I fell in love with it immediately. It has all the features I like about PCManFM, with a, if I may say, nicer-looking UI. For a while now, I've been wanting a file manager for linux that has a feature called Miller Columns. There is a wikipedia article on them, and they are a central feature of OSX's Finder. I only found one FM that had miller columns for linux, and hated it, so I was wondering how much work it would be to implement them in this one. I have a scrap or two of programming experience, and would be willing to help out (I might fork and try anyway...), but It would be nice to get an "official" viewpoint on things. Thanks, ~Sam