rtfm-filemanager 7.3.6 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/docs/faq.md ADDED
@@ -0,0 +1,436 @@
1
+ # RTFM Frequently Asked Questions
2
+
3
+ Quick answers to common questions.
4
+
5
+ ## General
6
+
7
+ ### What does RTFM stand for?
8
+
9
+ **Ruby Terminal File Manager**
10
+
11
+ (Not the other thing... well, maybe also that if you need to Read The Fine Manual!)
12
+
13
+ ### Is RTFM better than ranger?
14
+
15
+ **Different, not better.**
16
+
17
+ - **RTFM**: More features, SSH browsing, undo system, AI integration, trash bin
18
+ - **Ranger**: More mature, better documentation, larger community, cleaner design
19
+
20
+ Choose based on your needs. See [RTFM vs Ranger comparison](../README.md#rtfm-vs-ranger).
21
+
22
+ ### Can I use RTFM on Windows?
23
+
24
+ **Limited support.**
25
+
26
+ Core functionality works on Windows, but:
27
+ - ✗ No image display
28
+ - ✗ No w3m/xdotool features
29
+ - ✓ File operations work
30
+ - ✓ Remote SSH works
31
+
32
+ **Recommended:** Use WSL (Windows Subsystem for Linux) for full features.
33
+
34
+ ### Does RTFM work on macOS?
35
+
36
+ **Yes!** Fully supported.
37
+
38
+ Install with:
39
+ ```bash
40
+ brew install ruby imagemagick w3m bat pandoc
41
+ gem install rtfm-filemanager
42
+ ```
43
+
44
+ ### What terminals work best?
45
+
46
+ **Best image support:**
47
+ - urxvt (w3m protocol) - Perfect
48
+ - xterm (Sixel protocol) - Perfect
49
+ - mlterm (Sixel protocol) - Perfect
50
+ - Eterm (w3m protocol) - Perfect
51
+
52
+ **Good:**
53
+ - kitty (w3m with brief flash)
54
+ - foot (Sixel)
55
+ - alacritty (no persistent images)
56
+
57
+ ## Installation & Setup
58
+
59
+ ### Do I need to install dependencies manually?
60
+
61
+ **Core:** No, gems auto-install (rcurses, termpix)
62
+
63
+ **Optional features:** Yes, install as needed:
64
+ - ImageMagick (images)
65
+ - bat (syntax highlighting)
66
+ - pandoc (markdown)
67
+ - fzf (fuzzy find)
68
+
69
+ See [Installation Guide](getting-started.md#installation).
70
+
71
+ ### How do I update RTFM?
72
+
73
+ ```bash
74
+ gem update rtfm-filemanager
75
+ ```
76
+
77
+ This also updates dependencies (rcurses, termpix).
78
+
79
+ ### Can I install from source?
80
+
81
+ **Yes:**
82
+ ```bash
83
+ git clone https://github.com/isene/RTFM
84
+ cd RTFM
85
+ gem install rcurses termpix
86
+ sudo cp bin/rtfm /usr/bin/
87
+ ```
88
+
89
+ ### Where are config files stored?
90
+
91
+ ```
92
+ ~/.rtfm/
93
+ ├── conf # Main configuration
94
+ ├── trash/ # Deleted items (if trash enabled)
95
+ ├── bootsnap-cache/ # Performance cache
96
+ └── plugins/
97
+ ├── preview.rb # Custom preview handlers
98
+ └── keys.rb # Custom key bindings
99
+ ```
100
+
101
+ ## Features
102
+
103
+ ### How do I enable the trash bin?
104
+
105
+ **In RTFM:** Press `Ctrl-d` to toggle
106
+
107
+ **In config:**
108
+ ```ruby
109
+ # ~/.rtfm/conf
110
+ @trash = true
111
+ ```
112
+
113
+ **Restore deleted items:** Press `U` (undo)
114
+
115
+ **Empty trash:** Press `D`
116
+
117
+ ### Can I undo file operations?
118
+
119
+ **Yes!** Press `U` to undo:
120
+ - Delete (from trash)
121
+ - Move
122
+ - Rename
123
+ - Copy
124
+ - Symlink
125
+ - Bulk rename
126
+ - Permission changes
127
+ - Ownership changes
128
+
129
+ **Cannot undo:**
130
+ - Permanent deletion (trash disabled)
131
+ - Failed operations
132
+
133
+ ### How do I use the AI features?
134
+
135
+ **Setup:**
136
+ 1. Get OpenAI API key: https://platform.openai.com/api-keys
137
+ 2. Add to config:
138
+ ```ruby
139
+ @ai = "sk-your-api-key-here"
140
+ ```
141
+ 3. Install gem: `gem install ruby-openai`
142
+
143
+ **Usage:**
144
+ - Press `I` on file for AI description
145
+ - Press `Ctrl-a` for AI chat
146
+
147
+ ### Does RTFM support tabs?
148
+
149
+ **Yes!** Enhanced tab system:
150
+ - `]` - New tab
151
+ - `[` - Close tab
152
+ - `J/K` - Switch tabs
153
+ - `}` - Duplicate tab
154
+ - `{` - Rename tab
155
+ - `1-9` - Jump to tab number
156
+
157
+ ### Can I browse remote servers?
158
+
159
+ **Absolutely!** Press `Ctrl-e`:
160
+
161
+ ```
162
+ user@server.com:/path/to/directory
163
+ ```
164
+
165
+ Then:
166
+ - `d` - Download files
167
+ - `u` - Upload files
168
+ - `s` - Open SSH shell
169
+
170
+ See [Remote Browsing Guide](remote-browsing.md).
171
+
172
+ ### How do I copy images to clipboard?
173
+
174
+ **Press `Ctrl-y` when viewing an image.**
175
+
176
+ Then paste into:
177
+ - GIMP
178
+ - Inkscape
179
+ - Image editors
180
+ - Browsers
181
+
182
+ Works with PNG, JPEG, GIF, BMP, WebP.
183
+
184
+ ### Can I customize key bindings?
185
+
186
+ **Yes!** Edit `~/.rtfm/plugins/keys.rb`:
187
+
188
+ ```ruby
189
+ KEYMAP['X'] = :my_custom_action
190
+
191
+ def my_custom_action(_chr)
192
+ @pB.say("Custom action!")
193
+ end
194
+ ```
195
+
196
+ See [Plugin Guide](plugins.md).
197
+
198
+ ## Usage
199
+
200
+ ### How do I exit to current directory?
201
+
202
+ **Use the `r` command** (set up automatically on first run).
203
+
204
+ Workflow:
205
+ ```bash
206
+ r # Launch RTFM
207
+ # Navigate to ~/Documents/projects
208
+ q # Quit
209
+ pwd # Now in ~/Documents/projects
210
+ ```
211
+
212
+ ### How do I copy multiple files?
213
+
214
+ 1. Tag files: Press `t` on each file
215
+ 2. Navigate to destination
216
+ 3. Press `p` to copy
217
+
218
+ **Or:** Tag with pattern:
219
+ - `Ctrl-t` then `*.txt` (tag all .txt files)
220
+
221
+ ### How do I rename multiple files?
222
+
223
+ 1. Tag files with `t`
224
+ 2. Press `E` (bulk rename)
225
+ 3. Enter pattern:
226
+ - `s/old/new/` - Replace text
227
+ - `PREFIX_#` - Add prefix with numbers
228
+ - `upper` / `lower` - Change case
229
+
230
+ ### How do I change permissions on multiple files?
231
+
232
+ 1. Tag files with `t`
233
+ 2. Press `Ctrl-p`
234
+ 3. Enter permissions:
235
+ - `755`
236
+ - `rwxr-xr-x`
237
+ - `+x` (add execute)
238
+ - `-w` (remove write)
239
+
240
+ **v7.2+ Note:** Only tagged files affected (not selected unless tagged)
241
+
242
+ ### What's the difference between `p` and `P`?
243
+
244
+ - `p` - **Copy** tagged items (original stays)
245
+ - `P` - **Move** tagged items (original removed)
246
+
247
+ Both preserve selection after operation (v7.2+).
248
+
249
+ ### How do I preview without opening?
250
+
251
+ Files auto-preview in right pane when selected.
252
+
253
+ **Toggle preview:** Press `-`
254
+
255
+ **Scroll preview:**
256
+ - `Shift-↓/↑` - Line by line
257
+ - `TAB` - Page down
258
+ - `Shift-TAB` - Page up
259
+
260
+ ### Can I execute shell commands?
261
+
262
+ **Yes!** Press `:` then enter command:
263
+ ```
264
+ :ls -la
265
+ :git status
266
+ :grep -r pattern .
267
+ ```
268
+
269
+ Output shows in right pane.
270
+
271
+ **History:** Press `;` to see command history
272
+
273
+ ## Comparison Questions
274
+
275
+ ### RTFM vs ranger?
276
+
277
+ **RTFM advantages:**
278
+ - SSH/SFTP browsing built-in
279
+ - Comprehensive undo system
280
+ - Trash bin with restore
281
+ - OpenAI integration
282
+ - Permission/ownership undo
283
+ - Smaller codebase
284
+
285
+ **Ranger advantages:**
286
+ - Larger community
287
+ - Better documentation (working on it!)
288
+ - More mature/stable
289
+ - Multi-column view
290
+
291
+ ### RTFM vs mc (Midnight Commander)?
292
+
293
+ **RTFM advantages:**
294
+ - Modern design
295
+ - Better image support
296
+ - Git integration
297
+ - AI features
298
+ - Undo system
299
+
300
+ **mc advantages:**
301
+ - More established (since 1994)
302
+ - Built-in editor (mcedit)
303
+ - FTP support
304
+ - Virtual file systems
305
+
306
+ ### Why not use GUI file manager?
307
+
308
+ **Benefits of terminal file managers:**
309
+ - ⚡ Faster (keyboard-driven)
310
+ - 🖥️ Works over SSH
311
+ - 🎯 Precision control
312
+ - 🔧 Scriptable/extensible
313
+ - 💻 No X server needed
314
+ - ⌨️ Never leave terminal
315
+
316
+ **RTFM specifically:**
317
+ - Parses LS_COLORS (consistent theming)
318
+ - Inline images
319
+ - Command execution with output
320
+ - Ruby extensibility
321
+
322
+ ## Technical Questions
323
+
324
+ ### What is rcurses?
325
+
326
+ **rcurses** is a pure Ruby curses library created specifically for RTFM.
327
+
328
+ - No C bindings
329
+ - Ruby 3.4+ compatible
330
+ - Modern design
331
+ - Easy to maintain
332
+
333
+ See: https://github.com/isene/rcurses
334
+
335
+ ### What is termpix?
336
+
337
+ **termpix** is a terminal image display library extracted from RTFM.
338
+
339
+ - Multi-protocol support (Sixel, w3m)
340
+ - EXIF auto-orient
341
+ - Used by RTFM, AstroPanel, IMDB
342
+
343
+ See: https://github.com/isene/termpix
344
+
345
+ ### Why single-file architecture?
346
+
347
+ **Benefits:**
348
+ - Easy to understand (all code in one place)
349
+ - Simple deployment (one file)
350
+ - No require complexity
351
+ - Easier debugging
352
+
353
+ **Trade-offs:**
354
+ - Large file (~6K lines)
355
+ - Not modular
356
+ - But: Organized with vim folds
357
+
358
+ ### Can I contribute?
359
+
360
+ **Yes!**
361
+
362
+ - Bug reports: https://github.com/isene/RTFM/issues
363
+ - Feature requests: Open issue with detailed description
364
+ - Pull requests: Welcome!
365
+ - Plugins: Share in issues/discussions
366
+
367
+ ### Is RTFM actively maintained?
368
+
369
+ **Yes!** Regular updates and releases.
370
+
371
+ Recent activity:
372
+ - v7.3 (Nov 2025) - Image display improvements
373
+ - v7.2 (Oct 2025) - Batch operation consistency
374
+ - v7.1 (Oct 2025) - Archive preview
375
+
376
+ Check: https://github.com/isene/RTFM/releases
377
+
378
+ ## Workflow Questions
379
+
380
+ ### Best workflow for organizing photos?
381
+
382
+ ```
383
+ r # Launch RTFM
384
+ @lsorder = "-t" # Sort by time (newest first)
385
+ @showimage = true # Show images
386
+ # Tag keepers with 't'
387
+ P # Move to organized folder
388
+ ```
389
+
390
+ ### Best workflow for code projects?
391
+
392
+ ```
393
+ r # Launch
394
+ m p # Bookmark project directory
395
+ @batuse = true # Syntax highlighting
396
+ @lsall = "-a" # Show hidden (.git, etc.)
397
+ G # Check git status
398
+ ```
399
+
400
+ ### How to quickly check server logs?
401
+
402
+ ```
403
+ r
404
+ Ctrl-e # Remote mode
405
+ admin@server:/var/log # Connect
406
+ # Navigate to log file
407
+ # Content shows in right pane
408
+ s # Open shell if needed
409
+ ```
410
+
411
+ ### Bulk file organization?
412
+
413
+ ```
414
+ r
415
+ Ctrl-t # Tag by pattern
416
+ *.jpg # Tag all JPEGs
417
+ P # Move to new folder
418
+ ```
419
+
420
+ ## Still Have Questions?
421
+
422
+ 1. **Check documentation:**
423
+ - `man rtfm`
424
+ - Press `?` in RTFM
425
+ - Read [guides](../README.md#documentation)
426
+
427
+ 2. **Search issues:**
428
+ https://github.com/isene/RTFM/issues
429
+
430
+ 3. **Ask:**
431
+ - Open new issue
432
+ - Email: g@isene.com
433
+
434
+ ---
435
+
436
+ [← Troubleshooting](troubleshooting.md) | [Back to README](../README.md)
@@ -0,0 +1,276 @@
1
+ # Getting Started with RTFM
2
+
3
+ This guide will get you up and running with RTFM in minutes.
4
+
5
+ ## Installation
6
+
7
+ ### Quick Install (Recommended)
8
+
9
+ ```bash
10
+ gem install rtfm-filemanager
11
+ ```
12
+
13
+ ### With Full Features (Ubuntu/Debian)
14
+
15
+ ```bash
16
+ sudo apt update
17
+ sudo apt install ruby-full x11-utils xdotool bat pandoc poppler-utils \
18
+ odt2txt docx2txt unzip gnumeric catdoc w3m imagemagick \
19
+ ffmpegthumbnailer tar gzip bzip2 xz-utils unrar p7zip-full
20
+
21
+ gem install rtfm-filemanager
22
+ ```
23
+
24
+ ### macOS
25
+
26
+ ```bash
27
+ brew install ruby imagemagick w3m bat pandoc poppler
28
+ gem install rtfm-filemanager
29
+ ```
30
+
31
+ ## First Launch
32
+
33
+ ```bash
34
+ rtfm
35
+ ```
36
+
37
+ On first run, RTFM will:
38
+ 1. Show a welcome message
39
+ 2. Add `r` function to your shell config (~/.bashrc or ~/.zshrc)
40
+ 3. Create `~/.rtfm/` directory with plugins and config
41
+
42
+ Press `q` to accept and continue.
43
+
44
+ ## The `r` Command
45
+
46
+ After installation, you can launch RTFM with just:
47
+
48
+ ```bash
49
+ r
50
+ ```
51
+
52
+ The magic: When you quit RTFM (press `q`), you'll be in RTFM's current directory, not where you launched it.
53
+
54
+ **Example workflow:**
55
+ ```bash
56
+ r # Launch RTFM
57
+ # Navigate to ~/Documents/projects
58
+ q # Quit RTFM
59
+ pwd # You're in ~/Documents/projects
60
+ r # Launch RTFM again (remembers location)
61
+ ```
62
+
63
+ ## Basic Navigation
64
+
65
+ ### Moving Around
66
+
67
+ | Key | Action |
68
+ |-----|--------|
69
+ | `↓` or `j` | Move down |
70
+ | `↑` or `k` | Move up |
71
+ | `→` or `l` or `ENTER` | Enter directory / open file |
72
+ | `←` or `h` | Go to parent directory |
73
+ | `HOME` | Jump to first item |
74
+ | `END` | Jump to last item |
75
+ | `PgDn` | Page down |
76
+ | `PgUp` | Page up |
77
+
78
+ ### Understanding the Interface
79
+
80
+ ```
81
+ ┌─────────────────────────────────────────────────────────┐
82
+ │ Path: /home/user/Documents (drwxr-xr-x...) [Tab: 1/3] │ ← Top bar (path + metadata)
83
+ ├──────────────┬──────────────────────────────────────────┤
84
+ │ projects/ │ # My Projects │
85
+ │ photos/ │ │
86
+ │ > notes.txt │ This is the content of notes.txt │ ← Right pane (preview)
87
+ │ todo.md │ shown with syntax highlighting... │
88
+ │ report.pdf │ │
89
+ │ │ │
90
+ └──────────────┴──────────────────────────────────────────┘
91
+ │ Status: 5 items │ ← Bottom bar (status)
92
+ └─────────────────────────────────────────────────────────┘
93
+ Left pane ↑ Right pane ↑
94
+ (navigate) (preview)
95
+ ```
96
+
97
+ ## Essential Operations
98
+
99
+ ### Viewing Files
100
+
101
+ - **Preview**: Content shows in right pane automatically
102
+ - **Open in editor**: Press `ENTER` on text files
103
+ - **Open with default app**: Press `x` on files (xdg-open)
104
+ - **Toggle preview**: Press `-` to turn preview on/off
105
+ - **Toggle images**: Press `_` to toggle image display
106
+
107
+ ### Working with Files
108
+
109
+ #### Copy
110
+ 1. Tag files with `t` (toggle tag on/off)
111
+ 2. Navigate to destination directory
112
+ 3. Press `p` to copy tagged items
113
+
114
+ #### Move
115
+ 1. Tag files with `t`
116
+ 2. Navigate to destination
117
+ 3. Press `P` to move tagged items
118
+
119
+ #### Delete
120
+ 1. Press `d` on item (or tag multiple with `t` first)
121
+ 2. Press `y` to confirm
122
+
123
+ **Trash bin:** Press `Ctrl-d` to enable trash bin. Deleted items go to `~/.rtfm/trash/` and can be restored with `U` (undo).
124
+
125
+ #### Rename
126
+ - **Single file**: Press `c`, edit name, press ENTER
127
+ - **Bulk rename**: Tag files with `t`, press `E`, use pattern
128
+
129
+ ### Bookmarks
130
+
131
+ **Set bookmark:**
132
+ 1. Navigate to directory
133
+ 2. Press `m`
134
+ 3. Press letter (a-z)
135
+
136
+ **Jump to bookmark:**
137
+ 1. Press `'` (apostrophe)
138
+ 2. Press bookmark letter
139
+
140
+ **Special bookmarks:**
141
+ - `'` - Last directory (for quick toggling)
142
+ - `0` - Directory where RTFM started
143
+ - `1-5` - Last 5 visited directories
144
+
145
+ ## Getting Help
146
+
147
+ ### In RTFM
148
+
149
+ Press `?` to show complete keyboard reference
150
+
151
+ ### Man Page
152
+
153
+ ```bash
154
+ man rtfm
155
+ ```
156
+
157
+ ### Version Info
158
+
159
+ Press `v` to see:
160
+ - RTFM version
161
+ - Image protocol in use
162
+ - Latest available version
163
+
164
+ ## Common Tasks
165
+
166
+ ### Browse Directory Tree
167
+
168
+ ```bash
169
+ r # Launch RTFM
170
+ h h h # Go up 3 levels
171
+ ' h # Jump to home bookmark
172
+ l # Enter directory
173
+ ```
174
+
175
+ ### Find and Open File
176
+
177
+ ```bash
178
+ r # Launch
179
+ /pattern # Search for pattern
180
+ n # Next match
181
+ ENTER # Open file
182
+ ```
183
+
184
+ ### Copy Files Between Directories
185
+
186
+ ```bash
187
+ r # Launch
188
+ m s # Bookmark source as 's'
189
+ ' s # Jump to source
190
+ t t t # Tag 3 files
191
+ m d # Bookmark destination as 'd'
192
+ ' d # Jump to destination
193
+ p # Copy tagged files here
194
+ ```
195
+
196
+ ### Remote File Management
197
+
198
+ ```bash
199
+ r # Launch
200
+ Ctrl-e # Enter remote mode
201
+ user@server.com:/path # Enter connection
202
+ # Navigate with arrow keys
203
+ d # Download file
204
+ Ctrl-e # Exit remote mode
205
+ ```
206
+
207
+ ## Tips & Tricks
208
+
209
+ ### Speed Tips
210
+
211
+ 1. **Turn off preview** (`-`) for faster directory traversal
212
+ 2. **Use bookmarks** (`m` + letter) for frequent locations
213
+ 3. **Use tabs** (`]` to create) for multi-directory work
214
+ 4. **Recent files** (`Ctrl-r`) to jump to recently accessed files
215
+
216
+ ### Power User Tips
217
+
218
+ 1. **Undo system** - `U` undoes: delete, move, rename, copy, symlink, permissions, ownership
219
+ 2. **Pattern rename** - `E` for bulk rename with regex
220
+ 3. **Command mode** - `:` to run any shell command, output in right pane
221
+ 4. **Ruby mode** - `@` to execute Ruby code (for debugging or scripting)
222
+ 5. **Git workflow** - `G` shows git status, perfect for checking changes
223
+
224
+ ### Workflow Examples
225
+
226
+ #### Photo Organization
227
+ ```
228
+ r → Navigate to photos → t t t (tag) → P (move to new folder)
229
+ ```
230
+
231
+ #### Code Review
232
+ ```
233
+ r → / .rb (search) → G (git status) → ENTER (open in editor)
234
+ ```
235
+
236
+ #### Remote Backup
237
+ ```
238
+ r → Ctrl-e → server:/backup → u (upload tagged files)
239
+ ```
240
+
241
+ ## Next Steps
242
+
243
+ - Read [Configuration Guide](configuration.md) to customize RTFM
244
+ - Learn [Remote Browsing](remote-browsing.md) for SSH workflows
245
+ - Explore [Plugins](plugins.md) to extend functionality
246
+ - Check [Keyboard Reference](keyboard-reference.md) for all keys
247
+
248
+ ## Troubleshooting
249
+
250
+ ### Images Don't Show
251
+
252
+ 1. Check if w3m is installed: `which w3mimgdisplay`
253
+ 2. Check if xdotool is installed: `which xdotool`
254
+ 3. Press `v` to see image protocol (should show `w3m` or `sixel`)
255
+ 4. Try toggling image preview: `_`
256
+
257
+ ### Commands Don't Work in Command Mode
258
+
259
+ Some commands need to be whitelisted as "interactive":
260
+ 1. Press `+` in RTFM
261
+ 2. Type program name (e.g., `htop`)
262
+ 3. Or prefix command with `§`: `:§htop`
263
+
264
+ ### Terminal Resize Issues
265
+
266
+ Press `r` to manually refresh RTFM layout
267
+
268
+ ### General Issues
269
+
270
+ 1. Press `r` to refresh
271
+ 2. Check `~/.rtfm/conf` for misconfigurations
272
+ 3. Report bugs: https://github.com/isene/RTFM/issues
273
+
274
+ ---
275
+
276
+ [← Back to README](../README.md) | [Next: Configuration →](configuration.md)