A free, extensible, cross-platform file manager for power users
Clone or download
matthew-matvei Activate dev tools only in development (#31)
* electron-debug only required when application in development
* Opening in development can be overridden with command-line arg
Latest commit 9bcae26 Jul 8, 2018
Permalink
Failed to load latest commit information.
.github Check accessibility before opening directory (#20) Jun 10, 2018
.vscode Integrated terminal syncs with navigation (#14) Mar 24, 2018
app Refactored xterm and avoided CDN Feb 17, 2018
build FreeMAN has an icon Feb 28, 2018
docs Added code meta documentation [skip ci] Mar 12, 2018
icons FreeMAN has an icon Feb 28, 2018
resources Preserve dimensions across sessions (#24) Jun 23, 2018
src Activate dev tools only in development (#31) Jul 8, 2018
test Activate dev tools only in development (#31) Jul 8, 2018
typings Add extra columns (#12) Mar 24, 2018
.eslintrc Initial config and rules Nov 11, 2017
.gitignore Added code meta documentation [skip ci] Mar 12, 2018
.markdownlint.json Added documents to encourage contributors. Updated simple dependencies. Mar 11, 2018
.travis.yml Added encrypted GH_TOKEN Mar 4, 2018
LICENSE Initial commit Nov 11, 2017
README.md Provide methods of showing version number (#15) Mar 25, 2018
appveyor.yml Provide methods of showing version number (#15) Mar 25, 2018
package-lock.json Activate dev tools only in development (#31) Jul 8, 2018
package.json Activate dev tools only in development (#31) Jul 8, 2018
tsconfig.json Cleaned up with tslint Jan 20, 2018
tslint.json Provide methods of showing version number (#15) Mar 25, 2018
webpack.common.js Updated dependencies Apr 7, 2018
webpack.prod.js Updated dependencies Apr 7, 2018
webpack.test.js Provide methods of showing version number (#15) Mar 25, 2018

README.md

FreeMAN

Travis-CI build status AppVeyor build status Dependencies Dev Dependencies Maintainability First contributions welcome

A free, extensible, cross-platform file manager for power users


FreeMAN with open integrated terminal

Features

  • Quick, clean, dual-paned file-system navigation with a strong keyboard-led focus
  • Integrated terminal per navigation pane for those things a file explorer just can't do
  • Focus on customisability to tailor it to the user's whims
  • Quick navigation with a Go To box

Future

  • Tighter integration between navigation and integrated terminals
  • Further behaviour to be customisable
  • Extending usefulness of the Go To and Commands boxes

Roadmap

  • Core application ready for beta use
  • Out-of-the-box plugins ready for beta use
  • Core application ready for production use
  • Out-of-the-box plugins ready for production use

The core application is ready for beta use, supporting Linux and Windows OS's. Feel free to set up electron-builder for MacOS and make a PR.

Getting started

npm install
npm start

If you want, you can add user-specific settings files, e.g. freeman.keys.json like so:

touch {userData}/freeman.keys.json

{userData} above refers to Electron's app.getPath("userData") location, (which depends on whether the application is running in a development or production environment). Example files can be found in the ./resources/ folder.

Packaging

If you would like to package / install the program, on Windows and Linux you can:

npm run package

Then run the appropriate built executable.

Running

During development, after compiling you can:

npm run start

After packaging, you can run the system-dependent executable outputted by electron-builder in the ./dist/ folder.

Developing

An overview of the codebase can be found in the docs. If you find it helpful, you can npm run docs and open the generated docs/generated/index.html file. Please let me know if you find this useful.

Debugging

Providing the --verbose or -V command-line argument will make the application log in more detail, helping trace execution when using the packaged app. Logs of warnings and errors can be found at {appData}/log.log.

How to contribute

Contributions are welcome! Work on the core application is still under way. There are numerous areas with room for improvement in usability and stability. My priorities for development are currently:

  • Core functionality
  • Plugin functionality (starting with out-of-the-box ones)
  • Appearance

I'll take whatever pull requests, issues, contributors and PMs I can get! Please have a look at the Contributing Guidelines before submitting a PR.