summaryrefslogtreecommitdiffstats
path: root/README.md
blob: ccf20ac1f633463abe7232c729219917c27554cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# joshuto

[ranger](https://github.com/ranger/ranger)-like terminal file manager written in Rust.
Currently a work in progress.

## Will be migrating to [tui-rs](https://github.com/fdehau/tui-rs) in the near future. Until then, no new development will be happening
#### Progress:
 - implement multithreaded input (Done)
 - use characters/words rather than keycodes for config (Partial)
   - shift does not currently work with special keys (ie. Shift+Tab)
 - migrate to use tui gui (No work)
 - rework command system (No work)

![Alt text](joshuto_screenshot.png?raw=true "joshuto")

## Dependencies
 - ncurses
 - [cargo](https://github.com/rust-lang/cargo/) >= 0.32.0
 - [rustc](https://www.rust-lang.org/) >= 1.32.0

Also see [Cargo.toml](https://github.com/kamiyaa/joshuto/blob/master/Cargo.toml)

## Building
```
~$ cargo build
```

## Installation
#### For single user
```
~$ cargo install --path=. --force
```
#### System wide
```
~# cargo install --path=. --force --root=/usr/local     # /usr also works
```

## Usage
```
~ $ joshuto
```

## Configuration
Place config files inside `$XDG_CONFIG_HOME/joshuto` (usually `$HOME/.config/joshuto/` for GNU/Linux).

Joshuto can currently be configured using the following files:
#### [joshuto.toml](https://github.com/kamiyaa/joshuto/blob/master/config/joshuto.toml)
 - general configurations

#### [keymap.toml](https://github.com/kamiyaa/joshuto/blob/master/config/keymap.toml)
 - for keybindings, please take a look at [keymap.rs](https://github.com/kamiyaa/joshuto/blob/master/src/config/keymap.rs#L102) for non-printable keys
 - for commands, please take a look at commands/[mod.rs](https://github.com/kamiyaa/joshuto/blob/master/src/commands/mod.rs#L73) for available commands

#### [mimetype.toml](https://github.com/kamiyaa/joshuto/blob/master/config/mimetype.toml)
 - for opening files with applications

#### [theme.toml](https://github.com/kamiyaa/joshuto/blob/master/config/theme.toml)
 - color customizations


## Contributing
Please create a pull request :)

## Features/Bugs
Please create an issue :)

## TODOs
 - [ ] Migrate to [tui-rs](https://github.com/fdehau/tui-rs)
 - [x] Tab support
 - [x] Ctrl/Shift/Alt support
 - [ ] Asynch File IO (cut/copy/paste/delete/rename) (in progress)
 - [ ] Built-in command line (in progress)
 - [ ] File previews (in progress)
 - [ ] Tab autocomplete (in progress)
 - [ ] Bulk rename