Skip to content

Smuzzies/recit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Recit

Record it - A beautiful terminal-based screen recorder for Linux

License Platform

Recit is a modern, elegant screen recording tool with a beautiful terminal user interface (TUI). Record your screen, capture specific areas, and save screenshots - all from a gorgeous terminal interface powered by Textual.

✨ Features

  • 🎬 Full Screen Recording - Capture your entire screen
  • 🎯 Area Selection - Record specific regions with visual selection tool
  • 📸 Screenshots - Save PNG or WebP screenshots of selected areas
  • 🎨 Beautiful Themes - 9 Base2Tone color themes + built-in Textual themes
  • ⚙️ Configurable - Customize format, resolution, framerate via config file
  • ⌨️ Keyboard Shortcuts - Navigate and control everything from your keyboard
  • 💾 Smart Scaling - Automatic aspect ratio preservation
  • 🖥️ Monitor Detection - Automatic monitor resolution detection

📸 Screenshot

Recit Screenshot

Recit's beautiful TUI interface with textual-dark theme

🚀 Installation

Prerequisites

System packages:

# Debian/Ubuntu/Mint
sudo apt install ffmpeg slop scrot imagemagick

# Fedora
sudo dnf install ffmpeg slop scrot ImageMagick

# Arch Linux
sudo pacman -S ffmpeg slop scrot imagemagick

Python packages:

pip install -r requirements.txt

Quick Start

  1. Clone the repository:
git clone https://github.com/yourusername/recit.git
cd recit
  1. Install dependencies:
pip install -r requirements.txt
  1. Make the launcher executable:
chmod +x recit
  1. Run Recit:
./recit

Optional: System-wide Installation

# Copy to /usr/local/bin
sudo cp recit /usr/local/bin/
sudo cp recit.py /usr/local/bin/
sudo cp monitor_utils.py /usr/local/bin/

# Now run from anywhere
recit

Optional: Keyboard Shortcut

Set up a custom keyboard shortcut to launch Recit instantly:

Linux Mint / Cinnamon:

  1. Open Menu → Preferences → Keyboard → Shortcuts → Custom Shortcuts
  2. Click Add custom shortcut
  3. Name: Recit
  4. Command: /path/to/recit (or /usr/local/bin/recit if installed system-wide)
  5. Click Apply
  6. Click the new shortcut and press your desired key combination (e.g., Ctrl+Alt+R)

GNOME / Ubuntu:

  1. Open Settings → Keyboard → Custom Shortcuts
  2. Click + to add a new shortcut
  3. Name: Recit
  4. Command: /path/to/recit
  5. Click Set Shortcut and press your key combination

KDE Plasma:

  1. Open System Settings → Shortcuts → Custom Shortcuts
  2. Edit → New → Global Shortcut → Command/URL
  3. Set the command and assign your key combination

⌨️ Keyboard Shortcuts

Key Action
r Start full screen recording
a Start area selection recording
s Stop current recording
m Show monitor information
c Open configuration menu (change themes)
q Quit application

⚙️ Configuration

Recit stores its configuration in ~/.config/recit/config.json:

{
  "output_dir": "/home/user/Videos/Recordings",
  "format": "webm",
  "framerate": 30,
  "resolution": "720p",
  "quality": "high",
  "hotkey": "ctrl+shift+r",
  "theme": "base2tone-evening"
}

Available Options

  • format: webm or mp4
  • framerate: 15, 30, or 60
  • resolution: 480p, 720p, or 1080p (full screen only)
  • theme: See available themes with c → Change theme

🎨 Themes

Recit includes 9 custom Base2Tone themes plus built-in Textual themes:

Base2Tone Themes:

  • Evening (purple/orange)
  • Sea (teal/orange)
  • Forest (green/brown)
  • Field (teal/red)
  • Desert (beige/brown)
  • Drawbridge (blue/orange)
  • Earth (brown/orange)
  • Lake (blue/orange)
  • Meadow (blue/yellow)

Built-in Themes:

  • textual-dark
  • nord
  • gruvbox
  • dracula
  • textual-ansi

Press c to open the config menu and change themes on the fly!

📁 Project Structure

recit/
├── recit           # Launch script
├── recit.py        # Main TUI application
├── monitor_utils.py # Monitor detection utilities
└── requirements.txt # Python dependencies

🛠️ Technical Details

  • TUI Framework: Textual
  • Video Encoding: FFmpeg with VP9 codec (WebM)
  • Area Selection: slop
  • Screenshots: scrot + ImageMagick
  • Monitor Detection: xrandr

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📝 License

MIT License - feel free to use this project however you'd like!

🙏 Acknowledgments

  • Built with Textual by Textualize
  • Base2Tone themes by Bram de Haan
  • Inspired by GNOME Screen Recorder

📧 Contact

Created by theSmuz


Recit - Record it with style! 🎬

About

A beautiful terminal screen recorder for Linux

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published