Sway support removed. Moved I38 specific scripts out of the branch covered by dex.
This commit is contained in:
1 parent
45eb3ae4fc
commit
3a9c2ab6f1
13 files changed
+147
-449
No files matched your search
@@ -187,124 +187,35 @@ The AI assistant stores its configuration in `~/.config/stormux/I38/ai.conf` usi
|
||||
**Ollama**: Requires Ollama service to be running locally. Automatically discovers available models and supports text analysis.
|
||||
|
||||
|
||||
## Custom Applications in Ratpoison Mode
|
||||
## Personal Mode
|
||||
|
||||
I38 now includes a powerful system for adding custom applications to ratpoison mode with user-defined keybindings. During the configuration process, after setting up window event sounds, you'll be prompted to add custom applications that will be accessible through ratpoison mode.
|
||||
Personal Mode is a user-defined mode where you can add your own keybindings without worrying about them being overwritten when you update I38.
|
||||
|
||||
### How It Works
|
||||
### Setup
|
||||
|
||||
The system will prompt you through a series of questions for each application you want to add:
|
||||
When you run `i38.sh`, you are prompted to choose a personal mode key (or you can skip it). If you selected one, pressing that key enters Personal Mode.
|
||||
|
||||
1. **Application Name**: A descriptive name for the application
|
||||
2. **Execution Command**: The full path or command to run the application
|
||||
3. **Command Flags**: Optional command-line arguments
|
||||
4. **Keybinding**: A custom key combination using I38's notation system
|
||||
### Adding Custom Bindings
|
||||
|
||||
### Keybinding Notation System
|
||||
Edit `~/.config/i3/customizations` to add your own shortcuts. This file is never overwritten by I38. Inside the `mode "personal" { ... }` block, add i3 `bindsym` commands and end each one with `, mode "default"` so the mode exits after the action.
|
||||
|
||||
I38 uses a simple notation system to define keybindings that supports modifiers and special keys:
|
||||
Example:
|
||||
|
||||
#### Modifiers
|
||||
- `^` = Control (Ctrl)
|
||||
- `!` = Alt
|
||||
- `#` = Super (Windows/Cmd key)
|
||||
- `m` = Your chosen mod key (configured during setup)
|
||||
- Uppercase letters automatically add Shift (e.g., `C` = Shift+c)
|
||||
|
||||
#### Special Keys
|
||||
- **Function Keys**: `f1`, `f2`, ... `f12`
|
||||
- **Arrow Keys**: `up`, `down`, `left`, `right`
|
||||
- **Navigation Keys**: `home`, `end`, `pageup`, `pagedown`
|
||||
- **Editing Keys**: `insert`, `delete`, `backspace`
|
||||
- **Other Keys**: `space`, `tab`, `return`, `escape`, `print`
|
||||
|
||||
#### Example Keybindings
|
||||
- `c` = Just the 'c' key
|
||||
- `^c` = Control+c
|
||||
- `!f1` = Alt+F1
|
||||
- `mspace` = Your mod key + Space
|
||||
- `^!up` = Control+Alt+Up arrow
|
||||
- `#pagedown` = Super+Page Down
|
||||
- `C` = Shift+c
|
||||
- `^C` = Control+Shift+c
|
||||
|
||||
### Example Configuration Session
|
||||
|
||||
Here's what the configuration prompts look like:
|
||||
|
||||
```
|
||||
Enter application name (or press enter when finished): Discord
|
||||
Enter execution path/command for Discord: discord
|
||||
Enter command line flags for Discord (optional): --no-sandbox
|
||||
Enter keybinding for Discord (Examples: c, ^c, !f1, mspace, ^!up) or ? for help: d
|
||||
```i3
|
||||
mode "personal" {
|
||||
bindsym f exec firefox, mode "default"
|
||||
bindsym Shift+f exec firefox --private-window, mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym Control+g mode "default"
|
||||
}
|
||||
```
|
||||
|
||||
Another example:
|
||||
```
|
||||
Enter application name (or press enter when finished): Terminal Calculator
|
||||
Enter execution path/command for Terminal Calculator: gnome-calculator
|
||||
Enter command line flags for Terminal Calculator (optional):
|
||||
Enter keybinding for Terminal Calculator (Examples: c, ^c, !f1, mspace, ^!up) or ? for help: ^#c
|
||||
```
|
||||
With this example, pressing your personal mode key followed by `f` opens Firefox. `Shift+f` opens a private window.
|
||||
|
||||
### Getting Help During Configuration
|
||||
|
||||
If you type `?` when prompted for a keybinding, I38 will display a comprehensive help screen with:
|
||||
- Complete modifier notation reference
|
||||
- List of all supported special keys
|
||||
- Multiple examples of different keybinding combinations
|
||||
- Rules about uppercase letters and Shift
|
||||
|
||||
### Conflict Detection
|
||||
|
||||
I38 automatically prevents keybinding conflicts by:
|
||||
- Maintaining a list of all existing ratpoison mode bindings
|
||||
- Checking your custom keybinding against reserved keys
|
||||
- Showing an error message if you try to use a taken keybinding
|
||||
- Asking you to choose a different key combination
|
||||
|
||||
### Reserved Keybindings
|
||||
|
||||
The following keys are already used in ratpoison mode and cannot be assigned to custom applications:
|
||||
|
||||
- `c` = Terminal
|
||||
- `e` = Text editor
|
||||
- `f` = File manager
|
||||
- `w` = Web browser
|
||||
- `k` = Kill window
|
||||
- `m` = Mumble (if installed)
|
||||
- `p` = Pidgin (if installed)
|
||||
- `g` = Game controller status
|
||||
- Various modifier combinations for volume, music controls, etc.
|
||||
|
||||
### Using Your Custom Applications
|
||||
|
||||
Once configured, access your custom applications by:
|
||||
1. Press your ratpoison mode key (e.g., Alt+Escape)
|
||||
2. Press your custom keybinding (e.g., `d` for Discord)
|
||||
3. The application launches and ratpoison mode exits
|
||||
|
||||
### Advanced Examples
|
||||
|
||||
**Media Applications:**
|
||||
- `vlc` bound to `v` for VLC media player
|
||||
- `spotify` bound to `^s` for Spotify with Control+s
|
||||
|
||||
**Development Tools:**
|
||||
- `code` bound to `mf2` for VS Code with mod+F2
|
||||
- `gimp` bound to `!g` for GIMP with Alt+g
|
||||
|
||||
**System Tools:**
|
||||
- `htop` bound to `^#h` for system monitor with Control+Super+h
|
||||
- `pavucontrol` bound to `!space` for audio control with Alt+Space
|
||||
|
||||
### Tips for Choosing Keybindings
|
||||
|
||||
1. **Keep it memorable**: Use the first letter of the application name when possible
|
||||
2. **Group related apps**: Use similar modifiers for related applications
|
||||
3. **Consider frequency**: Use simpler keys for frequently used applications
|
||||
4. **Avoid conflicts**: The system will warn you, but plan ahead for a logical layout
|
||||
### Default Bindings
|
||||
|
||||
- `F1` — Show personal mode keybindings
|
||||
- `Escape` or `Control+g` — Exit Personal Mode
|
||||
|
||||
## Panel Mode
|
||||
|
||||
|
||||
Reference in new issue
Block a user