screenrecord/README.md

63 lines
2.1 KiB
Markdown
Raw Normal View History

2022-11-04 19:46:55 +01:00
# Screen Record
2022-11-04 19:07:23 +01:00
2022-11-04 19:46:55 +01:00
`screenrecord.sh` is a mindless, yet useful,
script to record your screen in [sway](https://swaywm.org).
Really, it doesn't do anything else.
# Why?
Because I had enough to bring up a shell, use tiresome aliases,
2022-11-04 19:48:56 +01:00
or, god forbid, fire up a whole OBS Studio just to record my screen.
2022-11-04 19:46:55 +01:00
I wanted a simple keyboard shortcut to toggle screen recording on and off at will,
and I have the impression other people may wish the same.
# Does it depend on anything?
Yes, to use `screenrecord.sh` you need:
* [wf-recorder](https://github.com/ammen99/wf-recorder) for the actual screen recording functionality.
* [mako](https://github.com/emersion/mako), or any other notification manager that may be triggered via `notify-send`.
* [jq](https://stedolan.github.io/jq) to parse JSON from command line.
* [slurp](https://wayland.emersion.fr/slurp/) to select a screen area.
These lovely utilities are often already available on many `sway` setups.
# How do I use it?
1. Either clone the repo or copy the latest `screenrecord.sh`
somewhere in your home. For the sake of this example, let's assume you
placed `screenrecord.sh` in some `$HOME/bin` directory.
2. Customize your `~/.config/sway/config` and register some shortcuts
to record your screen, e.g.:
```
set $screenrecord "$HOME/bin/screenrecord.sh"
bindsym $mod+r exec $screenrecord -t
bindsym $mod+Shift+r exec $screenrecord -wt
bindsym $mod+Control+r exec $screenrecord -st
```
You should now be able to record your screen with those shortcuts.
3. If you're using a status bar (e.g. [i3status](https://github.com/i3/i3status)),
you can easily customize it to react to `screenrecord.sh` pidfile,
for example in your `~/.i3status.conf`:
```
order += "run_watch screenrecord"
run_watch screenrecord {
pidfile = "/var/run/user/1000/screenrecord.pid"
format = "🎥"
format_down = ""
}
```
# License
Public domain, enjoy this code at will and use it at your own risk.
See [unlicense.org](https://unlicense.org/) for details or read the `LICENSE` file.
Cheers :)