Skip to content

Commit

Permalink
Merge branch 'release-4.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
HeyLazySunnyKid committed Jan 31, 2021
2 parents 8a37d7d + 4ba675e commit db79ee7
Show file tree
Hide file tree
Showing 21 changed files with 1,375 additions and 732 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.teiler.history
.teiler.history.tmp
TODO
18 changes: 8 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,11 @@ ifndef PREFIX
endif

install:
install -Dm755 teiler $(DESTDIR)$(PREFIX)/bin/teiler
install -Dm644 config.example $(DESTDIR)$(PREFIX)/share/doc/teiler/config.example
install -Dm644 README.md $(DESTDIR)$(PREFIX)/share/doc/teiler/README.md
install -Dm644 config.example $(DESTDIR)/etc/teiler/teiler.conf
install -Dm755 teiler_helper $(DESTDIR)$(PREFIX)/bin/teiler_helper
install -Dm644 uploader/s3 $(DESTDIR)/etc/teiler/uploader/s3
install -Dm644 uploader/scp $(DESTDIR)/etc/teiler/uploader/scp
install -Dm644 profiles/mp4-pulse $(DESTDIR)/etc/teiler/profiles/mp4-pulse
install -Dm644 profiles/mp4-noaudio $(DESTDIR)/etc/teiler/profiles/mp4-noaudio
install -Dm644 profiles/webm-noaudio $(DESTDIR)/etc/teiler/profiles/webm-noaudio
install -Dm755 heyteiler $(DESTDIR)$(PREFIX)/bin/heyteiler
install -Dm644 README.md $(DESTDIR)$(PREFIX)/share/doc/heyteiler/README.md
install -Dm644 heyteiler.conf $(DESTDIR)/etc/heyteiler/heyteiler.conf
install -Dm755 heyteiler_helper $(DESTDIR)/etc/heyteiler/heyteiler_helper
install -Dm644 pygmentize_types.txt $(DESTDIR)/etc/heyteiler/pygmentize_types.txt
install -Dm644 targets/local $(DESTDIR)/etc/heyteiler/targets/local
install -Dm644 targets/s3 $(DESTDIR)/etc/heyteiler/targets/s3
install -Dm644 targets/scp $(DESTDIR)/etc/heyteiler/targets/scp
120 changes: 95 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,109 @@
# heyteiler - a little screenshot tool written in bash

heyteiler (forked from [teiler](https://github.com/carnager/teiler)) uses rofi to draw a menu which lets you
choose between screenshots or screencasts.
heyteiler (forked from [teiler](https://github.com/carnager/teiler)) uses rofi
to draw a menu which lets you choose between screenshots, screencasts,
saveclipboard or recognize text.

## Screenshot

![teiker](screenshot.png "heyteiler in action")
![mainMenu](screenshot.png "heyteiler in action")

## Features
* screenshots fullscreen/monitor/area
* delay of screenshots
* screencasts of monitor/area
* upload screenshots/screencasts - teiler can also upload your files via scp, imgur or filebin, ix (for pastes) and amazon s3.
* History of Images and Videos with support for
* Screenshots fullscreen all/fullscreen/area
* Screencasts of fullscreen/area
* Save clipboard text in file
* Recognize text and put it in clipboard
* Delay screenshots
* Save screenshots in clipboard
* Save filepath of result in clipboard
* Upload your files via:
- imgur (only images, require: [imgurbash2](https://github.com/ram-on/imgurbash2))
- ix (only text)
- scp (all formats, require: openssh)
- amazon s3 (all formats, require: s3cmd cli tool)
* History of Images,Videos and Text with support for
+ Viewing
+ Editing
+ Uploading
* Commandline interface for direct access to all features. Useful for hotkeys
* Recognize text and put it in clipboard
* Commandline interface for direct access to all features: useful for hotkeys of
if your don't want to use rofi

## Configuration

Default system configuration storied in the `/etc/heytiler` directory. But for
user defined changes i recommend to copy `/etc/heytiler` folder in user
`$HOME/.config/heytiler` directory

```bash
cp -R /etc/heytiler ~/.config/heyteiler
```

Here you find:
- heyteiler.conf - main configuration file
- targets - folder with targets configuration files

## Choises
Some menus has choises in header. For change values in them use rofi keybinds: Alt+1,
Alt+2, Alt+3

![choises](choises.png "heyteiler menu with choises")

## Targets

Targets is main feature of heyteiler. In config directory, you may find targets
folder. Every file in this folder describe one target.
You may change exist target or create your own just copy one of existing.
See `targets` files for more options

Supported `target_type`: 'local', 'scp', 'imgur', 'clipboard'
- Images: local, clipboard, scp, s3, imgur
- Video: local, scp, s3
- Text: s3, scp, ix.io

imgur and ix.io target types worked without any additional settings. So, they
haven't special file. But if you want to change local directory for backups you
may copy `local` target and set `target_type=imgur`.

```bash
cd ~/.config/heyteiler/targets
cp local my_custom_imgur
sed -i 's/target_type=.*/target_type=imgur/' my_custom_imgur
# Change imgur backup directory
sed -i 's/Screenshots/Imgur/' my_custom_imgur
```

### Local target

*DONT REMOVE LOCAL TARGET*

`local` target is a special target which heyteiler use for saving files before
upload on the resource. So even if you use network resource as a target (ex:
imgur or scp) your file will be available in future in `local` target folders or in
history tab.

Also `local` target used for openning files from history.


## Dependencies:

* xininfo (https://github.com/DaveDavenport/xininfo)
* rofi (https://github.com/DaveDavenport/rofi)
* ffmpeg (http://www.ffmpeg.org)
Choose dependencies based on necessary features:

* xclip
* maim (https://github.com/naelstrof/maim)
* slop (https://github.com/naelstrof/slop)
* copyq (https://github.com/hluk/CopyQ)

## Optional Dependencies

* imgurbash2 (https://github.com/ram-on/imgurbash2)
* filebin (http://git.server-speed.net/users/flo/filebin)
* openssh (http://www.openssh.com)
* ix (http://ix.io)
* s3 cli tools
* tesseract (https://github.com/tesseract-ocr/tesseract)
* xdg-open
* libnotify
* UI dependency:
* rofi (https://github.com/DaveDavenport/rofi)
* Screenshot dependency
* maim (https://github.com/naelstrof/maim)
* Screencasts dependencies:
* xininfo (https://github.com/DaveDavenport/xininfo)
* ffmpeg (http://www.ffmpeg.org)
* Recognize dependencies:
* maim
* tesseract (https://github.com/tesseract-ocr/tesseract)
* ImageMagic (https://imagemagick.org/index.php)
* Uploading dependencies:
* curl
* imgurbash2 (https://github.com/ram-on/imgurbash2)
* openssh (http://www.openssh.com)
* s3 cli tools
Binary file added choises.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
74 changes: 0 additions & 74 deletions config.example

This file was deleted.

9 changes: 9 additions & 0 deletions generate_types.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env bash

# Script for generate pygmentize_types.txt file
echo 'text .txt' > pygmentize_types.txt
pygmentize -L lexers | \
tail -n +5 |\
sed -n 'N;s/\n//p' |\
sed -E -n 's/\* ([^,:]+).*filenames[^*]+\*(\.[^,)]+).*/\1 \2/p' |\
grep -v 'text' >> pygmentize_types.txt
Loading

0 comments on commit db79ee7

Please sign in to comment.