Skip to content

mucommander/mucommander

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

muCommander

Version License Build Status Coverity Scan Gitter

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

Contribution

There are several ways to contribute to muCommander:

  • Found a bug or thinking about a useful feature that is missing? File an issue
  • Want to fix a bug or implement a feature? We are using the standard GitHub flow: fork, make the changes, and submit a pull request. Changes are merged to the master branch. See the next section for tips for developing muCommander.
  • If you happen to speak a language that muCommander is not available in or able to improve existing translations, you can help translate the interface using the zanata platform.

If you want to get involved in muCommander or have any question or issue to discuss, you are more than welcome to join our rooms on Gitter.

Development

Prerequisites

  • Java Development Kit (JDK) 11 or later
  • Git

Forks and pull requests

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.

Code Editing

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.

How to Run

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 run

It is recommended to run the following command when getting an unclear compilation error:

./gradlew clean run

How to Debug

In order to debug muCommander, you first need to configure a port using an environment variable named DEBUG (e.g., 5005). Then, you can run a debugger that connects to this port using your favorite IDE (see an example for doing this with IntelliJ).

Packaging

The creation of a DMG file for MAC OS (produced in build/distributions):

./gradlew dmg

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 createExe

The creation of a TGZ file for Linux/Unix (produced in build/distributions):

./gradlew tgz

The creation of an RPM file:

./gradlew rpm

More packaging options are described in our wiki.