Skip to content

Commit ec747e6

Browse files
committed
update readme
added example images
1 parent 87d06de commit ec747e6

10 files changed

Lines changed: 58 additions & 25 deletions

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
dist/
33
target/
44
PKGBUILD*
5-
wiki/*
5+
wiki/*
6+
RELEASE*.md

README.md

Lines changed: 56 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ UsrGrp-Manager-TUI (Users/Groups Manager TUI)
3030
- [Status](#status)
3131
- [Quick Start](#quick-start)
3232
- [Environment Setup](#environment-setup)
33+
- [Configuration](#configuration)
3334
- [Prerequisites](#prerequisites)
3435
- [Installation Details](#installation-details)
3536
- [Project Structure](#project-structure)
@@ -51,10 +52,10 @@ Keyboard‑driven terminal app to view and manage users and groups. Browse accou
5152
Linux‑focused. Written in Rust.
5253

5354
### Screenshot
54-
![TUI screenshot](example-images/v0.2.0-release.png)
55+
![TUI screenshot](example-images/Release_v0.3.0.png)
5556

5657
### Demo
57-
![TUI GIF](example-images/usrgrp-manager-v0.2.0-sample.gif)
58+
![TUI GIF](example-example-images/usrgrp-manager-v0.2.0-sample.gif)
5859

5960
### Status
6061
Alpha. Read‑only browsing is safe; write operations require privileges and are still limited.
@@ -90,11 +91,18 @@ After installation:
9091
usrgrp-manager
9192
```
9293

93-
## Optional: set logging level
94+
## Configuration
95+
96+
- Logging level:
9497
```bash
9598
USRGRP_MANAGER_LOG=info # or debug, trace
9699
```
97100

101+
- Sudo group name (for sudo membership checks):
102+
```bash
103+
export UGM_SUDO_GROUP=sudo # defaults to 'wheel' if unset
104+
```
105+
98106

99107
## Environment Setup
100108

@@ -117,6 +125,11 @@ USRGRP_MANAGER_LOG=info # or debug, trace
117125
- Logging: set `USRGRP_MANAGER_LOG=info|debug|trace` (default: `info`)
118126
- Feature flags: `file-parse` exists, but enumeration currently parses `/etc/passwd` and `/etc/group` by default.
119127

128+
### Upgrade Notes (v0.3.0)
129+
130+
- `Ctrl+Tab` pane toggling was removed; use `Shift+Tab`.
131+
- Use `Shift+K` to toggle the keybindings side panel.
132+
120133
### Install from AUR
121134

122135
- usrgrp-manager-git: latest development version from the main branch
@@ -170,14 +183,21 @@ src/
170183

171184
- Quit: `q`
172185
- Switch tab: `Tab` (Users ↔ Groups)
173-
- Users tab focus: `Shift+Tab` toggles Users list ↔ Member‑of list
186+
- Users tab focus: `Shift+Tab` toggles Users list ↔ Member‑of list
174187
- Move: `↑/k`, `↓/j`
175188
- Page: `←/h` (previous page), `→/l` (next page)
176189
- Search: `/` to start, type query, `Enter` to apply, `Esc` to cancel
190+
- Filter dialog example:
191+
192+
![Filter users](example-images/Release_v0.3.0_filters.png)
177193
- Open actions on selection: `Enter`
178194
- In popups: `↑/k`, `↓/j`, `PageUp`, `PageDown`, `Enter`, `Esc`
179195

196+
- Toggle keybindings panel: `Shift+K`
197+
- Help: `?`
198+
180199
- New user: `n` (toggle "Create home" with `Space`)
200+
- Pane toggle change: `Ctrl+Tab` was removed; use `Shift+Tab` instead
181201
- Delete confirmation: `Space` toggles "Also delete home"
182202
- Password: Actions → Modify → Password
183203
- Set/change: masked input with confirm; toggle "must change at next login" with `Space`; select Submit and press `Enter`
@@ -187,7 +207,14 @@ src/
187207

188208
- Users tab
189209
- Table of users (from `/etc/passwd`), selection, paging
190-
- Detail pane: UID, GID, name, home, shell
210+
- Detail pane (expanded):
211+
- Identity: UID, primary GID, and primary group name
212+
- Home: path, existence, and octal permissions (e.g., 755)
213+
- Shell: validity (in `/etc/shells`) and interactivity (`nologin`/`false` detection)
214+
- Password status: locked, no_password, expired; last change and expiry (days since epoch)
215+
- Sudo membership: whether the user is in the configured sudo group
216+
- SSH: count of entries in `~/.ssh/authorized_keys` (best‑effort)
217+
- Processes: current number of processes owned by the user (best‑effort)
191218
- Member‑of pane: primary and supplementary groups
192219
- Create user (`useradd`; optional `-m` to create home)
193220
- Delete user (`userdel`; optional `-r` to remove home)
@@ -201,14 +228,34 @@ src/
201228
- Change full name (GECOS, `usermod -c`)
202229
- Change login shell (pick from `/etc/shells`, `usermod -s`)
203230

231+
- Examples:
232+
233+
![Actions menu](example-images/Release_v0.3.0_User_actions.png)
234+
235+
![Modify user](example-images/Release_v0.3.0_User_mod.png)
236+
237+
![Modify details](example-images/Release_v0.3.0_User_mod_details.png)
238+
239+
![Remove user from groups](example-images/Release_v0.3.0_Remove_UserFromGroups.png)
240+
204241
- Groups tab
205242
- Table of groups (from `/etc/group`), selection, paging
206-
- Detail pane and members list
243+
- Detail pane (expanded):
244+
- Classification: GID and whether it's a system or user group
245+
- Membership: counts of primary vs secondary members; preview of top‑N names
246+
- Orphan detection: flags listed secondary members not present in users
247+
- Distributions: shell interactivity, UID class (system <1000 vs user ≥1000), account status
248+
- Privilege: indicates if this is the sudo‑capable group
249+
- Change proxy: `/etc/group` mtime (days since epoch) as a rough change indicator
207250
- Actions:
208251
- Create group (`groupadd`)
209252
- Delete group (`groupdel`)
210253
- Modify members (add/remove users)
211254

255+
- Example:
256+
257+
![Modify groups](example-images/Release_v0.3.0_Modify_Groups.png)
258+
212259
- Search
213260
- Simple substring filter for Users and Groups tabs
214261

@@ -218,6 +265,9 @@ src/
218265
- Write actions call system tools and require appropriate privileges (root or sudo): `usermod`, `gpasswd`, `groupadd`, `groupdel`, `useradd`, `userdel`, `chpasswd`, `chage`.
219266
- User deletion is implemented with confirmation and optional home removal.
220267

268+
- Some account fields (password status, last change/expiry) rely on best‑effort reads of `/etc/shadow`; these may be unavailable without sufficient privileges.
269+
- SSH key counting and process counts are best‑effort and can vary across environments.
270+
221271
## Tests
222272

223273
- Run all tests: `cargo test` (Tests run while building the project automatically)

docs/RELEASE.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

example-images/Release_v0.3.0.png

1.38 MB
Loading
34.5 KB
Loading
37.2 KB
Loading
18.1 KB
Loading
34.1 KB
Loading
26.4 KB
Loading
104 KB
Loading

0 commit comments

Comments
 (0)