GIPH(1)

πŸ“¦ version 1.1.1, in nixos 26.05, nixpkgs unstable

πŸ’… GIPH(1) β€” the giph glow-up πŸ’…

okay bestie, welcome to section 1 of the manual, and this one is literally about giph, a whole icon. buckle up πŸŽ€


✨ NAME ✨

giph β€” record a gif from your desktop, a window, or a selection πŸ¦‹


🌸 SYNOPSIS 🌸

giph [OPTIONS] [FILENAME]
giph [-g GEOMETRY | -w INT | -s [-l] [-c FLOAT,FLOAT,FLOAT,FLOAT] [-p
FLOAT] [-b FLOAT]] [-d INT] [-t INT] [-f INT] [--format STRING] [-a |
-as STRING] [-m |  -ms STRING] [FILENAME]

πŸ’– DESCRIPTION πŸ’–

so giph is a screen recorder, right? it records the desktop, a window, or a selection, and then encodes all of that into a video file. main character energy honestly πŸ’…

the recorded video file gets encoded in one of the supported formats β€” gif, webm, mp4, or mkv β€” and it picks based on the file extension you give it in [FILENAME].

when you omit [FILENAME], the default format "gif" is used (use --format to overwrite that), and the resulting video gets printed directly to standard output. slay ✨


πŸŽ€ EXAMPLES πŸŽ€

giph -g 300x200+600+200 ~/Videos/$(date +%s).png

this records a 300x200 pixel (width x height) rectangle, shifted 600 pixel to the right and 200 pixel down from the top-left corner. the recording stops when either Ctrl+C is pressed, or after you call giph --stop.

the encoded gif will be saved in your user's videos directory and has the current timestamp as a name. cute and organized, we love to see it 🫢


✨ OPTIONS ✨

  • -h, --help β€” print help and exit, king behavior πŸ‘‘
  • --stop β€” finish any running giph recordings. the off switch, no cap πŸ”₯
  • --version β€” print version and exit ⭐
  • -v*, --verbose, --quiet β€” defines how verbose giph will be. omitting [FILENAME] will overwrite the verbosity to -1 (quiet). use the following list to figure out which option to use for each verbosity level πŸ’€:
    • -1 (quiet) β€” --quiet β€” logs errors
    • 0 (normal) β€” like quiet, also displays interactive components
    • 1 (verbose) β€” -v, --verbose β€” like normal, also logs basic information about steps
    • 2 (very_verbose) β€” -vv β€” like verbose, also logs detailed information about steps
    • 3 (debug) β€” -vvv β€” like very_verbose, also shows background process output
  • -s, --select β€” uses slop to interactively select the region or window you wanna record πŸ¦‹. this uses the SLOP OPTIONS described below
  • -g, --geometry GEOMETRY β€” sets the region to record
  • -w, --window INT β€” sets the window id of the desired window to record
  • -d, --delay INT β€” sets the time in seconds to wait before the recording starts ⏳
  • -t, --timer TIMEDURATION β€” sets a fixed time to record. the format is a timeduration as described in the ffmpeg documentation (<https://ffmpeg.org/ffmpeg-utils.html#Time-duration> β€” the original links it, we're just saying it like it is πŸ’œ). as an example, '10' would mean 10 seconds, '3:30' means 3 minutes and 30 seconds, '1:02:03' means 1 hour, 2 minutes and 3 seconds, and '5.5' means 5.5 seconds
  • -f, --framerate INT (default: 20) β€” sets the desired framerate of the recorded gif. a higher framerate will result in a larger filesize (bigger file, bigger vibe check 😭)
  • --format β€” overwrites the format that should be used for the recording. the available formats are gif, webm, mp4 and mkv. while gif is the only format that does not support audio recording πŸ™ˆ
  • -a, --audio β€” enables audio recording for formats that support audio 🎧
  • -as, --audio-source STRING (default: '0') β€” define which pulseaudio source should be used for the recording. run pacmd list-sources to get a list of all available sources. you can use either the index or the name of the source for this parameter. when setting this parameter, setting -a or --audio can be omitted πŸ’…
  • -m, --microphone β€” enables microphone recording for formats that support audio 🎀
  • -ms, --microphone-source STRING (default: 'default') β€” define which pulseaudio source should be used for the recording. run pacmd list-sources to get a list of all available sources. you can use either the index or the name of the source for this parameter. when setting this parameter, setting -m or --microphone can be omitted 🫢
  • -y, --notify β€” uses notify-send to send an urgent notification if an error happens, or a normal notification when the final gif was saved successfully πŸ””

πŸ¦‹ SLOP OPTIONS πŸ¦‹

when -s or --select is used, slop will be used to get geometry information. read slop(1) for more detailed information about slop options. the following options will be passed to slop if they are set πŸ‘‡

  • -b, --bordersize FLOAT (default: 1) β€” set the selection border thickness
  • -p, --padding FLOAT (default: 0) β€” set the selection padding. this can be negative 😳
  • -to, --tolerance FLOAT (default: 2) β€” defines how far the mouse can move after clicking while still being considered a click πŸ–±οΈ
  • -c, --color FLOAT,FLOAT,FLOAT,FLOAT (default: 0.5,0.5,0.5,1) β€” set the selection color as RGB or ARGB 🌈
  • -r, --shader STRING β€” set the shader to be used ✨
  • -n, --nodecorations INT (default: 0) β€” tries to select child windows. 0 is off, 1 tries to remove decorations, 2 aggressively tries to remove decorations πŸ’€
  • -l, --highlight β€” highlight the selection rectangle. this uses the color provided in -c or --color πŸ’–
  • -k, --nokeyboard β€” disable being able to cancel the selection using the keyboard
  • -o, --noopengl β€” disable graphics acceleration

πŸ’œ SEE ALSO πŸ’œ

slop(1) β€” go read it, iykyk 🧚


and that's the whole page, bestie!! πŸ“ MIT License, April 2019 β€” periodt, that's the sign-off, no cap β­πŸ’…

πŸ“¦ where this page comes from