zhanghai / MaterialFiles

Material Design file manager for Android
https://play.google.com/store/apps/details?id=me.zhanghai.android.files
GNU General Public License v3.0
5.76k stars 384 forks source link

Support multi-panel #181

Open linsui opened 4 years ago

linsui commented 4 years ago

Thanks for this grear file manager!

Multi windows has been supported, could you also support multi panels? Thanks again!

Nemris commented 4 years ago

I second this suggestion. This app is already promising as-is, but power users would surely appreciate more features in "Total Commander" style, especially considering this app's excellent UX.

zhanghai commented 4 years ago

I considered multi-panel during initial design, but chose multi-window over multi-panel in the end. The primary reason was that apps should try to use what the OS provides instead of inventing their own, and by implementing multi-window:

On the other hand, implementing multi-panel takes up more UI space (there's no space for tabs because of breadcrumb navigation), might affect the overall design, and requires complication into the already complicated UI code, so I just didn't go that way.

linsui commented 4 years ago

Thanks for you reply. If you decide not to support multi-panel, it's fine, thanks any way. If you're considering multi-panel, tabs is not necessary, an indicator is enough, just like Amaze file manager.

zhanghai commented 4 years ago

Yes indicator style could work, and maybe also a setting to disable it so people who don't need it can hide the indicators. I'll keep this open, just that this feature isn't scheduled in the near feature.

Nemris commented 4 years ago

Another case where multi-panel would be an advantage is when the display of a device is too small to allow someone to work comfortably in split-screen mode, as too few files would be displayed.

vimpostor commented 4 years ago

I looked up this repo just to propose this same feature request, but after having read your explanation that using the OS features everywhere possible is better, I agree with this sentiment. After trying out the native nav bar swipe to switch "panels", I actually prefer this native window implementation after all over the custom pane implementation in Amaze File Manager.

Anyway, just wanted to write that I really appreciate you properly considering UI proposals.

P.S.: The navbar swipe is already possible on Android 9, it's just not that polished.

ccboxes commented 4 years ago

Yes indicator style could work, and maybe also a setting to disable it so people who don't need it can hide the indicators. I'll keep this open, just that this feature isn't scheduled in the near feature.

既然指示器不在近期规划,请问是否可以在近期将新建窗口选项移到右下角的浮动菜单内?目前的窗口模式在新建窗口时需要两步,手指也需要移动到屏幕最上方,对于全面屏十分不友好。

trymeouteh commented 4 years ago

I would like a tab system of some kind

Nemris commented 3 years ago

@zhanghai On Samsung One UI 3.1, based on Android 11, it doesn't appear to be possible to launch two instances of the same app side by side, effectively rendering multi-window unusable.

linsui commented 3 years ago

Can't you create a new window from the app menu? It still works on LineageOS 18.1.

Nemris commented 3 years ago

I can, but the Samsung workflow seems to still require me to manually pick an app from a list if I want to use split-screen.

Having two instances of the app in the Recents and switching back and forth is possible, but not as practical.

linsui commented 3 years ago

Split screen works in LineageOS. Looks like it's Samsung's feature...

dmuiX commented 2 years ago

The function new window kind of works at least for me as this feature. Great thanks a lot

ZeusOfTheCrows commented 2 months ago

i'd like to throw another vote in for tabs; given the arguments against in this thread (and 256):

Users can simply have different windows side-by-side with split screen

split screen is a hassle to trigger in newer versions of android - it's not just long-press recents like it used to be. multi-pane would be (e.g.) menusplit panes, the current system is menunew windowrecentsapp iconsplit screenselect other window, which is many more steps

it also can't be used in conjunction with another app, like so

In Q they can also simply swipe on the navigation bar to quickly go to the adjacent window, much like multi-panel.

a) some of us still use 3-button nav*

b) it's still a hassle when dealing with two folders and a second app, say a gallery app for managing photos. one would have to keep going into the recents app to choose the 3rd app

plus, mixplorer does this great thing where when you have two tabs open in dual-pane, swiping to the next one moves them over by half a screen (i.e. one pane), which is impossible with android's split-screen

Tab isn't very possible because the space for it is used for breadcrumbs. (src)

i have a 21:9 phone - i would welcome the option to waste a little vertical space for added functionality

plus, the could be very small (see image of mixplorer above - tabs plus breadcrumbs plus two bottom toolbars), especially if using mixplorer's "swipe right on last tab to open a new tab"

*i'm aware double tab recents works, but it's clunkier than swiping between tabs inside the app

zhanghai commented 2 months ago

After all these years, I do have a plan to introduce Chrome-like tab management when I have the time to rewrite this app in Compose. I've added a Compose Multi-Platform project skeleton in the next branch, however of course it takes much much more time to actually do the re-write. (And my day job got much busier recent years.)

(The other reasons for the re-write incldue my dissatisfaction with the maintainability of current UI code, and myself wishing to use this app on the web like filebrowser/filebrowser.)

So, no plan right now, but I'm open to it now and it might evetually come.

ZeusOfTheCrows commented 2 months ago

that's great news! thank you

i do recommend looking at how mixplorer handles them, as (in my opinion) it's almost perfect*

holding an item in the sidebar opens it in a new tab, and swiping left from the rightmost tab opens a new one. dual-pane mode is effectively the same, but with two tabs simultaneously (for some reason my phone refuses to show touch in the recording)

options in tab dropdown

relevant options in settings

*i just wish there was an gesture for closing, but they do close when the app is closed