Skip to content

Commit f641403

Browse files
committed
[2.0.19] - Updated README
1 parent e34cada commit f641403

1 file changed

Lines changed: 175 additions & 51 deletions

File tree

‎docs/README.md‎

Lines changed: 175 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# yayfzf
66

7-
> *AUR package **[fzf][fzf-url]** finder to search, install, remove, and manage packages using **[yay][yay-url]***
7+
> *Fullscreen interactive AUR / repo package manager using **[yay][yay-url]** and **[fzf][fzf-url]***
88
99
[![Shellcheck][shellcheck-badge]][shellcheck-workflow]
1010
[![GitHub last commit][github-last-commit-badge]][github-commits]
@@ -25,8 +25,9 @@
2525

2626
# Description
2727

28-
AUR package [fzf][fzf-url] finder to search, install, remove, and manage packages using **[yay][yay-url]**
28+
`yayfzf` is a fullscreen interactive package manager for Arch Linux systems.
2929

30+
It uses **[yay][yay-url]** for package operations and **[fzf][fzf-url]** for searching, selecting, installing, removing, and updating packages.
3031

3132
<img width="100%" src="https://raw.githubusercontent.com/ConnerWill/Project-Template/main/assets/lines/rainbow.png">
3233

@@ -44,6 +45,7 @@ AUR package [fzf][fzf-url] finder to search, install, remove, and manage package
4445
- [Git](#git)
4546
- [Usage](#usage)
4647
- [Command Line Options](#command-line-options)
48+
- [Examples](#examples)
4749
- [Keybindings](#keybindings)
4850
- [Configuration](#configuration)
4951
- [Configuration Files](#configuration-files)
@@ -54,34 +56,42 @@ AUR package [fzf][fzf-url] finder to search, install, remove, and manage package
5456
- [Donate](#donate)
5557
<!--toc:end-->
5658

57-
5859
<img width="100%" src="https://raw.githubusercontent.com/ConnerWill/Project-Template/main/assets/lines/rainbow.png">
5960

6061
# Screenshots
6162

62-
<div align="center">
63+
<div align="center">
6364

6465
| ![demo screenshot](/docs/images/demo-screenshot.png) | ![demo screenshot 2](/docs/images/demo-screenshot-2.png) |
6566
| ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
6667
| ![demo screenshot 3](/docs/images/demo-screenshot-3.png) | ![demo screenshot 4](/docs/images/demo-screenshot-4.png) |
6768

6869
</div>
6970

70-
7171
## Features
7272

73-
- Interactive menu for Arch Linux package manager
73+
- Interactive menu for Arch Linux package management
74+
- Package search using `yay`
75+
- Package selection using `fzf`
76+
- Install, remove, and update packages
7477
- Inline package information preview
75-
- Multi-select support via fzf
76-
- Toggleable preview window
77-
- Multiple built-in color themes
78-
- Configurable layout, borders, and keybindings
78+
- Multi-select support
79+
- Toggleable package preview window
80+
- Built-in color themes
81+
- Interactive theme selector
82+
- Configurable layout, border, prompt, preview window, and sort order
7983
- XDG-compliant configuration file support
84+
- Bash and Zsh completion support
8085

8186
## Requirements
8287

88+
- `bash`
8389
- `yay`
8490
- `fzf`
91+
- `awk`
92+
- `sed`
93+
- `tr`
94+
- `tput`
8595

8696
## Installation
8797

@@ -101,15 +111,15 @@ cd yayfzf
101111
chmod +x bin/yayfzf
102112
```
103113

104-
Optionally, move it to a directory in your PATH:
114+
Optionally, install the executable, documentation, man page, license, and shell completions:
105115

106116
```bash
107-
sudo install -Dm755 "bin/yayfzf" "/usr/local/bin/yayfzf" # Main executable
108-
sudo install -Dm644 "docs/README.md" "/usr/share/doc/yayfzf/README.md" # Documentation
109-
sudo install -Dm644 "docs/yayfzf.1" "/usr/share/man/man1/yayfzf.1" # Man page
110-
sudo install -Dm644 "LICENSE" "/usr/share/licenses/yayfzf/LICENSE" # License
111-
sudo install -Dm644 "completion/_yayfzf" "/usr/share/zsh/site-functions/_yayfzf" # ZSH completion
112-
sudo install -Dm644 "completion/yayfzf_completion.sh" "/usr/share/bash-completion/completions/yayfzf" # Bash completion
117+
sudo install -Dm755 "bin/yayfzf" "/usr/local/bin/yayfzf"
118+
sudo install -Dm644 "docs/README.md" "/usr/share/doc/yayfzf/README.md"
119+
sudo install -Dm644 "docs/yayfzf.1" "/usr/share/man/man1/yayfzf.1"
120+
sudo install -Dm644 "LICENSE" "/usr/share/licenses/yayfzf/LICENSE"
121+
sudo install -Dm644 "completion/_yayfzf" "/usr/share/zsh/site-functions/_yayfzf"
122+
sudo install -Dm644 "completion/yayfzf_completion.sh" "/usr/share/bash-completion/completions/yayfzf"
113123
```
114124

115125
## Usage
@@ -120,23 +130,86 @@ Launch the interactive interface:
120130
yayfzf
121131
```
122132

133+
Start with an initial package search query:
134+
135+
```bash
136+
yayfzf fzf
137+
```
138+
123139
### Command Line Options
124140

125141
| Option | Description |
126-
| ------ |------------ |
127-
| `-t`, `--theme` | Set built-in theme |
142+
| ------ | ----------- |
143+
| `--sort-by [sort option]` | Set package search sort order |
144+
| `--no-preview` | Disable package preview window |
145+
| `-t`, `--theme [theme]` | Set built-in theme |
128146
| `-l`, `--list-themes` | Show list of built-in themes |
129-
| `-k`, `--keybindings` | Show keybindings and exit |
147+
| `--preview-themes` | Interactively preview and select a built-in theme |
130148
| `-i`, `--init-config` | Install example configuration file |
131149
| `-s`, `--show-config` | Show example configuration file content |
132-
| `--sort-order` | Set package sort order |
133-
| `--no-preview` | Disable preview window |
150+
| `-k`, `--keybindings` | Show keybindings and exit |
134151
| `-v`, `--verbose` | Show verbose output |
135152
| `-h` | Show short help |
136153
| `--help` | Show full help |
137-
| `--help-man` | Show manpage help |
154+
| `--help-man` | Show man page help |
138155
| `-V`, `--version` | Show version |
139156

157+
### Examples
158+
159+
Run `yayfzf` with no search query:
160+
161+
```bash
162+
yayfzf
163+
```
164+
165+
Search for `fzf`:
166+
167+
```bash
168+
yayfzf fzf
169+
```
170+
171+
Search packages sorted by votes:
172+
173+
```bash
174+
yayfzf --sort-by votes
175+
```
176+
177+
Start with the `dracula` theme:
178+
179+
```bash
180+
yayfzf --theme dracula
181+
```
182+
183+
Show all built-in themes:
184+
185+
```bash
186+
yayfzf --list-themes
187+
```
188+
189+
Open the interactive theme selector:
190+
191+
```bash
192+
yayfzf --preview-themes
193+
```
194+
195+
Start with the package preview window disabled:
196+
197+
```bash
198+
yayfzf --no-preview
199+
```
200+
201+
Install an example configuration file:
202+
203+
```bash
204+
yayfzf --init-config
205+
```
206+
207+
Show the short help menu:
208+
209+
```bash
210+
yayfzf -h
211+
```
212+
140213
### Keybindings
141214

142215
| Key | Action |
@@ -153,12 +226,12 @@ yayfzf
153226
| <kbd>CTRL</kbd>+<kbd>a</kbd> | Select all items |
154227
| <kbd>CTRL</kbd>+<kbd>d</kbd> | Deselect all items |
155228
| <kbd>CTRL</kbd>+<kbd>i</kbd> | Install selected packages |
156-
| <kbd>CTRL</kbd>+<kbd>r</kbd> | Uninstall package |
229+
| <kbd>CTRL</kbd>+<kbd>r</kbd> | Remove selected package |
157230
| <kbd>CTRL</kbd>+<kbd>u</kbd> | Update all packages |
158-
| <kbd>CTRL</kbd>+<kbd>l</kbd> | Clear search query |
159-
| <kbd>CTRL</kbd>+<kbd>Backspace</kbd> | Clear search query |
160-
| <kbd>CTRL</kbd>+<kbd>/</kbd> | Change layout |
161-
| <kbd>CTRL</kbd>+<kbd>v</kbd> | Toggle preview window |
231+
| <kbd>CTRL</kbd>+<kbd>l</kbd> | Clear query, screen, and selection |
232+
| <kbd>CTRL</kbd>+<kbd>Backspace</kbd> | Clear query |
233+
| <kbd>CTRL</kbd>+<kbd>/</kbd> | Cycle preview window position and size |
234+
| <kbd>CTRL</kbd>+<kbd>v</kbd> | Toggle package preview window |
162235
| <kbd>?</kbd> | Show keybindings |
163236
| <kbd>CTRL</kbd>+<kbd>c</kbd> | Exit yayfzf |
164237
| <kbd>CTRL</kbd>+<kbd>w</kbd> | Exit yayfzf |
@@ -168,26 +241,78 @@ yayfzf
168241

169242
### Configuration Files
170243

171-
`yayfzf` looks for configuration files in this order (uses the first file found):
244+
`yayfzf` looks for configuration files in this order and uses the first file found:
172245

173246
- `$XDG_CONFIG_HOME/yayfzf/yayfzf.conf`
174247
- `$HOME/.config/yayfzf/yayfzf.conf`
175248
- `$HOME/.yayfzf.conf`
176249

250+
Install an example configuration file:
251+
252+
```bash
253+
yayfzf --init-config
254+
```
255+
256+
Show the current example configuration:
257+
258+
```bash
259+
yayfzf --show-config
260+
```
261+
177262
### Configuration Options
178263

179-
| Option | Description | Default | Options |
180-
| ------ | ----------- | ------- | ------- |
181-
| `THEME` | Color theme | `default` | `default`, `light`, `tokyo-night`, `neon`, `catppuccin-mocha`, `catppuccin-latte`, `dracula`, `gruvbox-dark`, `gruvbox-light`, `nord`, `solarized-dark`, `solarized-light`, `rose-pine`, `rose-pine-moon`, `rose-pine-dawn`, `onedark`, `kanagawa` |
182-
| `PREVIEW_WINDOW` | fzf preview window layout and size | `right:60%:wrap` | |
183-
| `ENABLE_PREVIEW` | Show preview window | `true` | `true`, `false` |
184-
| `SORT_BY` | Package sort order | `popularity` | `popularity`, `votes`, `last_updated` |
264+
| Option | Description | Default | Values |
265+
| ------ | ----------- | ------- | ------ |
266+
| `THEME` | Built-in color theme | `default` | `default`, `light`, `tokyo-night`, `neon`, `catppuccin-mocha`, `catppuccin-latte`, `dracula`, `gruvbox-dark`, `gruvbox-light`, `nord`, `solarized-dark`, `solarized-light`, `rose-pine`, `rose-pine-moon`, `rose-pine-dawn`, `onedark`, `kanagawa` |
267+
| `SORT_BY` | Package search sort order | `popularity` | `popularity`, `votes`, `last_updated` |
268+
| `PREVIEW_WINDOW` | fzf package preview window layout and size | `right:60%:wrap` | Any valid `fzf --preview-window` value |
185269
| `LAYOUT` | fzf layout | `reverse` | `default`, `reverse` |
186-
| `BORDER` | fzf border style | `rounded` | `default`, `rounded` |
187-
| `PROMPT` | Prompt string for fzf | `"yayfzf> "` | |
188-
| `VERBOSE` | Enable verbose logging | `false` | `true`, `false` |
189-
| `YAYFZF_PAGER` | Pager for help/config/keybindings | `${PAGER:-less}` | |
190-
| `CTRL_C_CLOSE` | Close yayfzf with Ctrl-C | `true` | `true`, `false` |
270+
| `BORDER` | fzf border style | `rounded` | Any valid `fzf --border` value |
271+
| `YAYFZF_PROMPT` | fzf prompt string | `yayfzf> ` | Any string |
272+
| `ENABLE_PREVIEW` | Enable package preview window | `true` | `true`, `false` |
273+
| `VERBOSE` | Enable verbose output | `false` | `true`, `false` |
274+
| `YAYFZF_PAGER` | Pager used for config/help output | `${PAGER:-less}` | `less`, `bat`, `more`, etc. |
275+
| `CTRL_C_CLOSE` | Exit when fzf returns an empty selection | `true` | `true`, `false` |
276+
| `NO_COLOR` | Disable ANSI color output | `false` | `true`, `false` |
277+
278+
Example configuration:
279+
280+
```bash
281+
# Theme: default, light, tokyo-night, neon, catppuccin-mocha, catppuccin-latte,
282+
# dracula, gruvbox-dark, gruvbox-light, nord, solarized-dark, solarized-light,
283+
# rose-pine, rose-pine-moon, rose-pine-dawn, onedark, kanagawa
284+
THEME="default"
285+
286+
# Package sort order: popularity, votes, last_updated
287+
SORT_BY="popularity"
288+
289+
# Preview window options for fzf
290+
PREVIEW_WINDOW="right:60%:wrap"
291+
292+
# Layout: default, reverse
293+
LAYOUT="reverse"
294+
295+
# Border style
296+
BORDER="rounded"
297+
298+
# Prompt for fzf
299+
YAYFZF_PROMPT="yayfzf> "
300+
301+
# Enable package preview window
302+
ENABLE_PREVIEW=true
303+
304+
# Verbose output
305+
VERBOSE=false
306+
307+
# Pager
308+
YAYFZF_PAGER="${PAGER:-less}"
309+
310+
# Close yayfzf with Ctrl-C / empty fzf selection
311+
CTRL_C_CLOSE=true
312+
313+
# Disable color output
314+
NO_COLOR=false
315+
```
191316

192317
## See Also
193318

@@ -205,32 +330,32 @@ yayfzf
205330

206331
<br>
207332

208-
> Any contributions you make are **greatly appreciated**.
333+
> Any contributions you make are appreciated.
209334
210-
> > If you want to contribute, please fork this repo and create a pull request.
335+
> If you want to contribute, please fork this repo and create a pull request.
211336
212-
1. Fork the Project
213-
2. Create your Feature Branch
337+
1. Fork the project
338+
2. Create your feature branch
214339

215340
```console
216341
git checkout -b AmazingNewFeature
217342
```
218343

219-
3. Commit your Changes
344+
3. Commit your changes
220345

221346
```console
222347
git commit -m 'Description of the amazing feature you added'
223348
```
224349

225-
4. Push to the Branch
350+
4. Push to the branch
226351

227352
```console
228353
git push origin AmazingNewFeature
229354
```
230355

231-
5. Then open a pull request `:)`
356+
5. Open a pull request.
232357

233-
> > If you experience any bugs/issues or have and suggestions, you can simply open an issue `:)`
358+
If you experience bugs or have suggestions, open an issue.
234359

235360
</details>
236361

@@ -242,7 +367,6 @@ git push origin AmazingNewFeature
242367

243368
<p align="right">(<a href="#top">back to top</a>)</p>
244369

245-
246370
<img width="100%" src="https://raw.githubusercontent.com/ConnerWill/Project-Template/main/assets/lines/rainbow.png">
247371

248372
<!-- LINKS -->
@@ -273,8 +397,8 @@ git push origin AmazingNewFeature
273397
[wiki-installation-url]: https://github.com/ConnerWill/yayfzf/wiki/Installation
274398
[wiki-screenshots-url]: https://github.com/ConnerWill/yayfzf/wiki/Screenshots
275399

276-
[fzf-url]: httaps://github.com/junegunn/fzf
400+
[fzf-url]: https://github.com/junegunn/fzf
277401
[yay-url]: https://github.com/Jguer/yay
278402
[yayfzf-url]: https://github.com/ConnerWill/yayfzf
279-
[rclonefzf-url]: https://github.com/ConnerWill/rclonefzf
280403
[yayfzf-source]: https://github.com/ConnerWill/yayfzf/blob/main/bin/yayfzf
404+
[rclonefzf-url]: https://github.com/ConnerWill/rclonefzf

0 commit comments

Comments
 (0)