A lightweight, cross-platform file manager with a dual-pane interface
A lightweight, cross-platform file manager with a dual-pane interface
muCommander is a lightweight, cross-platform file manager with a dual-pane interface. It runs on any operating system with Java support (macOS, Windows, Linux, *BSD, Solaris...).
Official website: https://www.mucommander.com
There are several ways to contribute to muCommander:
If you want to get involved in muCommander or have any question or issue to discuss, you are more than welcome to join GitHub Discussions.
If you would like to contribute code, it is required to fork the repository and submit a pull request. Within pull requests, it is possible to review, discuss, and improve the changes until they are ready for production.
After cloning the source code repository from GitHub, you would probably want to import the project to an Integrated Development Environment (IDE) such as Eclipse or IntelliJ.
The code repository of muCommander is comprised of a main project that contains its core functionality and several sub-projects. These projects are Gradle projects. Most of the popular IDEs today allow you to import Gradle projects out-of-the-box or via an IDE plugin. By importing the main project that is located at the root directory of the repository you will get all the required code in the IDE.
The use of the Gradle wrapper significantly simplifies the build from the command line. The following commands can be invoked from the root directory of the repository with no further installation.
You can run the application by typing:
./gradlew runIt is recommended to run the following command when getting an unclear compilation error, or to be sure running the just modified code:
./gradlew clean runYou can also run directly from within you IDE by executing gradlew run task.
In order to debug muCommander, you need to add -Pdebug=PORT_NUMBER while running muComander. To control whether you want suspend JVM or not, please use -Psuspend=n|y parameter (suspend=y is a default).
Example of running muCommander in debug mode:
./gradlew run -Pdebug=5005 -Psuspend=nThen, you can run a debugger that connects to this port using your favorite IDE (see an example for doing this with IntelliJ).
The creation of a DMG file for macOS (produced in build/distributions):
./gradlew clean dmg -PskipDmgSign -Parch=[x86_64|aarch64]Note: as the application is not signed, the following error may appear when trying to start it on macOS: "muCommander damaged and cannot be opened".
This can be solved by executing: sudo xattr -r -d com.apple.quarantine /Applications/muCommander.app
The creation of an EXE file for Windows (produced in build/launch4j):
./gradlew clean createExeThe creation of TGZ distribution for Linux/Unix (produced in build/distributions):
./gradlew clean tgzThe creation of RPM distribution for Red Hat Linux flavors:
./gradlew clean rpmThe creation of DEB distribution for Debian Linux flavors:
./gradlew clean debMore packaging options are described in our wiki.
No open issues yet, or sync has not completed.