103 lines
3.5 KiB
Markdown
103 lines
3.5 KiB
Markdown
# i3 Screenshot Tool
|
|
|
|
A collection of scripts for taking screenshots in i3 window manager on Linux (CachyOS), with a focus on the "freeze and select" functionality.
|
|
|
|
## Features
|
|
|
|
- **Freeze and Select**: Freeze the screen and then select an area to capture
|
|
- **Simple Selection**: Direct area selection without freezing (faster but without the freeze effect)
|
|
- **Clipboard Integration**: Automatically copies screenshots to clipboard
|
|
- **Notifications**: Desktop notifications when screenshots are taken
|
|
- **Timestamp Naming**: Automatically names files with timestamps
|
|
|
|
## Requirements
|
|
|
|
These scripts depend on various Linux utilities. Install them using your package manager:
|
|
|
|
```bash
|
|
# For Arch-based distros (including CachyOS)
|
|
sudo pacman -S maim slop i3lock feh scrot imagemagick xclip xdotool
|
|
|
|
# For Debian/Ubuntu-based distros
|
|
sudo apt install maim slop i3lock feh scrot imagemagick xclip xdotool
|
|
```
|
|
|
|
## Installation
|
|
|
|
1. Clone this repository or download the scripts:
|
|
|
|
```bash
|
|
git clone https://github.com/yourusername/i3-screenshot.git
|
|
cd i3-screenshot
|
|
```
|
|
|
|
2. Make the scripts executable:
|
|
|
|
```bash
|
|
chmod +x i3-screenshot.sh i3-screenshot-alt.sh i3-screenshot-simple.sh
|
|
```
|
|
|
|
3. Move the scripts to a directory in your PATH (optional):
|
|
|
|
```bash
|
|
sudo cp i3-screenshot*.sh /usr/local/bin/
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Add the following lines to your i3 config file (typically `~/.config/i3/config`):
|
|
|
|
```
|
|
# Screenshot with freeze and area selection (main script)
|
|
bindsym Print exec --no-startup-id /path/to/i3-screenshot.sh
|
|
|
|
# Alternative screenshot with freeze and area selection
|
|
bindsym Shift+Print exec --no-startup-id /path/to/i3-screenshot-alt.sh
|
|
|
|
# Simple screenshot with area selection (no freeze)
|
|
bindsym Ctrl+Print exec --no-startup-id /path/to/i3-screenshot-simple.sh
|
|
```
|
|
|
|
Replace `/path/to/` with the actual path to the scripts.
|
|
|
|
## Usage
|
|
|
|
- Press `Print Screen` to use the main freeze-and-select screenshot tool
|
|
- Press `Shift+Print Screen` to use the alternative freeze-and-select tool
|
|
- Press `Ctrl+Print Screen` to use the simple area selection tool without freezing
|
|
|
|
After pressing the key combination:
|
|
1. For the freeze scripts: The screen will freeze, and you can select an area with your mouse
|
|
2. For the simple script: The screen will dim, and you can select an area with your mouse
|
|
3. The screenshot will be saved to `~/Pictures/Screenshots/` with a timestamp
|
|
4. The screenshot will also be copied to your clipboard
|
|
5. A notification will appear confirming the screenshot was taken
|
|
|
|
## How It Works
|
|
|
|
### Main Script (`i3-screenshot.sh`)
|
|
Uses `maim` to take a full screenshot, displays it with `i3lock` to freeze the screen, then uses `slop` for area selection and `maim` again to capture just that area.
|
|
|
|
### Alternative Script (`i3-screenshot-alt.sh`)
|
|
Uses `scrot` for the initial screenshot, `feh` to display it fullscreen, `slop` for selection, and `imagemagick` to crop the image.
|
|
|
|
### Simple Script (`i3-screenshot-simple.sh`)
|
|
Uses just `maim` with the `-s` flag for direct area selection without freezing the screen first.
|
|
|
|
## Customization
|
|
|
|
You can modify the scripts to change:
|
|
- The save location by editing the `SAVE_DIR` variable
|
|
- The notification messages
|
|
- The file naming convention
|
|
|
|
## Troubleshooting
|
|
|
|
- If the scripts don't work, make sure all dependencies are installed
|
|
- Check that the scripts have executable permissions
|
|
- Verify your i3 config has the correct paths to the scripts
|
|
- If using the i3lock method, ensure your system supports i3lock with image display
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the LICENSE file for details. |