No description
Find a file
2026-01-27 14:22:10 -05:00
.gitignore downloads archive instead of cloning repo 2026-01-20 22:06:55 -05:00
.SRCINFO moved pkg info variables inside makefile 2026-01-26 14:21:28 -05:00
advice.install invalid input file args used as std input 2026-01-09 15:37:13 -05:00
LICENSE necessary files for AUR pkg 2025-12-26 15:31:26 -05:00
PKGBUILD moved pkg info variables inside makefile 2026-01-26 14:21:28 -05:00
README new README 2026-01-27 14:22:10 -05:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[![Project Status: Active  The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![License](https://img.shields.io/badge/License-0BSD-blue.svg)](/LICENSE)
[![Language](https://img.shields.io/badge/Language-C-blue.svg)](https://en.wikipedia.org/wiki/C_(programming_language))

## Summary

Blindtaste is a lightweight, low-latency terminal "blackboard" designed for capturing quick thoughts and fleeting information without the overhead of a traditional text editor.

It operates by taking over the terminal interface to provide a distraction-free writing environment that is significantly faster than commercial alternatives.

> **Note:** This project is still being developed. As the software grows larger and more powerful, more information will be added.

## Features

### High Performance

Starts in milliseconds-measured at **10x faster** than Microsoft Word or LibreOffice.

### Zero Disk I/O

Text remains in the terminal scrollback **in memory** after exit without cluttering your filesystem.

### Low Latency

Optimized for non-canonical read operations, ensuring **zero lag** between keystrokes and display.

### Memory Efficient

Uses a **dynamic input buffer** that scales with your thoughts.

### Cross-Platform

Robust handling of line endings (\r\n) for consistent behavior across different terminal emulators.

## Technical Implementation

Blindtaste achieves its speed and "blackboard" feel by manipulating low-level terminal flags to bypass standard processing:

### Raw Mode

It disables canonical mode (ICANON), echo (ECHO), and signal processing (ISIG). This prevents the shell from interpreting your notes as commands.

### Optimized I/O

Uses the write() system call instead of printf() for reduced overhead and sets a 1-byte minimum for read operations to ensure immediate character processing.

### State Recovery

The software captures your environment's original terminal configurations and restores them upon exit, ensuring your terminal remains functional.

## Installation

### Arch Linux

#### Download the compilation script

```bash
git clone https://aur.archlinux.org/blindpaste.git
```

#### Enter directory

```bash
cd blindpaste
```

#### Make the package

```bash
makepkg -sfi
```

### Gentoo Linux

#### Enable the Guru repository

```bash
sudo emerge -av app-eselect/eselect-repository

sudo eselect repository enable guru

sudo emaint sync -r guru
```

#### Download and compile the package

```bash
sudo emerge -av app-text/blindpaste
```

### Source

#### Download the source code

```bash
git clone https://git.projectgrid.net/blindpaste.git
```

#### Enter directory

```bash
cd blindpaste
```

#### Make and Install

```bash
sudo make install
```

## Usage

### Quick note-taking

```bash
bp
```

### Stream editing

```bash
env | bp
```

### "Copy-on-writing"

```bash
sudo blindpaste /etc/fstab
```

### Bonus: Print message

```bash
bp HelloWorld!
```

### Bonus 2: Use as Git pager

```bash
git config --global core.pager "blindpaste"
```

## Bug Reports & Contributing

Please report any issues or hardware edge cases via the issue tracker on my [git portal](https://projectgrid.net/museum/blindpaste)!

## Author

|Maintainer|Gabrel Oliveira da Silva
|------------|-------------------------
|Status|Maintained/Active
|Web-Page|https://projectgrid.net
|Patch Work|https://projectgrid.net/museum/blindpaste
|SCM|git://git.projectgrid.net/blindpaste.git
|Files|*