blob: 0184169085f8acd3a7e508f668f2eaf9ecb4d334 (
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# joc - Jellyfin on Console
joc is a lightweight terminal client to your Jellyfin media server. joc has
a sleek curses interface and offers many of the same features as your other favorite
terminal programs including: Vim-like keybindings, keystroke combination actions,
user input bar, configurable color scheme, and more.
## Installation
### Dependencies
Install the following dependencies. The following are the package names
on Debian derivatives. If you are using a different distro the package names
may be slightly different.
- python3-mpv
- python3-urwid
- python3-urllib3
- python3-certifi
- python3-websocket
- python3-requests
- python3-six
```
git clone https://git.chudnick.com/joc
cd joc
sudo make install
```
## Configuration
You'll need to do some basic configuration to get joc talking to your Jellyfin
server. You can copy the example `config.ini` to the configuration directory at
`~/.config/joc` to begin.
At the minimum, you'll need to change the
`server`, `username`, and `password` options to fit your environment. `server` is
the url for your jellyfin server and `username` and `password` are the credentials
for an account on the server. Instead of storing a plaintext password in the config
file you may want to instead use the `passcmd` setting which allows you to specify
a command to run to get the password instead.
The `verify_tls` option determines whether joc will verify the Jellyfin server's
certificate. `0` tells joc not to verify the certificate while `1` tells joc to
verify and drop the connection if the certificate is invalid. If you are accessing
a public Jellyfin instance it is highly recommended to set this to `1`, but for
internal servers you will probably need to set this to `0`.
## Usage
Simply run `joc` from your terminal or application launcher after doing the basic
configuration.
## Modes
Like Vim, joc contains a number of different modes
- `Main` - Main mode is where you will spend most of your time. In this mode
the Jellyfin library is displayed as a folder structure and watched
items are highlighted.
- `Favorites` - The same as main mode but favorites are highlighted instead.
- `Search` - Search mode displays the results of a search. Search mode does not
have a folder structure like main and favorites mode.
- `Info` - Shows additonal information about a selected item
## Keybindings
- `l` - Move into a folder
- `j` - Scroll up through a list of items
- `k` - Scroll down through a list of items
- `h` - Move out of a folder and back up the folder structure
- `g` - Go to the top item
- `G` - Go to the bottom item
- `Enter` - Play the currently highlighted item
- `i` - View more information about an item
- `:` - Enter input mode to provide a command
- `/` - Search for a provided term (shorcut for `:search `)
- `q` - Quit a non-standard mode
- `Q` - Quit the program
## Keystroke Combinations
- `mw` - Mark item as watched
- `uw` - Mark item as not watched
- `mf` - Mark item as favorite
- `uf` - Mark item as not a favorite
- `sf` - Toggle favorites mode
- `sm` - Toggle main mode
## Limitations
The Jellyfin API does not currently provide a method to update the playback progress
for an item so as of now joc cannot sync the progress with the Jellyfin server. joc
uses a local sqlite database to store this information instead. Other information
user data such as watched status and favorites are synced with the server.
|