blob: f381b9d1c877e4672ba6efd9022cb42b28afbd09 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
[](https://www.repostatus.org/#active)
[](/LICENSE)
[](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|*
|