The features of this applet haven't been properly planned yet. This applet will however be one of the most ambitious and most important applets within LaunchMenu, so we want to make sure we do things right.
We do know the overall goal and have some vague planning: allow users to fully control a file manager from within LaunchMenu.
This should include the features covered below.
The user should be able to step through directories just like one does in a regular file explorer such as the one on windows.
All common file operations should be present, such as:
There should be several types of supprted searches:
We will have to do some proper planning to try and keep these searches relatively efficient, since they will search through a lot of data at once. We would like to suport some regex like search system, where the folder hierarchy can be tested too. In addition it would be nice to try and keep this search system flexible and extensible through other applets too.
Most file formats should have a dedicated preview associated to them. Some research was already done in how to create a preview for microsoft excel and powerpoint files. This preview would automatically show up when the file menu item is selected in the menu.
We want to make sure that other applets are able to interact with the file manager applet through an interface. This interface will probably be released as a dedicated package, in order to allow for creation of other implementations of the file-manager that still interact well with other applets.
This way any applet can request the user to select a file by using the file-manager applet, amongst other things.
Other applets should also be able to extend the behavior of the file-manager, including the following aspects:
We want to add support for files in a special format, which contain JavaScript or TypeScript to be read by the file-manager, and interpreted as an applet itself. This will probably be a dedicated special purpose applet format, rather than the general format, but allow for some simplistic way of making interactable content files.