Full Code of phw/peek for AI

main dab07c27d7e3 cached
128 files
908.7 KB
253.0k tokens
2 symbols
1 requests
Download .txt
Showing preview only (950K chars total). Download the full file or copy to clipboard to get everything.
Repository: phw/peek
Branch: main
Commit: dab07c27d7e3
Files: 128
Total size: 908.7 KB

Directory structure:
gitextract_7idw4r1t/

├── .github/
│   └── ISSUE_TEMPLATE/
│       └── bug_report.md
├── .gitignore
├── AUTHORS
├── BUILD_NOTES.md
├── CHANGES.md
├── LICENSE
├── README.md
├── build-aux/
│   ├── appimage/
│   │   ├── appimage.yml
│   │   └── launch-peek
│   ├── meson/
│   │   └── postinstall.py
│   └── snap/
│       └── snapcraft.yaml
├── data/
│   ├── com.uploadedlobster.peek.appdata.xml.in
│   ├── com.uploadedlobster.peek.desktop.in
│   ├── com.uploadedlobster.peek.gschema.xml
│   ├── com.uploadedlobster.peek.service.in
│   ├── icons/
│   │   └── meson.build
│   ├── man/
│   │   ├── build_man.sh
│   │   ├── meson.build
│   │   └── peek.1.txt
│   └── meson.build
├── meson.build
├── meson_options.txt
├── po/
│   ├── LINGUAS
│   ├── Makevars
│   ├── POTFILES.in
│   ├── ar.po
│   ├── bg.po
│   ├── bn.po
│   ├── ca.po
│   ├── cs.po
│   ├── de.po
│   ├── el.po
│   ├── eo.po
│   ├── es.po
│   ├── eu.po
│   ├── fa.po
│   ├── fi.po
│   ├── fr.po
│   ├── he.po
│   ├── hr.po
│   ├── hu.po
│   ├── id.po
│   ├── it.po
│   ├── ja.po
│   ├── kn.po
│   ├── ko.po
│   ├── lt.po
│   ├── meson.build
│   ├── ml.po
│   ├── mr.po
│   ├── nap.po
│   ├── nb.po
│   ├── nl.po
│   ├── peek.pot
│   ├── pl.po
│   ├── pt.po
│   ├── pt_BR.po
│   ├── pt_PT.po
│   ├── ru.po
│   ├── si.po
│   ├── sk.po
│   ├── sr.po
│   ├── sv.po
│   ├── ta.po
│   ├── th.po
│   ├── tr.po
│   ├── uk_UA.po
│   ├── zh_CN.po
│   └── zh_TW.po
├── rpm/
│   └── peek.spec
├── src/
│   ├── application.vala
│   ├── dbus/
│   │   ├── README.md
│   │   ├── freedesktop-dbus.vala
│   │   ├── freedesktop-filemanager.vala
│   │   ├── generate.sh
│   │   ├── gnome-shell-screencast.vala
│   │   ├── gnome-shell.vala
│   │   ├── org.freedesktop.DBus.xml
│   │   ├── org.freedesktop.FileManager1.xml
│   │   ├── org.gnome.Shell.Screencast.xml
│   │   └── org.gnome.Shell.xml
│   ├── defaults.vala
│   ├── desktop-integration.vala
│   ├── errordomain.vala
│   ├── gtk-helper.vala
│   ├── main.vala
│   ├── meson.build
│   ├── post-processing/
│   │   ├── cli-post-processor.vala
│   │   ├── extract-frames-post-processor.vala
│   │   ├── ffmpeg-post-processor.vala
│   │   ├── gifski-post-processor.vala
│   │   ├── post-processing-pipeline.vala
│   │   └── post-processor.vala
│   ├── recording/
│   │   ├── base-screen-recorder.vala
│   │   ├── cli-screen-recorder.vala
│   │   ├── ffmpeg-screen-recorder.vala
│   │   ├── ffmpeg.vala
│   │   ├── gnome-shell-dbus-recorder.vala
│   │   ├── recording-area.vala
│   │   ├── recording-config.vala
│   │   ├── screen-recorder-factory.vala
│   │   └── screen-recorder.vala
│   ├── ui/
│   │   ├── about-dialog.vala
│   │   ├── application-window.vala
│   │   ├── error-dialog.vala
│   │   ├── preferences-dialog.vala
│   │   ├── set-window-size-dialog.vala
│   │   └── shortcut-label.vala
│   ├── utils.vala
│   └── vapi/
│       ├── config.vapi
│       └── keybinder-3.0.vapi
├── tests/
│   ├── meson.build
│   ├── screen-recorder/
│   │   ├── test-cli-screen-recorder.vala
│   │   └── test-recording-area.vala
│   ├── test-desktop-integration.vala
│   └── test-utils.vala
├── tools/
│   └── print-description.py
└── ui/
    ├── about.ui.in
    ├── application-window.ui
    ├── css/
    │   ├── ambiance.css
    │   ├── breeze-dark.css
    │   ├── breeze.css
    │   ├── peek.css
    │   └── unity.css
    ├── error-dialog.ui
    ├── peek.gresource.xml
    ├── preferences.ui
    └── set-window-size-dialog.ui

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
labels:

---

**System Information**

* Distribution package:
* Peek version:
* GTK:
* Additional info if applicable:

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior, for example:
1. Start peek
2. Record the screen for 5 seconds
3. You should see the error: `(peek:5661): WARNING **`

**Expected behavior**
A clear and concise description of what you expected to happen, if relevant to the bug.

**Additional context**
Add any other context or screenshots about the bug being reported.


================================================
FILE: .gitignore
================================================
*~
/build/
/builddir/
/build_*/
/.vscode/

CMakeCache.txt
CMakeFiles/*
cmake_install.cmake
Makefile

peek
src/*.c
tests/*.c
ui/*.c
ui/about.ui
data/gschemas.compiled
data/*.desktop
data/*.appdata.xml

# snapcraft build directories
parts/
prime/
stage/
*.snap


================================================
FILE: AUTHORS
================================================
Development

  Philipp Wolfer <ph.wolfer@gmail.com>
  Alessandro Toia <gort818@gmail.com>

Icon design

  Tobias Bernard <tbernard@gnome.org>
  Jakub Steiner <jimmac@gmail.com>
  Sam Hewitt <sam@snwh.org>
  Lapo Calamandrei

Translations

  Adolfo Jayme-Barrientos
  Åke Engelbrektson
  Alessandro Toia <gort818@gmail.com>
  Alexander Gabilondo
  Alexander Wunschik <mail@wunschik.it>
  Allan Nordhøy <epost@anotheragency.no>
  Boris Sikora <sikora.boris@gmail.com>
  Chunyang Xu
  coin3x
  cromat
  Dawid Dziurla <dawidd0811@gmail.com>
  Fábio Nogueira <fnogueira@gnome.org>
  Geraldo Ribeiro <geraldolsribeiro@gmail.com>
  Heimen Stoffels
  Holman Calderón <halecalderon@gmail.com>
  Mateus "Doodad" Medeiros <mateusbmedeiros@outlook.com>
  Mohamed Sakhri <mohamed.sakhri@gmail.com>
  Moo
  MuRye
  Ole Erik Brennhagen
  Philipp Wolfer <ph.wolfer@gmail.com>
  se7entime <se7entime@openmailbox.org>
  Steeven Lopes <steevenlopes@outlook.com>
  strixaluco
  Tirifto <tirifto@posteo.cz>
  Tomáš Průcha <pruchatomas@gmail.com>
  Victor Kropp <victor.kropp@gmail.com>
  YFdyh000
  Yoan Malié <hello@yoan-malie.fr>
  Марко М. Костић <marko.m.kostic@gmail.com>

Please let me know if you are missing on this list.


================================================
FILE: BUILD_NOTES.md
================================================
# Peek build and packaging notes
This file contains information about building and packaging Peek. The
information here is mainly for developers and packagers, end users should
refer to the installation instructions in README.md.

## Building

### Building from source

From inside the Peek source folder run:

    meson setup --prefix=/usr builddir
    cd builddir
    ninja

`ninja` might be called `ninja-build` on some distributions.

### Run tests

    ninja test

### Running Peek with debug output

    G_MESSAGES_DEBUG=all ./peek

### Update translations

    ninja peek-update-po
    ninja peek-pot


## Packaging

### Debian package

#### Build requirements
 - meson (>= 0.47.0)
 - valac (>= 0.22)
 - libgtk-3-dev (>= 3.20)
 - libkeybinder-3.0-dev
 - libxml2-utils
 - gettext (>= 0.19 for localized .desktop entry)
 - txt2man (optional for building man page)
 - gzip (optional for building man page)

#### Runtime requirements
 - libgtk-3-0 (>= 3.20)
 - libglib2.0 (>= 2.38)
 - libkeybinder-3.0-0
 - ffmpeg >= 3

### Flatpak

Install the GNOME runtime and SDK as described in
http://docs.flatpak.org/en/latest/getting-setup.html

**Note:** Flatpak >= 0.9.3 is required for the build.

Build Flatpak and place it in flatpak-repo repository:

    flatpak-builder --repo=flatpak-repo com.uploadedlobster.peek \
      --gpg-sign=B539AD7A5763EE9C1C2E4DE24C14923F47BF1A02 \
      flatpak-stable.json --force-clean

You can build for different architecture with the `--arch` parameter, e.g.
`--arch=x86_64` or `--arch=i386`.

Generate a `.flatpak` file for single file distribution:

    flatpak build-bundle flatpak-repo peek-1.0.0-0.flatpak \
      com.uploadedlobster.peek stable


================================================
FILE: CHANGES.md
================================================
# Version 1.6.0 - unreleased
- feat: Add support for GNOME 40+ (#910)
- feat: Add sound capture settings
- feat: Removed issue submission from error dialog
- feat: Removed MP4 recording option due to maintenance and performance issues
- fix: Fix desktop integration for GNOME Flashback (#1202)
- fix: Fix format selection popover updating on format change
- i18n: New translations for Hungarian, Malayalam, Portuguese and Slovak
- i18n: Updated translations for Basque, Chinese (Traditional), Croatian,
  Czech, Dutch, Esperanto, Finnish, French, German, Hebrew, Indonesian, Italian,
  Lithuanian, Norwegian Bokmål, Polish, Portuguese (Brazil), Portuguese
  (Portugal), Russian, Serbian, Spanish, Swedish, Turkish and Ukrainian
- build: cmake builds are no longer supported, use meson

# Version 1.5.1 - 2020-02-19
- build: Fixed building with CMake

# Version 1.5.0 - 2020-02-18
- feat: Dialog to set recording area size (#246, #519)
- feat: Use radio buttons for format selection to easily show selected format
- fix: Show error dialog on startup if recording backend is unavailable (#539)
- fix: Fix missing title in taskbar on KDE Plasma (#349)
- fix: Changing output format in small UI mode resizes the window
- fix: Disable menu during recording
- i18n: New translations for Finnish and Hebrew
- i18n: Updated translations for Basque, Chinese (Simplified),
  Chinese (Traditional), Croatian, Czech, Dutch, French, German, Indonesian,
  Lithuanian, Norwegian Bokmål, Portuguese (Brazil), Spanish and Swedish

# Version 1.4.0 - 2019-09-24
- feat: Move app menu into application Window (#391, #438)
- feat: New application icon following new GNOME icon guidelines (#114, #390)
- feat: Set window type hint to UTILITY (ensures window gets opened as floating
  on tiling window managers)
- feat: Show shortcut hint in main window (#234, #285)
- feat: Added Recorder, Video and AudioVideo to desktop files categories (#340)
- feat: Improved the error message shown on GNOME Shell recording issues
- feat: Provide more details in error reports
- fix: Fixed double free error after ffmpeg recording (#419)
- fix: Fixed building with Vala 0.46.1 (#501)
- misc: Raised minimum Gtk version to 3.20
- i18n: Updated translations for Basque, Chinese (simplified),
  Chinese (traditional), Czech, Dutch, Esperanto, French, German, Italian,
  Japanese, Lithuanian, Norwegian Bokmål, Polish, Portuguese (Brazil),
  Portuguese (Portugal), Russian, Serbian, Spanish, Swedish, Turkish, Ukrainian
- i18n: New translations for Japanese and Turkish
- build: New Meson based build (old CMake build is deprecated and will be
  removed in release 1.5)
- build: Autogenerate po/LINGUAS

# Version 1.3.1 - 2018-03-29
- fix: Use yuv420p for VP9 encoding (#299)
- fix: Disable animations and transitions on recording view overlays (#208)
- i18n: Updated French and Russian translations
- packaging: Build ffmpeg with vp9_superframe for Flatpak and AppImage

# Version 1.3.0 - 2018-03-25
- feat: Use VP9 instead of VP8 for WebM recording (#293)
- feat: libx264 is no longer required when just recording GIF / APNG with
  FFmpeg back end
- feat: Removed avconv / libav backend and ImageMagick post processor
- misc: Added sources for DBus interfaces (#296)
- fix: Fixed lossy artifacts increasing GIF size when using gnome-shell
  recorder (#288)
- fix: Fixed countdown sometimes appearing in recording (#208)
- fix: Do not freeze window size on Xfce (#269)
- i18n: Fixed names of Chinese localization files (#294)
- i18n: Updated translations for Basque, Chinese (Simplified), Lithuanian,
  Norwegian Bokmål, Russian, Serbian, Ukrainian
- packaging: Removed Snapcraft build and Snap packages (#245, #270)

# Version 1.2.2 - 2018-01-28
- feat: Option to enable/disable desktop notifications after saving (#21)
- fix: Do not use H.264 baseline profile if libx264 was compiled with 10bit (#248)
- fix: Recording 1fps with FFmpeg does not fail anymore (#249)
- i18n: Updated translations for Arabic, Basque, Chinese (Simplified), Czech,
  Dutch, Esperanto, German, Norwegian Bokmål, Polish, Portuguese (Brazil),
  Russian, Swedish

# Version 1.2.1 - 2017-12-03
- i18n: Updated translations for Arabic, Czech, Esperanto, French, Lithuanian,
  Norwegian Bokmål, Polish, Serbian

# Version 1.2.0 - 2017-11-25
- feat: Quick format selection in headerbar (#174)
- feat: GIF conversion with gifski if installed for improved quality (#212, #179)
- feat: GIF quality level can be set in preferences, if gifski is available (#212)
- feat: GIF conversion with FFmpeg as default instead of ImageMagick (#125)
- feat: Display elapsed time in headerbar (#214)
- feat: Display an animated spinner while post processing (#58)
- feat: Support APNG as output format (#108)
- feat: Command line parameter `--no-headerbar` (#203)
- feat: Show dialog with error details on recording errors (#49)
- fix: Temporary files get unique name again (was broken in #161)
- fix: Quitting application does not interrupt rendering (#189)
- fix: Much smaller temporary file sizes
- fix: Recording could be stopped before it had actually started
- fix: Do not load local settings schema in release builds
- fix: On Plasma with Breeze theme Peek window was hard to resize (#199)
- i18n: Added Chinese (Traditional), Neapolitan
- i18n: Updated translations for Czech, Dutch, Esperanto, German, Italian,
  Lithuanian, Norwegian Bokmål, Polish, Serbian, Swedish
- build: libkeybinder is now optional
- package: Reduced file size for Snap packages

# Version 1.1.0 - 2017-10-05
- feat: Transparent recording area without compositor (#147, #7)
- fix: Unusual default permissions (#161)
- fix: Explicitly set ImageMagick resource limits (#112, #125)
- i18n: Updated translations for Basque, Chinese (Simplified), Czech, Dutch,
  French, German, Lithuanian, Russian, Serbian, Spanish, Swedish, Polish,
  Portuguese (Brazil)
- build: New flag `DISABLE_GNOME_SHELL` to disable gnome-shell recorder
- build: New flag `DISABLE_OPEN_FILE_MANAGER` to disable file manager integration
- build: Use CMake GNUInstallDirs variables
- package: Updated dependencies for Flatpak and Snap packages
- package: Stable Snap package depending on gnome-platform 3.26

# Version 1.0.3 - 2017-06-13
- package: fixed installing man page
- package: fixed Debian packaging

# Version 1.0.2 - 2017-06-13
- feat: Finish saving file when closing window while rendering (#142)
- feat: Highlight file when launching Dolphin file manager
- recording: Use raw video for recording GIF with GNOME Shell recorder (this
  is identical to how FFmpeg recorder works) (#116)
- fix: Failed to record MP4 when dimensions where not divisible by 2 (#141)
- fix: Make sure recording starts after countdown is hidden (#146)
- fix: Closing window while recording could leave temp files behind
- fix: KDE Plasma and XFCE were showing an empty button in notification
- fix: Place close button on the left on all desktops configured this way (#129)
- fix: Cinnamon showing notification with icon
- i18n: Indonesian and Serbian translation
- i18n: Updated translations for Basque, Esperanto, French, Portuguese (Brazil),
  Russian and Ukrainian
- docs: Added man page (#136)
- package: Removed dark theme hack for Flatpak (proper theme support is part of
  Flatpak now)
- package: Updated dependencies for Flatpak and Snap packages

# Version 1.0.1 - 2017-03-26
- recording: Use H.264 baseline profile for MP4 for increased browser
  compatibility (#111)
- recording: For WebM GNOME Shell recorder use same quality settings as with
  FFmpeg encoder
- ui: Show only the most recent "file saved" notification to avoid spamming
  the desktop with notifications.
- fix: Set temporary directory for ImageMagick
- fix: Always launch with `GDK_BACKEND=x11` for Wayland
- fix: Detect if global menus are disabled in Unity when running as
  Flatpak / Snap package
- i18n: Updated translations for Arabic, Czech, Russian and Spanish
- i18n: New translations for Basque and Esperanto
- docs: Added Debian instructions to build custom package
- docs: Added Snappy install instructions (development builds only)

# Version 1.0.0 - 2017-03-11
- recording: Support GNOME Shell screencast DBus service. Allows recording
   under GNOME Shell with XWayland (#33)
- recording: Support WebM and MP4 as output format (#73)
- recording: Added option to not record mouse cursor
- recording: Default frame rate is now 10fps
- ui: Recording can be started / stopped via configurable keyboard shortcut (#23)
- ui: Add `--start`, `--stop` and `--toggle` command line parameters to control
  the recording
- ui: Add `--backend` command line parameter to manually choose recording
  back end (`gnome-shell`, `ffmpeg` or `avconv` for now)
- ui: Hide button label on small window width. Allows for smaller recording area.
- misc: Use org.freedesktop.FileManager1 DBus service for launching file manager.
- fix: Fixed a possible race condition that could lead to empty or broken files (#1)
- fix: Moving Peek partially outside the visible area does no longer break the
  recording. Instead the recording area is clipped to the visible part (#64)
- fix: Starting recording in maximized window relocated the window on Ubuntu
  Unity (#74)
- fix: When canceling the file chooser also stop the background processing
  of the image (#96)
- i18n: Many updated translations, with Czech, Dutch, German, Lithuanian,
  Polish and Swedish 100% completed
- package: Peek is available from a Flatpak repository (#85)
- package: Provide AppStream data
- docs: Much improved README

# Version 0.9.1 - 2017-02-21
- i18n: Fixed Czech, Croatian, Korean, Dutch and Chinese (Simplified) not getting installed

# Version 0.9.0 - 2017-02-20
- ui: Fix problem of app menu not available on certain desktop configurations (#6)
- ui: Fix display of desktop notifications on Ubuntu Unity (#55)
- ui: Close button is displayed left on Ubuntu Unity (#67)
- ui: Workaround for gray borders under unity (#11)
- ui: Smaller border around recording area
- recording: Add resolution downsampling option (#32)
- recording: Minimal frame rate is now 1fps
- recording: Smaller temporary files by using libx264rgb instead of huffyuv (#2)
- recording: Support for avconv, if ffmpeg is unavailable (#56)
- i18n: Chinese (Simplified) translation
- i18n: Croatian translation
- i18n: Czech translation
- i18n: Dutch translation
- i18n: Italian translation
- i18n: Korean translation
- i18n: Norwegian Bokmål translation
- i18n: Portuguese (Brazil) translation
- i18n: Swedish translation
- fix: Fix possible crash when loading schema from local folder
- fix: Fix temp file deletion warning
- package: Peek is installable via [Ubuntu PPA](https://code.launchpad.net/%7Epeek-developers/+archive/ubuntu/stable)
- docs: Update installation instructions
- docs: Added FAQs

# Version 0.8.0 - 2016-10-25
- ui: Change button text while rendering (#24)
- ui: Add a `--version` command line argument
- ui: Show file choose directly after recording stops. This way
  rendering and choosing the file take place in parallel (#30)
- recording: Correctly scale recording area on HiDPI screens (#20)
- i18n: Arabic translation
- i18n: Catalan translation
- i18n: French translation
- i18n: Lithuanian translation
- i18n: Polish translation
- i18n: Portuguese (Portugal) translation
- i18n: Russian translation
- i18n: Spanish translation
- i18n: Ukrainian translation
- misc: Added generic name and sub category to desktop file
- misc: Added uninstall target, so source installations can be uninstalled
  with `make uninstall` (#28)
- fix: Fix DBus service file if installed to location other than `/usr` (#13)
- fix: Locales not loaded if not installed to /usr due to missing locale path

# Version 0.7.2 - 2016-07-07
- ui: Fixed window size not saved properly in Gtk 3.20 (#5)

# Version 0.7.1 - 2016-02-28
- build: Fixed building with Gtk 3.14
- build: Allow building with Gettext < 0.19 (disables localized .desktop file)

# Version 0.7.0 - 2016-02-26
- ui: Moved record / stop button to header
- ui: Show desktop notification after saving, with ability
  to open the file manager from there
- ui: Use custom styling for recording area overlay
- i18n: .desktop file gets translated

# Version 0.6.0 - 2016-01-28
- ui: Removed unused auto save option from preferences dialog
- fix: Try to always open the file manager, not the image viewer
- general: Changed app id to com.uploadedlobster.peek due to the previous using
  the wrong domain name by default. This also resets existing settings.
- i18n: Updated German translation

# Version 0.5.0 - 2016-01-09
- ui: Remember last used save folder
- ui: The default file name used is now a localized hidden setting
- ui: If dark theme is preferred is now a hidden setting

# Version 0.4.0 - 2016-01-08
- ui: Prefer dark theme, removed custom window background hack
- ui: Persist window position and size
- recording: Do not block UI during GIF post processing

# Version 0.3.0 - 2016-01-08
- ui: Added a "New window" action to app menu
- fix: If fallback app menu was used it was not clickable
- fix: Fixed warning and crash if indicators where shown when closing a window
- fix: Delay indicator no longer resizes small windows
- fix: Leave recording state if ffmpeg cannot be started
- fix: App menu on Unity showed "Unknown application name"
- i18n: App menu and preferences title are now localized

# Version 0.2.1 - 2016-01-07
- i18n: Setup gettext
- fix: Fixed installation directory for locale files

# Version 0.2.0 - 2016-01-07
- ui: Application logo
- ui: Size indicator is shown longer after resizing stops
- fix: Fixed window transparency not properly set on some systems
- fix: About dialog could not be closed with close button
- i18n: Integrated translation extraction into build
- i18n: German translation

# Version 0.1.0 - 2016-01-05
- Initial public release with basic functionality working


================================================
FILE: LICENSE
================================================
                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.


================================================
FILE: README.md
================================================
# Peek - an animated GIF recorder
[![GitHub release](https://img.shields.io/github/release/phw/peek.svg)](https://github.com/phw/peek/releases)
[![License: GPL v3+](https://img.shields.io/badge/license-GPL%20v3%2B-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Packaging status](https://repology.org/badge/tiny-repos/peek.svg)](https://repology.org/metapackage/peek/packages)
[![Translation Status](https://hosted.weblate.org/widgets/peek/-/svg-badge.svg)](https://hosted.weblate.org/engage/peek/?utm_source=widget)

> [!IMPORTANT]
> The Peek project has been declared deprecated, please read [the announcement](https://github.com/phw/peek/issues/1191).
> No new features will be developed and issue reporting has been closed.

![Peek recording itself](https://raw.githubusercontent.com/phw/peek/master/data/screenshots/peek-recording-itself.gif)

Simple screen recorder with an easy to use interface

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
## Contents

- [About](#about)
- [Requirements](#requirements)
  - [Runtime](#runtime)
  - [Development](#development)
- [Installation](#installation)
  - [Official distribution packages](#official-distribution-packages)
  - [Flatpak](#flatpak)
  - [Snappy](#snappy)
  - [AppImage](#appimage)
  - [Ubuntu](#ubuntu)
  - [ElementaryOS](#elementaryos)
  - [Debian](#debian)
  - [Fedora](#fedora)
  - [Solus](#solus)
  - [Arch Linux](#arch-linux)
  - [Other distributions](#other-distributions)
  - [From source](#from-source)
- [Frequently Asked Questions](#frequently-asked-questions)
  - [How can I capture mouse clicks and/or keystrokes?](#how-can-i-capture-mouse-clicks-andor-keystrokes)
  - [How can I improve the quality of recorded GIF files](#how-can-i-improve-the-quality-of-recorded-gif-files)
  - [Why are the GIF files so big?](#why-are-the-gif-files-so-big)
  - [If GIF is so bad why use it at all?](#if-gif-is-so-bad-why-use-it-at-all)
  - [What about WebM or MP4? Those are well supported on the web.](#what-about-webm-or-mp4-those-are-well-supported-on-the-web)
  - [What is the cause for "Could not start GNOME Shell recorder" errors?](#what-is-the-cause-for-could-not-start-gnome-shell-recorder-errors)
  - [Why can't I interact with the UI elements inside the recording area?](#why-cant-i-interact-with-the-ui-elements-inside-the-recording-area)
  - [My recorded GIFs flicker, what is wrong?](#my-recorded-gifs-flicker-what-is-wrong)
  - [On i3 the recording area is all black, how can I record anything?](#on-i3-the-recording-area-is-all-black-how-can-i-record-anything)
  - [Why no native Wayland support?](#why-no-native-wayland-support)
- [Contribute](#contribute)
  - [Development](#development-1)
  - [Translations](#translations)
- [License](#license)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## About
Peek makes it easy to create short screencasts of a screen area. It was built
for the specific use case of recording screen areas, e.g. for easily showing UI
features of your own apps or for showing a bug in bug reports. With Peek, you
simply place the Peek window over the area you want to record and press
"Record". Peek is optimized for generating animated GIFs, but you can also
directly record to WebM if you prefer.

Peek is not a general purpose screencast app with extended features but
rather focuses on the single task of creating small, silent screencasts of
an area of the screen for creating GIF animations or silent WebM videos.

Peek runs on X11 or inside a GNOME Shell Wayland session using XWayland.
Support for more Wayland desktops might be added in the future (see FAQs below).


## Requirements
### Runtime

- GTK+ >= 3.20
- GLib >= 2.38
- [libkeybinder3](https://github.com/kupferlauncher/keybinder)
- FFmpeg >= 3
- GStreamer 'Good' plugins (for recording on GNOME Shell)
- [gifski](https://gif.ski/) (optional but recommended for improved GIF quality)

### Development

- Vala compiler >= 0.22
- Meson >= 0.47.0
- Gettext (>= 0.19 for localized .desktop entry)
- txt2man (optional for building man page)


## Installation
### Official distribution packages
Peek is available in official package repositories for the following
distributions:

- [Alpine Linux](https://pkgs.alpinelinux.org/packages?name=peek)
- [Arch Linux](https://www.archlinux.org/packages/community/x86_64/peek/)
- [Debian](https://tracker.debian.org/pkg/peek)
- [Fedora](https://koji.fedoraproject.org/koji/packageinfo?packageID=28880)
- [Gentoo](https://packages.gentoo.org/packages/media-video/peek)
- [NixOS](https://search.nixos.org/packages?channel=unstable&query=peek)
- [OpenSUSE Tumbleweed](https://software.opensuse.org/package/peek)
- [Parabola](https://www.parabola.nu/packages/?q=peek)
- [Solus](https://dev.getsol.us/source/peek/)

### Flatpak
Peek can be installed on all distributions supporting [Flatpak](https://flatpak.org) from [Flathub](https://flathub.org/apps/details/com.uploadedlobster.peek).
To install, either download
[com.uploadedlobster.peek.flatpakref](https://flathub.org/repo/appstream/com.uploadedlobster.peek.flatpakref)
and open it with GNOME Software or install via command line (first time flatpak
users need to follow the [flatpak/flathub setup instructions](https://flatpak.org/setup/) first):

    flatpak install flathub com.uploadedlobster.peek

For full functionality you should also install
[xdg-desktop-portal-gtk](https://github.com/flatpak/xdg-desktop-portal-gtk).
It is available for most current distributions. Once installed, you can run Peek
via its application icon in your desktop environment or from the command line:

    flatpak run com.uploadedlobster.peek

To update to the latest version run:

    flatpak update --user com.uploadedlobster.peek

To test the latest development version you can install
[peek-master.flatpakref](http://flatpak.uploadedlobster.com/peek-master.flatpakref)

### Snappy
Peek no longer has officially supported Snap packages, see
[the announcement](https://www.reddit.com/r/Ubuntu/comments/870bcn/snap_support_for_peek_screen_recorder_discontinued/).
Please consider using the Flatpak or AppImage versions or use the Ubuntu PPA
if you are using Ubuntu.

### AppImage
Peek [AppImage](https://appimage.org/) packages are available on the
[release page](https://github.com/phw/peek/releases). To run download the
`.AppImage` file and set it executable, then just run it. You can name the file
however you want, e.g. you can name it just `peek` and place it in `$HOME/bin`
for easy access. See the [AppImage wiki](https://github.com/AppImage/AppImageKit/wiki)
for more information on how to use AppImages and integrate them with your system.

### Ubuntu
You can install the latest versions of Peek from the
[Ubuntu PPA](https://code.launchpad.net/~peek-developers/+archive/ubuntu/stable).

    sudo add-apt-repository ppa:peek-developers/stable
    sudo apt update
    sudo apt install peek

If you want to use the latest development version there is also a
[PPA with daily builds](https://code.launchpad.net/~peek-developers/+archive/ubuntu/daily)
available. Use the repository `ppa:peek-developers/daily` in the above commands.

### ElementaryOS
Adding PPA repositories requires the package `software-properties-common`

    sudo apt install software-properties-common
    sudo add-apt-repository ppa:peek-developers/stable
    sudo apt update
    sudo apt install peek

If you want to use the latest development version there is also a
[PPA with daily builds](https://code.launchpad.net/~peek-developers/+archive/ubuntu/daily)
available. Use the repository `ppa:peek-developers/daily` in the above commands.

### Debian
There are official Debian packages for Debian 11 ("Bullseye") and Debian 10 ("Buster") via
main repository and packages for Debian 9 ("Stretch") via
[`stretch-backports`](https://packages.debian.org/stretch-backports/peek)
repository. Please refer to [Debian Backports Website](https://backports.debian.org/)
for detailed usage of `stretch-backports` repository.

After enabling `stretch-backports` for Debian 9 (Debian 10 or Debian 11 or `Sid` don't need
any tweaks at all), installation can be done by simply typing:

    sudo apt install peek

### Fedora
**Note: Fedora by default does not provide the required `ffmpeg` package in its
repositories. For this reason it is recommended for Fedora users to install Peek
with Flatpak, see above. If you prefer to install Peek from the repositories
you should install `ffmpeg` separately as described below.**

Peek is available in the default repositories (Fedora 29 and later):

    sudo dnf install peek

To install the required `ffmpeg` package you can use the RPM Fusion free
repository, see the
[setup instructions for RPM Fusion](https://rpmfusion.org/Configuration).
Once the repository is enabled install FFmpeg with:

    sudo dnf install ffmpeg

### Solus
Solus users can simply install with:

    sudo eopkg it peek

### Arch Linux
Arch Linux users can simply install with:

    sudo pacman -S peek

For GNOME Shell recording there are some optional packages you can choose from:

    gst-plugins-good: Recording under Gnome Shell
    gifski: High quality GIF animations with thousands of colors

If you have a package manager for AUR (or fetch from AUR manually) the git
version is available [here](https://aur.archlinux.org/packages/peek-git)


### Other distributions
See the [Repology package list](https://repology.org/metapackage/peek/packages)
for a list of Peek packages for various distributions.

### From source
You can build and install Peek using Meson with Ninja:

    git clone https://github.com/phw/peek.git
    cd peek
    meson --prefix=/usr/local builddir
    cd builddir
    ninja

    # Run directly from source
    ./src/peek

    # Install system-wide
    sudo ninja install

*Note: `ninja` might be called `ninja-build` on some distributions.*

## Frequently Asked Questions
### How can I capture mouse clicks and/or keystrokes?
Peek does not support this natively. But you could install an external tool
like [key-mon](https://github.com/critiqjo/key-mon) which is usually included
in most distributions, so you can easily install with your package manager.
Then start key-mon with `key-mon --visible_click`. The `--visible_click` option
is for drawing small circles around mouse clicks.

### How can I improve the quality of recorded GIF files
To get the best possible quality you should install the [gifski](https://gif.ski/)
GIF encoder. If available Peek will automatically use gifski and will provide
a quality slider in the preferences dialog. The default value will give a
balanced result between quality and file size. Set the quality to maximum if you
want to get the highest possible quality even with thousands of colors. The file
size will increase significantly, though (see below).

### Why are the GIF files so big?
The GIF format is highly inefficient and not well suited for doing large
animations with a lot of changes and colors. Peek tries its best to reduce the
file size by using FFmpeg or [gifski](https://gif.ski/) to generate optimized
GIF files. For best results:

- Use a lower frame rate. 10fps is the default and works well, but in many
  cases you can even get good results with lower framerates.
- If you have [gifski](https://gif.ski/) installed you can adjust the GIF
  quality in the preferences. A lower quality gives a smaller file size at the
  expense of visual quality (see above).
- Avoid too much change. If there is heavy animation the frames will differ
  a lot.
- Record small areas or use the downsample option to scale the image. The GIF
  file format is not well suited for high resolution or full-screen recording.
- Avoid too many colors, since GIF is limited to a 256 color palette per frame.
  This one is not so much about file size but more about visual quality.
- If the above suggestions are not suitable for your use case, consider using
  WebM format (see below).

### If GIF is so bad why use it at all?
While GIF is a very old format, it has seen some rise in usage again in recent
years. One reason is its easy usage in the Web. GIF files are supported nearly
everywhere, which means you can add animations easily to everywhere where you
can upload images. With real video files you are still more limited. Typical use
cases for Peek are recording small user interactions for showing UI features
of an app you developed, for making short tutorials or for reporting bugs.

### What about WebM or MP4? Those are well supported on the web.
Peek allows you to record in WebM format, just choose your preferred output
format in the preferences. WebM is well supported by modern browsers, even
though they are still not as universally supported by tools and online services
as GIFs.

> [!NOTE]
> Support for MP4 was available till version 1.5.1 but was removed
> from later versions.

### What is the cause for "Could not start GNOME Shell recorder" errors?

This usually indicates an error while starting the built-in GNOME shell
recorder. Unfortunately Peek does not receive any error details, to find out
more about this issues look at the GNOME Shell log output in `journalctl`.

A common cause for this is that the GNOME Shell recorder is already running,
either because it was started via the GNOME Shell keyboard shortcut or by
another application.

If this error is shown when trying to record MP4 a common cause is that you are
missing the [GStreamer ugly](https://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html)
plugins, which provide MP4 encoding. Please refer to the documentation of your
distribution on how to install these.
Do note that you have to logout and login for Peek to recognize the new
installed libraries if you are running the Wayland display server.

See also issue [#287](https://github.com/phw/peek/issues/287) for related discussion.

### Why can't I interact with the UI elements inside the recording area?
You absolutely should be able to click the UI elements inside the area you are
recording. If you use i3 you should stack Peek with the window you intend to
record or make sure all windows are floating and uncheck "Always on top" from
the Peek settings. If you want to be able to control the area when recording
in i3 you can move Peek to the Scratchpad it will keep recording the area once
you hide the window. If this does not work for you on any other window manager
please open an [issue on GitHub](https://github.com/phw/peek/issues).

### My recorded GIFs flicker, what is wrong?
Some users have experienced recorded windows flicker or other strange visual
artifacts only visible in the recorded GIF. This is most likely a video driver
issue. If you are using Intel video drivers switching between the SNA and UXA
acceleration methods can help. For NVIDIA drivers changing the "Allow Flipping"
setting in the NVIDIA control panel
[was reported to help](https://github.com/phw/peek/issues/86).

### On i3 the recording area is all black, how can I record anything?
i3 does not support the X shape extension. In order to get a transparent
recording area, you have to run a compositor such as Compton.

### Why no native Wayland support?
Wayland has two restrictions that make it hard for Peek to support Wayland
natively:

1. The Wayland protocol does not define a standard way for applications to
   obtain a screenshot. That is intentional, as taking an arbitrary screenshot
   essentially means any application can read the contents of the whole display,
   and Wayland strives to offer improved security by isolating applications. It
   is up to the compositors to provide screenshot capability, and most do. GNOME
   Shell also provides a public interface for applications to use which Peek
   does support.

2. The Wayland protocol does not provide absolute screen coordinates to the
   applications. There is not even a coordinate system for windows at all. Again
   this is intentional, as they are not needed in many cases and you do not need
   to follow restrictions imposed by the traditional assumption that the screen
   is a rectangular area (e.g. you can have circular screens or [layout windows
   in 3D space](https://www.youtube.com/watch?v=_FjuPn7MXMs)).

Unfortunately, the whole concept of the Peek UI is that the window position
itself is used to obtain the recording coordinates. That means, for now, there
cannot be any fully native Wayland support without special support for this
use case by the compositor.

However, it is possible to use Peek in a GNOME Shell Wayland session using
XWayland by launching Peek with the X11 backend:

    GDK_BACKEND=x11 peek

Support for compositors other than GNOME Shell can be added if a suitable
screencasting interface is provided.


## Contribute
If you want to help make Peek better the easiest thing you can do is to
[report issues and feature requests](https://github.com/phw/peek/issues).
Or you can help in development and translation.

### Development
You are welcome to contribute code and provide pull requests for Peek. The
easiest way to start is looking at the open issues tagged with
[good first issue](https://github.com/phw/peek/labels/good%20first%20issue).
Those are open issues which are not too difficult to solve and can be started
without too much knowledge about the code.

Another good starting point are issues tagged with
[help wanted](https://github.com/phw/peek/labels/help%20wanted). Those issues are
probably harder to solve, but for some reason I cannot work on it for now and
would love to see somebody jump in.

In any case, just leave a note on the issue itself that you are working on it,
to avoid multiple people working on the same issue.


### Translations
You can help translate Peek into your language. Peek is using
[Weblate](https://weblate.org/) for translation management.

Go to the [Peek localization project](https://hosted.weblate.org/projects/peek/translations/)
to start translating. If the language you want to translate into is not already
available, you [can add it here](https://hosted.weblate.org/projects/peek/translations/#newlang).

If you want to be credited for your translation, please add your name to the
[translator-credits](https://hosted.weblate.org/search/peek/translations/?q=translator-credits&search=exact&source=on&type=all&ignored=False)
for your language. The translator credits are shown in Peek's About dialog.


## License
Peek Copyright © 2015-2024 by Philipp Wolfer <ph.wolfer@gmail.com>

Peek is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Peek is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Peek.  If not, see <https://www.gnu.org/licenses/>.


================================================
FILE: build-aux/appimage/appimage.yml
================================================
app: peek

build:
  packages:
    - cmake
    - vala-devel
    - pkgconfig(gtk+-3.0)
    - pkgconfig(keybinder-3.0)
    - pkgconfig(vpx)
    - gettext
    - linuxdeployqt
    - yasm

  git:
    - https://github.com/phw/peek.git
    - https://git.videolan.org/git/x264.git

  files:
    - https://ffmpeg.org/releases/ffmpeg-4.0.tar.xz

script:
  # Build Peek
  - cd $BUILD_SOURCE_DIR/peek
  - cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=Release -DGSETTINGS_COMPILE=OFF -DLOCALEDIR=share/locale .
  - make
  - make DESTDIR=$BUILD_APPDIR install
  # Build libx264
  - cd $BUILD_SOURCE_DIR/x264
  - ./configure --prefix=/usr --enable-pic --enable-shared --disable-asm
  - make
  - make DESTDIR=$BUILD_APPDIR install
  # Build FFmpeg
  - cd $BUILD_SOURCE_DIR
  - tar -xf ffmpeg-4.0.tar.xz
  - cd ffmpeg-4.0
  - ./configure --prefix=/usr --extra-ldflags="-L${BUILD_APPDIR}/usr/lib" --extra-cflags="-I${BUILD_APPDIR}/usr/include" --disable-debug --disable-static --enable-gpl --enable-libvpx --enable-libx264 --enable-shared --enable-libxcb --enable-libxcb-xfixes --disable-libxcb-shape --disable-ffplay --disable-ffprobe --disable-doc --disable-everything --enable-bsf=vp9_superframe --enable-decoder=libvpx_vp9 --enable-decoder=png --enable-decoder=rawvideo --enable-encoder=apng --enable-encoder=ffvhuff --enable-encoder=gif --enable-encoder=libvpx_vp9 --enable-encoder=libx264 --enable-encoder=png --enable-demuxer=image2 --enable-demuxer=matroska --enable-muxer=apng --enable-muxer=gif --enable-muxer=image2 --enable-muxer=mp4 --enable-muxer=webm --enable-filter=crop --enable-filter=fps --enable-filter=palettegen --enable-filter=paletteuse --enable-filter=scale --enable-protocol=file --enable-indev=xcbgrab
  - make
  - make DESTDIR=$BUILD_APPDIR install
  # Finalize AppDir
  - export LD_LIBRARY_PATH=${BUILD_APPDIR}/usr/lib:$LD_LIBRARY_PATH
  - linuxdeployqt ${BUILD_APPDIR}/usr/bin/ffmpeg -bundle-non-qt-libs
  - linuxdeployqt ${BUILD_APPDIR}/usr/bin/peek -bundle-non-qt-libs
  - glib-compile-schemas $BUILD_APPDIR/usr/share/glib-2.0/schemas
  - cp $BUILD_APPDIR/usr/share/applications/com.uploadedlobster.peek.desktop $BUILD_APPDIR
  - cp $BUILD_APPDIR/usr/share/icons/hicolor/256x256/apps/com.uploadedlobster.peek.png $BUILD_APPDIR
  - mkdir -p $BUILD_APPDIR/usr/lib/peek
  - mv $BUILD_APPDIR/usr/bin/peek $BUILD_APPDIR/usr/lib/peek/peek-run
  - cp $BUILD_SOURCE_DIR/appimage-launch-peek $BUILD_APPDIR/usr/bin/peek
  - chmod +x $BUILD_APPDIR/usr/bin/peek
  - rm -rf ${BUILD_APPDIR}/usr/bin/x264
  - rm -rf ${BUILD_APPDIR}/usr/include
  - rm -rf ${BUILD_APPDIR}/usr/lib/pkgconfig
  - rm -rf ${BUILD_APPDIR}/usr/lib/*.la
  - rm -rf ${BUILD_APPDIR}/usr/share/gtk-doc


================================================
FILE: build-aux/appimage/launch-peek
================================================
#!/bin/sh
SCRIPT=$(readlink -f "$0")
BIN_DIR=$(dirname "$SCRIPT")
BASE_DIR=$(readlink -f "$BIN_DIR/../..")

if [ -z "$XDG_CONFIG_DIRS" ]
then
  XDG_CONFIG_DIRS=/etc/xdg
fi
export XDG_CONFIG_DIRS=$BASE_DIR/usr/etc:$XDG_CONFIG_DIRS

if [ -z "$XDG_DATA_DIRS" ]
then
  XDG_DATA_DIRS=/usr/local/share/:/usr/share/
fi
export XDG_DATA_DIRS=$BASE_DIR/usr/share/:$XDG_DATA_DIRS
export PATH=$BIN_DIR:$PATH

# Workaround for theme incompatibility with bundled GTK version
export GTK_THEME=Adwaita-dark

$BASE_DIR/usr/lib/peek/peek-run "$@"


================================================
FILE: build-aux/meson/postinstall.py
================================================
#!/usr/bin/env python3

from os import environ, path
from subprocess import call

prefix = environ.get('MESON_INSTALL_PREFIX', '/usr/local')
datadir = path.join(prefix, 'share')
destdir = environ.get('DESTDIR', '')

# Package managers set this so we don't need to run
if not destdir:
    print('Updating icon cache...')
    call(['gtk-update-icon-cache', '-qtf', path.join(datadir, 'icons', 'hicolor')])

    print('Updating desktop database...')
    call(['update-desktop-database', '-q', path.join(datadir, 'applications')])

    print('Compiling GSettings schemas...')
    call(['glib-compile-schemas', path.join(datadir, 'glib-2.0', 'schemas')])




================================================
FILE: build-aux/snap/snapcraft.yaml
================================================
name: peek
version: git
adopt-info: peek
grade: stable
confinement: strict
base: core18

apps:
  peek:
    command: usr/bin/peek
    desktop: share/applications/com.uploadedlobster.peek.desktop
    common-id: com.uploadedlobster.peek.desktop
    extensions: [gnome-3-28]
    plugs:
      - gsettings
      - home
  ffmpeg:
    command: ffmpeg

slots:
  session-dbus-interface:
    interface: dbus
    name: com.uploadedlobster.peek
    bus: session

parts:
  peek:
    plugin: meson
    meson-parameters:
      - --prefix=/usr
      - -Dbuild-tests=false
      - -Denable-filechoosernative=false
      - -Denable-gnome-shell=false
      - -Denable-open-file-manager=false
    source: .
    source-type: git
    parse-info: [usr/share/metainfo/com.uploadedlobster.peek.appdata.xml]
    build-packages:
      - libgtk-3-dev
      - libkeybinder-3.0-dev
      - gettext
      - valac
    stage-packages:
      - libcanberra-gtk3-module
      - libkeybinder-3.0-0
    override-pull: |
      snapcraftctl pull
      sed -i.bak -e 's|Icon=com.uploadedlobster.peek$|Icon=${SNAP}/usr/share/icons/hicolor/scalable/apps/com.uploadedlobster.peek.svg|g' data/com.uploadedlobster.peek.desktop.in
    prime:
      - -usr/lib/pkgconfig
      - -usr/lib/*-linux-*/dri
      - -usr/lib/*-linux-*/libasound*
      - -usr/lib/*-linux-*/libgnutls*
      - -usr/lib/*-linux-*/libicu*
      - -usr/lib/*-linux-*/libLLVM*
      - -usr/lib/*-linux-*/libX11*
      - -usr/share/alsa
      - -usr/share/bug
      - -usr/share/doc
      - -usr/share/fonts
      - -usr/share/man
      - -usr/share/mime
      - -usr/share/libthai
      - -usr/share/lintian
      - -usr/share/pkgconfig
      - -usr/share/sounds
      - -usr/share/X11

  ffmpeg:
    plugin: autotools
    source: https://ffmpeg.org/releases/ffmpeg-4.0.tar.xz
    configflags:
      - --prefix=/usr
      - --disable-debug
      - --disable-static
      - --enable-gpl
      - --enable-libvpx
      - --enable-libx264
      - --enable-shared
      - --enable-libxcb
      - --enable-libxcb-xfixes
      - --disable-libxcb-shape
      - --disable-ffplay
      - --disable-ffprobe
      - --disable-doc
      - --disable-everything
      - --enable-bsf=vp9_superframe
      - --enable-decoder=libvpx_vp9
      - --enable-decoder=png
      - --enable-decoder=rawvideo
      - --enable-encoder=apng
      - --enable-encoder=ffvhuff
      - --enable-encoder=gif
      - --enable-encoder=libvpx_vp9
      - --enable-encoder=libx264
      - --enable-encoder=png
      - --enable-demuxer=image2
      - --enable-demuxer=matroska
      - --enable-muxer=apng
      - --enable-muxer=gif
      - --enable-muxer=image2
      - --enable-muxer=mp4
      - --enable-muxer=webm
      - --enable-filter=crop
      - --enable-filter=fps
      - --enable-filter=palettegen
      - --enable-filter=paletteuse
      - --enable-filter=scale
      - --enable-protocol=file
      - --enable-indev=xcbgrab
    build-packages:
      - libx264-dev
      - libvpx-dev
      - yasm
    stage-packages:
      - libx264-152
      - libvpx5
      - libxcb-xfixes0
    prime:
      - -usr/include
      - -usr/lib/pkgconfig
      - -usr/share/applications
      - -usr/share/bug
      - -usr/share/doc
      - -usr/share/fonts
      - -usr/share/ffmpeg/examples
      - -usr/share/icons
      - -usr/share/locale
      - -usr/share/man


================================================
FILE: data/com.uploadedlobster.peek.appdata.xml.in
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2017 Philipp Wolfer <ph.wolfer@gmail.com> -->
<component type="desktop">
  <id>com.uploadedlobster.peek.desktop</id>
  <metadata_license>CC0-1.0</metadata_license>
  <project_license>GPL-3.0+</project_license>
  <name>Peek</name>
  <summary>Simple screen recorder with an easy to use interface</summary>

  <description>
    <p>
      Peek makes it easy to create short screencasts of a screen area. It was
      built for the specific use case of recording screen areas, e.g. for
      easily showing UI features of your own apps or for showing a bug in bug
      reports. With Peek you simply place the Peek window over the area you
      want to record and press "Record". Peek is optimized for generating
      animated GIFs, but you can also directly record to WebM if you
      prefer.
    </p>
    <p>Features:</p>
    <ul>
      <li>Select a screen region to record</li>
      <li>Save recorded video as an optimized animated GIF</li>
      <li>Record directly to WebM format</li>
      <li>Simple user interface optimized for the task</li>
      <li>Automatically downscale recorded videos</li>
      <li>Support for HiDPI screens</li>
      <li>Works inside a GNOME Shell Wayland session (using XWayland)</li>
    </ul>
    <p>
      Peek is not a general purpose screencast app with extended features but
      rather focuses on the single task of creating small, silent screencasts of
      an area of the screen for creating GIF animations or silent WebM videos.
    </p>
  </description>

  <screenshots>
    <screenshot type="default">
      <image>https://raw.githubusercontent.com/phw/peek/master/data/screenshots/peek-main-window.png</image>
      <caption>The main window to select the recording area</caption>
    </screenshot>
    <screenshot>
      <image>https://raw.githubusercontent.com/phw/peek/master/data/screenshots/peek-preferences.png</image>
      <caption>Peek's preferences dialog</caption>
    </screenshot>
    <screenshot>
      <image>https://raw.githubusercontent.com/phw/peek/master/data/screenshots/peek-recording-itself.gif</image>
      <caption>Peek is recording itself</caption>
    </screenshot>
  </screenshots>

  <categories>
    <category>Graphics</category>
    <category>Utility</category>
    <category>GNOME</category>
    <category>GTK</category>
  </categories>

  <kudos>
    <kudo>AppMenu</kudo>
    <kudo>HiDpiIcon</kudo>
    <kudo>ModernToolkit</kudo>
    <kudo>Notifications</kudo>
  </kudos>

  <url type="homepage">http://peek.uploadedlobster.com</url>
  <!-- <url type="help">http://peek.uploadedlobster.com</url> -->
  <url type="faq">https://github.com/phw/peek#frequently-asked-questions</url>
  <url type="bugtracker">https://github.com/phw/peek/issues</url>
  <!-- <url type="translate">https://hosted.weblate.org/projects/peek/translations/</url> -->

  <translation type="gettext">peek</translation>

  <provides>
    <binary>peek</binary>
  </provides>

  <developer_name>Philipp Wolfer</developer_name>
  <update_contact>ph.wolfer@gmail.com</update_contact>

  <content_rating type="oars-1.1" />

  <releases>
    <release version="1.5.1" date="2020-02-19" />
    <release version="1.5.0" date="2020-02-18" />
    <release version="1.4.0" date="2019-09-24" />
    <release version="1.3.1" date="2018-03-29" />
    <release version="1.3.0" date="2018-03-25" />
    <release version="1.2.2" date="2018-01-28" />
    <release version="1.2.1" date="2017-12-03" />
    <release version="1.2.0" date="2017-11-25" />
    <release version="1.1.0" date="2017-10-05" />
    <release version="1.0.3" date="2017-06-13" />
    <release version="1.0.2" date="2017-06-13" />
    <release version="1.0.1" date="2017-03-26" />
    <release version="1.0.0" date="2017-03-11" />
    <release version="0.9.1" date="2017-02-21" />
    <release version="0.9.0" date="2017-02-20" />
    <release version="0.8.0" date="2016-10-25" />
    <release version="0.7.2" date="2016-07-07" />
    <release version="0.7.1" date="2016-02-28" />
    <release version="0.7.0" date="2016-02-26" />
    <release version="0.6.0" date="2016-01-28" />
    <release version="0.5.0" date="2016-01-09" />
    <release version="0.4.0" date="2016-01-08" />
    <release version="0.3.0" date="2016-01-08" />
    <release version="0.2.1" date="2016-01-07" />
    <release version="0.2.0" date="2016-01-07" />
    <release version="0.1.0" date="2016-01-05" />
  </releases>
</component>


================================================
FILE: data/com.uploadedlobster.peek.desktop.in
================================================
[Desktop Entry]
Name=Peek
Exec=peek
GenericName=Animated GIF recorder
Comment=Record short animated GIF images from your screen
Keywords=screencast;screen recorder;screen capture;GIF;WebM;APNG;
Icon=com.uploadedlobster.peek
Type=Application
Categories=GTK;GNOME;Graphics;2DGraphics;AudioVideo;Video;Recorder;
StartupNotify=true
Terminal=false
DBusActivatable=true


================================================
FILE: data/com.uploadedlobster.peek.gschema.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<schemalist>
  <schema path="/com/uploadedlobster/peek/" id="com.uploadedlobster.peek"
    gettext-domain="peek">
    <key name="interface-open-file-manager" type="b">
      <default>false</default>
      <summary>Open file manager after saving</summary>
    </key>
    <key name="interface-show-notification" type="b">
      <default>true</default>
      <summary>Show desktop notification after saving</summary>
    </key>
    <key name="interface-size-indicator-delay" type="i">
      <default>1600</default>
      <summary>Time in milliseconds for which the recording area size is displayed after resizing stops.</summary>
    </key>
    <key name="interface-default-file-name-format" type="s">
      <default l10n="messages">"Peek %Y-%m-%d %H-%M"</default>
      <summary>Default file name used. Can include date format specifiers. The extension will be added automatically.</summary>
    </key>
    <key name="interface-prefer-dark-theme" type="b">
      <default>true</default>
      <summary>Prefer dark theme</summary>
    </key>
    <key name="keybinding-toggle-recording" type="s">
      <default>"&lt;Ctrl&gt;&lt;Alt&gt;R"</default>
      <summary>Global keybinding to toggle recording</summary>
    </key>
    <key name="recording-output-format" type="s">
      <choices>
        <choice value="gif"/>
        <choice value="apng"/>
        <choice value="webm"/>
      </choices>
      <aliases>
        <alias value="GIF" target="gif"/>
        <alias value="APNG" target="apng"/>
        <alias value="WebM" target="webm"/>
      </aliases>
      <default>"gif"</default>
      <summary>Output file format</summary>
    </key>
    <key name="recording-gifski-enabled" type="b">
      <default>false</default>
      <summary>Use gifski for high quality GIFs</summary>
    </key>
    <key name="recording-gifski-quality" type="i">
      <range min="20" max="100"/>
      <default>60</default>
      <summary>Quality setting for the gifski GIF encoder</summary>
    </key>
    <key name="recording-start-delay" type="i">
      <range min="0" max="60"/>
      <default>3</default>
      <summary>Delay in seconds before recording starts</summary>
    </key>
    <key name="recording-framerate" type="i">
      <range min="1" max="60"/>
      <default>10</default>
      <summary>Framerate</summary>
    </key>
    <key name="recording-downsample" type="i">
      <range min="1" max="4"/>
      <default>1</default>
      <summary>Resolution downsampling factor</summary>
    </key>
    <key name="recording-capture-mouse" type="b">
      <default>true</default>
      <summary>Whether to capture the mouse cursor</summary>
    </key>
    <key name="recording-capture-sound" type="b">
      <default>false</default>
      <summary>Whether to capture sound from default PULSE input device</summary>
    </key>
    <key name="persist-window-geometry" type="(iiii)">
      <default>(-1,-1,500,300)</default>
      <summary>Size and position of the last open main window</summary>
    </key>
    <key name="persist-save-folder" type="s">
      <default>""</default>
      <summary>Path where last video got saved</summary>
    </key>
  </schema>
</schemalist>


================================================
FILE: data/com.uploadedlobster.peek.service.in
================================================
[D-BUS Service]
Name=com.uploadedlobster.peek
Exec=@CMAKE_INSTALL_FULL_BINDIR@/peek --gapplication-service


================================================
FILE: data/icons/meson.build
================================================
system_icons_dir = join_paths(get_option('datadir'), 'icons', 'hicolor')

install_data('com.uploadedlobster.peek.svg',
  install_dir: join_paths(system_icons_dir, 'scalable', 'apps'))
install_data('com.uploadedlobster.peek-symbolic.svg',
  install_dir: join_paths(system_icons_dir, 'symbolic', 'apps'))


================================================
FILE: data/man/build_man.sh
================================================
#!/usr/bin/env sh

PROJECT=$1
VERSION=$2
INPUT=$3
OUTPUT=$4

txt2man -t "$PROJECT" -r "$VERSION" \
  -s 1 -v "User commands" \
  "$INPUT" | gzip > "$OUTPUT"


================================================
FILE: data/man/meson.build
================================================
txt2man = find_program('txt2man', required: false)
gzip = find_program('gzip', required: false)

if not txt2man.found()
  message('txt2man not found; man pages will not be generated.')
elif not gzip.found()
  message('gzip not found; man pages will not be generated.')
else
  message('Found txt2man and gzip; man page will be built and installed')
  # We can't use install_man in combination with custom_target,
  # see https://github.com/mesonbuild/meson/issues/1550
  manpage = custom_target('peek.1.txt',
    command: [
      join_paths(meson.current_source_dir(), 'build_man.sh'),
      meson.project_name().to_upper(),
      meson.project_version(),
      join_paths(meson.current_source_dir(), 'peek.1.txt'),
      '@OUTPUT@'
    ],
    output: 'peek.1',
    install: true,
    install_dir: join_paths(get_option('mandir'), 'man1'))
endif


================================================
FILE: data/man/peek.1.txt
================================================
NAME
  peek - Simple screen recorder with an easy to use interface

SYNOPSIS
  peek [OPTION...]

DESCRIPTION
  Peek makes it easy to create short screencasts of a screen area. It was built
  for the specific use case of recording screen areas, e.g. for easily showing
  UI features of your own apps or for showing a bug in bug reports. With Peek
  you simply place the Peek window over the area you want to record and press
  "Record". Peek is optimized for generating animated GIFs, but you can also
  directly record to WebM if you prefer.

  Peek is not a general purpose screencast app with extended features but rather
  focuses on the single task of creating small, silent screencasts of an area of
  the screen for creating GIF animations or silent WebM videos.

OPTIONS
  -h, --help                 Show help options
  --help-all                 Show all help options
  --help-gapplication        Show GApplication options
  --help-gtk                 Show GTK+ Options

Application Options:
  -v, --version              Show the version of the program and exit
  -b, --backend=BACKEND      Select the recording backend (gnome-shell, ffmpeg)
  -s, --start                Start recording in all running Peek instances
  -p, --stop                 Stop recording in all running Peek instances
  -t, --toggle               Toggle recording in all running Peek instances
  --no-headerbar             Start Peek without the header bar
  --display=DISPLAY          X display to use

AUTHOR
 Written by Philipp Wolfer <ph.wolfer@gmail.com>.

 This manual page was written by Paulo Roberto Alves de Oliveira (aka kretcheu)
 <kretcheu@gmail.com> for the Debian project (but may be used by others).


================================================
FILE: data/meson.build
================================================
desktop_file = i18n.merge_file(
  input: 'com.uploadedlobster.peek.desktop.in',
  output: 'com.uploadedlobster.peek.desktop',
  type: 'desktop',
  po_dir: '../po',
  install: true,
  install_dir: join_paths(get_option('datadir'), 'applications')
)

desktop_utils = find_program('desktop-file-validate', required: false)
if desktop_utils.found()
  test('Validate desktop file', desktop_utils,
    args: [desktop_file]
  )
endif

appstream_file = i18n.merge_file(
  input: 'com.uploadedlobster.peek.appdata.xml.in',
  output: 'com.uploadedlobster.peek.appdata.xml',
  po_dir: '../po',
  install: true,
  install_dir: join_paths(get_option('datadir'), 'metainfo')
)

appstream_util = find_program('appstream-util', required: false)
if appstream_util.found()
  test('Validate appstream file', appstream_util,
    args: ['validate', appstream_file]
  )
endif

install_data('com.uploadedlobster.peek.gschema.xml',
  install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas')
)

compile_schemas = find_program('glib-compile-schemas', required: false)
if compile_schemas.found()
  test('Validate schema file', compile_schemas,
    args: ['--strict', '--dry-run', meson.current_source_dir()]
  )
endif

configuration_data = configuration_data()
# FIXME: That variable name is used as long as we have both cmake and meson builds
configuration_data.set(
  'CMAKE_INSTALL_FULL_BINDIR',
  join_paths(get_option('prefix'), get_option('bindir')))
configure_file(
  input: 'com.uploadedlobster.peek.service.in',
  output: 'com.uploadedlobster.peek.service',
  configuration: configuration_data,
  install_dir: join_paths(get_option('datadir'), 'dbus-1/services')
)

subdir('icons')
subdir('man')


================================================
FILE: meson.build
================================================
project('peek', ['c', 'vala'],
  version: '1.5.1',
  meson_version: '>= 0.47.0',
)

add_project_arguments([
    '-DVERSION="' + meson.project_version() + '"',
  ], language: 'c')

i18n = import('i18n')

subdir('data')
subdir('po')
subdir('src')
subdir('tests')

meson.add_install_script('build-aux/meson/postinstall.py')


================================================
FILE: meson_options.txt
================================================
option('build-tests',              type : 'boolean', value : true)
option('enable-keybinder',         type : 'feature', value : 'auto')
option('enable-filechoosernative', type : 'boolean', value : false)
option('enable-gnome-shell',       type : 'boolean', value : true)
option('enable-open-file-manager', type : 'boolean', value : true)


================================================
FILE: po/LINGUAS
================================================
ar bg bn ca cs de el eo es eu fa fi fr he hr hu id it ja kn ko lt ml mr nap nb nl pl pt pt_BR pt_PT ru si sk sr sv tr uk_UA zh_CN zh_TW


================================================
FILE: po/Makevars
================================================
# Makefile variables for PO directory in any package using GNU gettext.

# Usually the message domain is the same as the package name.
DOMAIN = peek

# These two variables depend on the location of this directory.
subdir = po
top_builddir = ..

# These options get passed to xgettext.
XGETTEXT_OPTIONS = \
  --keyword=_ --flag=_:1:pass-c-format \
  --keyword=N_ --flag=N_:1:pass-c-format \
  --flag=error:3:c-format --flag=error_at_line:5:c-format \
  --from-code=utf-8

# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
# package.  (Note that the msgstr strings, extracted from the package's
# sources, belong to the copyright holder of the package.)  Translators are
# expected to transfer the copyright for their translations to this person
# or entity, or to disclaim their copyright.  The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
COPYRIGHT_HOLDER = "Philipp Wolfer <ph.wolfer@gmail.com>"

# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
#   in the GNU gettext documentation, section 'Preparing Strings'.
# - Strings which use unclear terms or require additional context to be
#   understood.
# - Strings which make invalid assumptions about notation of date, time or
#   money.
# - Pluralisation problems.
# - Incorrect English spelling.
# - Incorrect formatting.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
MSGID_BUGS_ADDRESS = ph.wolfer@gmail.com

# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used.  It is usually empty.
EXTRA_LOCALE_CATEGORIES =

# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
# context.  Possible values are "yes" and "no".  Set this to yes if the
# package uses functions taking also a message context, like pgettext(), or
# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
USE_MSGCTXT = no


================================================
FILE: po/POTFILES.in
================================================
src/application.vala
src/recording/screen-recorder-factory.vala
src/ui/about-dialog.vala
src/ui/application-window.vala
src/ui/preferences-dialog.vala
ui/about.ui.in
ui/application-window.ui
ui/error-dialog.ui
ui/preferences.ui
ui/set-window-size-dialog.ui
data/com.uploadedlobster.peek.desktop.in
data/com.uploadedlobster.peek.appdata.xml.in
data/com.uploadedlobster.peek.gschema.xml


================================================
FILE: po/ar.po
================================================
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Philipp\ Wolfer\ <ph.wolfer@gmail.com>
# This file is distributed under the same license as the peek package.
#
# Translators:
# Mohamed Sakhri, 2016
# Mohamed Sakhri, 2016
# Philipp Wolfer <ph.wolfer@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: Peek\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-03 19:49+0100\n"
"PO-Revision-Date: 2018-01-28 08:34+0000\n"
"Last-Translator: Mutaz Tayyeb AbuSaad <wahshy1414@gmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/peek/translations/"
"ar/>\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 2.19-dev\n"

#: src/application.vala:63
msgid "Show the version of the program and exit"
msgstr "أظهر نسخة البرنامج ثم أغلقه"

#: src/application.vala:67
msgid "Select the recording backend (gnome-shell, ffmpeg)"
msgstr "حدد خلفية التسجيل (gnome-shell, ffmpeg)"

#: src/application.vala:68
msgid "BACKEND"
msgstr "الواجهة الخلفية"

#: src/application.vala:72
msgid "Start recording in all running Peek instances"
msgstr "بدء التسجيل في جميع نوافذ Peek المفتوحة"

#: src/application.vala:76
msgid "Stop recording in all running Peek instances"
msgstr "إيقاف التسجيل في جميع نوافذ Peek المفتوحة"

#: src/application.vala:80
msgid "Toggle recording in all running Peek instances"
msgstr "تبديل حالة التسجيل في جميع نوافذ Peek المفتوحة"

#: src/application.vala:84
msgid "Start Peek without the header bar"
msgstr "تشغيل Peek بدون شريط العناوين"

#: src/application.vala:94 data/com.uploadedlobster.peek.desktop.in:3
#: data/com.uploadedlobster.peek.appdata.xml.in:7
msgid "Peek"
msgstr "Peek"

#: src/application.vala:250
#, fuzzy, c-format
msgid "Unable to initialize default recording backend: %s"
msgstr "تعذر تهيئة أداة التسجيل %s.\n"

#: src/application.vala:266
#, fuzzy, c-format
msgid "Unable to initialize recording backend %s: %s"
msgstr "تعذر تهيئة أداة التسجيل %s.\n"

#: src/application.vala:337
msgid "Recording backend unavailable"
msgstr ""

#: src/application.vala:341
msgid "Native Wayland backend is unsupported"
msgstr "خلفية وايلاند المحلية غير مدعومة"

#: src/application.vala:342
msgid ""
"You are running Peek natively on Wayland, this is currently unsupported. "
"Please start Peek using XWayland by setting <tt>GDK_BACKEND=x11</tt>.\n"
"\n"
"For Details see the Peek <a href='https://github.com/phw/peek#why-no-native-"
"wayland-support'>FAQ about Wayland support</a>."
msgstr ""
"إنك تشغل Peek محليا على وايلاند، وهذا غير مدعوم حاليا. المرجو تشغيل Peek "
"باستخدام XWayland عن طريق تفعيل الخاصية <tt>GDK_BACKEND=x11</tt>\n"
"لمزيد من التفاصيل زر صفحة Peek  <a href='https://github.com/phw/peek#why-no-"
"native-wayland-support'> للأسئلة الشائعة عن دعم وايلاند</a>."

#: src/recording/screen-recorder-factory.vala:26
msgid "Peek requires FFmpeg or running GNOME Shell session."
msgstr ""

#: src/recording/screen-recorder-factory.vala:47
msgid "FFmpeg executable not found."
msgstr ""

#: src/ui/application-window.vala:119
msgid "An unexpected error occurred during recording. Recording was aborted."
msgstr "حدث خطأ غير متوقع أثناء التسجيل. تم إيقاف التسجيل."

#: src/ui/application-window.vala:250
msgid "Rendering animation…"
msgstr "جار عرض الرسوم المتحركة …"

#: src/ui/application-window.vala:251
msgid "Peek will close when rendering is finished."
msgstr "سيتم إغلاق Peek عند الانتهاء من العرض."

#: src/ui/application-window.vala:287 ui/application-window.ui:353
#: ui/preferences.ui:224
msgid "APNG"
msgstr "APNG"

#: src/ui/application-window.vala:288 ui/application-window.ui:337
#: ui/preferences.ui:223
msgid "GIF"
msgstr "GIF"

#: src/ui/application-window.vala:289 ui/application-window.ui:370
#: ui/preferences.ui:225
msgid "WebM"
msgstr "WebM"

#: src/ui/application-window.vala:300
#, c-format
msgid "Record as %s"
msgstr "سجل ﻛ %s"

#: src/ui/application-window.vala:411
#, c-format
msgid "Start / Stop: %s"
msgstr ""

#: src/ui/application-window.vala:563
msgid "Rendering…"
msgstr "يُحوِّل…"

#: src/ui/application-window.vala:603
msgid "Recording could not be started due to an unexpected error."
msgstr "تعذر بدء التسجيل بسبب حدوث خطأ غير متوقع."

#: src/ui/application-window.vala:723 src/ui/application-window.vala:728
msgid "Save animation"
msgstr "احفظ الملف"

#: src/ui/application-window.vala:724 src/ui/application-window.vala:731
msgid "_Save"
msgstr "احفظ"

#: src/ui/application-window.vala:725 src/ui/application-window.vala:729
msgid "_Cancel"
msgstr "ألغِ"

#: src/ui/application-window.vala:796
msgid "The file could not be saved to the selected location."
msgstr "لا يمكن حفظ الملف في الموقع المحدد."

#: src/ui/application-window.vala:823
#, c-format
msgid "Animation saved as “%s”"
msgstr "تم حفظ الملف باسم \"%s\""

#. Unity does not allow actions on notifications, so we disable
#. notification actions there.
#: src/ui/application-window.vala:833
msgid "Click here to show the saved file in your file manager."
msgstr "انقر هنا لإظهار الملف المحفوظ في مدير الملفات."

#: src/ui/application-window.vala:835
msgid "Show in file manager"
msgstr "اظهر في مدير الملفات"

#. Display the configured shortcut to the user
#: src/ui/preferences-dialog.vala:195
msgid "deactivated"
msgstr "معطلة"

#. Add a button to change the keyboard shortcut
#: src/ui/preferences-dialog.vala:206 src/ui/preferences-dialog.vala:222
msgid "Change"
msgstr "تغيير"

#: src/ui/preferences-dialog.vala:219
msgid "Press keys…"
msgstr "اظغط على تجميعة المفاتيح…"

#: ui/about.ui.in:37 data/com.uploadedlobster.peek.desktop.in:5
msgid "Animated GIF recorder"
msgstr "مسجل صور متحركة"

#. Please add your name to the list of translators if you want to be credited for the translations you have done.
#: ui/about.ui.in:40
msgctxt "Translator credits in about dialog"
msgid "translator-credits"
msgstr "Mohamed Sakhri <mohamed.sakhri@gmail.com>"

#: ui/application-window.ui:33 ui/application-window.ui:185
msgid "Start recording"
msgstr "ابدأ التسجيل"

#: ui/application-window.ui:54
#, fuzzy
msgid "New window"
msgstr "نافذة جديدة"

#: ui/application-window.ui:68 ui/set-window-size-dialog.ui:23
#, fuzzy
msgid "Set window size"
msgstr "نافذة جديدة"

#: ui/application-window.ui:93
#, fuzzy
msgid "Preferences"
msgstr "التفضيلات"

#: ui/application-window.ui:107
#, fuzzy
msgid "About Peek"
msgstr "عن البرنامج"

#: ui/application-window.ui:149
msgid "_Stop"
msgstr "أوقف"

#: ui/application-window.ui:159
msgid "Stop recording"
msgstr "أوقف التسجيل"

#: ui/application-window.ui:175
msgid "_Record"
msgstr "سجِّل"

#: ui/error-dialog.ui:8
msgid "Recording error"
msgstr "خطأ في التسجيل"

#: ui/error-dialog.ui:25
msgid "Close"
msgstr "إغلاق"

#: ui/error-dialog.ui:70
msgid ""
"Please read the <a href=\"https://github.com/phw/peek#frequently-asked-"
"questions\">FAQs</a> before reporting this issue. If the FAQs do not answer "
"your issue please report it and provide as much details as possible on what "
"you were doing when the issue occurred."
msgstr ""

#: ui/error-dialog.ui:109
msgid "Show details"
msgstr "إظهار التفاصيل"

#: ui/preferences.ui:77
msgid "User interface"
msgstr "واجهة المستخدم"

#: ui/preferences.ui:90 data/com.uploadedlobster.peek.gschema.xml:7
msgid "Open file manager after saving"
msgstr "افتح مدير الملفات بعد الحفظ"

#: ui/preferences.ui:106 data/com.uploadedlobster.peek.gschema.xml:11
msgid "Show desktop notification after saving"
msgstr "أظهر إشعارات سطح المكتب بعد الحفظ"

#: ui/preferences.ui:131
msgid "Start / stop recording"
msgstr "ابدأ / أوقف التسجيل"

#: ui/preferences.ui:185
msgid "Recording"
msgstr "التسجيل"

#: ui/preferences.ui:208
msgid "Output format"
msgstr "صيغة الناتج"

#: ui/preferences.ui:250 data/com.uploadedlobster.peek.gschema.xml:45
msgid "Use gifski for high quality GIFs"
msgstr "إستخدم gifski للحصول على GIFs  ذات جودة عالية"

#: ui/preferences.ui:275
msgid "GIF quality"
msgstr "جودة  الGIF"

#: ui/preferences.ui:325 data/com.uploadedlobster.peek.gschema.xml:60
msgid "Framerate"
msgstr "معدل الأطر"

#: ui/preferences.ui:367
msgid "Resolution downsampling"
msgstr "تقليل مستوى الدقة"

#: ui/preferences.ui:409 data/com.uploadedlobster.peek.gschema.xml:55
msgid "Delay in seconds before recording starts"
msgstr "التأخير بالثواني قبل بدء التسجيل"

#: ui/preferences.ui:442
msgid "Capture mouse cursor"
msgstr "سجّل مؤشر الفأرة"

#: ui/preferences.ui:457
msgid "Capture sound from default PULSE device"
msgstr ""

#: ui/preferences.ui:488
msgid "Peek preferences"
msgstr "تفضيلات Peek"

#: ui/set-window-size-dialog.ui:27
#, fuzzy
msgid "Cancel"
msgstr "ألغِ"

#: ui/set-window-size-dialog.ui:36
#, fuzzy
msgid "Set size"
msgstr "نافذة جديدة"

#: ui/set-window-size-dialog.ui:89
msgid "Width"
msgstr ""

#: ui/set-window-size-dialog.ui:127
msgid "Height"
msgstr ""

#: data/com.uploadedlobster.peek.desktop.in:6
msgid "Record short animated GIF images from your screen"
msgstr "تسجيل صور متحركة قصيرة من شاشة حاسوبك"

#: data/com.uploadedlobster.peek.desktop.in:7
#, fuzzy
msgid "screencast;screen recorder;screen capture;GIF;WebM;APNG;"
msgstr "screencast;screen recorder;screen capture;GIF;WebM;APNG;"

#: data/com.uploadedlobster.peek.appdata.xml.in:8
msgid "Simple screen recorder with an easy to use interface"
msgstr "مسجل شاشة بسيط بواجهة سهلة الاستخدام"

#: data/com.uploadedlobster.peek.appdata.xml.in:11
#, fuzzy
msgid ""
"Peek makes it easy to create short screencasts of a screen area. It was "
"built for the specific use case of recording screen areas, e.g. for easily "
"showing UI features of your own apps or for showing a bug in bug reports. "
"With Peek you simply place the Peek window over the area you want to record "
"and press \"Record\". Peek is optimized for generating animated GIFs, but "
"you can also directly record to WebM if you prefer."
msgstr ""
"يجعل Peek مهمة إنشاء تسجيل لمنطقة من الشاشة أمرا سهلا.فقد تم تصميمه خصيصاً "
"لتسجيل أجزاء من الشاشة، مثلا لإظهار ميزات من واجهة المستخدم لتطبيقاتك أو "
"لإظهار علة في تقرير للإبلاغ عن العلل. مع Peek تقوم ببساطة باختيار جزء من "
"الشاشة لتسجيله وتضغط على زر \"سجّل\". لقد تم تهيئة Peek لإنشاء التسجيل على "
"شكل صور متحركة بامتداد GIF، لكن يمكنك أيضا التسجيل بصيغة WebM أو MP4 إن أردت "
"ذلك."

#: data/com.uploadedlobster.peek.appdata.xml.in:20
msgid "Features:"
msgstr "ميزات:"

#: data/com.uploadedlobster.peek.appdata.xml.in:22
msgid "Select a screen region to record"
msgstr "اختر منطقة من الشاشة لتسجيلها"

#: data/com.uploadedlobster.peek.appdata.xml.in:23
msgid "Save recorded video as an optimized animated GIF"
msgstr "احفظ الفيديو المسجل كصورة متحركة بامتداد GIF"

#: data/com.uploadedlobster.peek.appdata.xml.in:24
#, fuzzy
msgid "Record directly to WebM format"
msgstr "سجل مباشرة بصيغة WebM أو MP4"

#: data/com.uploadedlobster.peek.appdata.xml.in:25
msgid "Simple user interface optimized for the task"
msgstr "واجهة مستخدم بسيطة لتسهيل إنجاز مهمتك"

#: data/com.uploadedlobster.peek.appdata.xml.in:26
msgid "Automatically downscale recorded videos"
msgstr "تعديل قياسات الفيديو المسجل تلقائيا"

#: data/com.uploadedlobster.peek.appdata.xml.in:27
msgid "Support for HiDPI screens"
msgstr "دعم الشاشات عالية الدقة"

#: data/com.uploadedlobster.peek.appdata.xml.in:28
msgid "Works inside a GNOME Shell Wayland session (using XWayland)"
msgstr "يشتغل داخل جنوم شل بجلسة وايلاند (باستخدام XWayland)"

#: data/com.uploadedlobster.peek.appdata.xml.in:30
#, fuzzy
msgid ""
"Peek is not a general purpose screencast app with extended features but "
"rather focuses on the single task of creating small, silent screencasts of "
"an area of the screen for creating GIF animations or silent WebM videos."
msgstr ""
"Peek ليس بتطبيق عام لتسجيل الشاشة بميزات كثيرة، بل هو تطبيق يركز على مهمة "
"واحدة تتمثل في إنشاء تسجيل صغير وصامت لجزء من الشاشة ليكون كصورة متحركة "
"بامتداد GIF أو كفيديو صامت بامتداد WebM أو MP4."

#: data/com.uploadedlobster.peek.appdata.xml.in:40
msgid "The main window to select the recording area"
msgstr "النافذة الرئيسية لاختيار منطقة التسجيل"

#: data/com.uploadedlobster.peek.appdata.xml.in:44
#, fuzzy
msgid "Peek's preferences dialog"
msgstr "تفضيلات Peek"

#: data/com.uploadedlobster.peek.appdata.xml.in:48
msgid "Peek is recording itself"
msgstr "Peek يُسجِل نفسه"

#: data/com.uploadedlobster.peek.appdata.xml.in:78
msgid "Philipp Wolfer"
msgstr "Philipp Wolfer"

#: data/com.uploadedlobster.peek.gschema.xml:15
msgid ""
"Time in milliseconds for which the recording area size is displayed after "
"resizing stops."
msgstr ""
"الوقت بالجزء الآلف من الثانية الذي حسبه تظهر المساحة المسجلة بعد تغيير "
"التوقفات."

#: data/com.uploadedlobster.peek.gschema.xml:18
msgid "\"Peek %Y-%m-%d %H-%M\""
msgstr "\"Peek %Y-%m-%d %H-%M\""

#: data/com.uploadedlobster.peek.gschema.xml:19
msgid ""
"Default file name used. Can include date format specifiers. The extension "
"will be added automatically."
msgstr ""
"يستخدم اسم الملف الافتراضي . يمكن إضافة محددات لقالب عرض التاريخ. تضاف "
"الإضافة تلقائيا."

#: data/com.uploadedlobster.peek.gschema.xml:23
msgid "Prefer dark theme"
msgstr "أُفضِّل سمة داكنة"

#: data/com.uploadedlobster.peek.gschema.xml:27
msgid "Global keybinding to toggle recording"
msgstr "تجميعة الأزرار لبدء / وقف التسجيل"

#: data/com.uploadedlobster.peek.gschema.xml:41
msgid "Output file format"
msgstr "صيغة الملف الناتج"

#: data/com.uploadedlobster.peek.gschema.xml:50
msgid "Quality setting for the gifski GIF encoder"
msgstr "إعداد جودة تشفير gifski GIF"

#: data/com.uploadedlobster.peek.gschema.xml:65
msgid "Resolution downsampling factor"
msgstr "معامل تقليل مستوى الدقة"

#: data/com.uploadedlobster.peek.gschema.xml:69
msgid "Whether to capture the mouse cursor"
msgstr "تحدد إن كان سيسجل مؤشر الفأرة"

#: data/com.uploadedlobster.peek.gschema.xml:73
msgid "Whether to capture sound from default PULSE input device"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:77
msgid "Size and position of the last open main window"
msgstr "حجم ومكان آخر نافذة رئيسية مفتوحة"

#: data/com.uploadedlobster.peek.gschema.xml:81
msgid "Path where last video got saved"
msgstr "مسار آخر ملف تم حفظه"

#~ msgid "MP4"
#~ msgstr "MP4"

#~ msgid "Report issue"
#~ msgstr "تقرير المسألة"

#~ msgid "com.uploadedlobster.peek"
#~ msgstr "com.uploadedlobster.peek"

#~ msgid "Unable to create default screen recorder.\n"
#~ msgstr "تعذر إنشاء مسجل الشاشة الافتراضي.\n"

#~ msgid "_Quit"
#~ msgstr "أغلق"

#, fuzzy
#~ msgid "Show notification after saving"
#~ msgstr "افتح مدير الملفات بعد الحفظ"

#~ msgid ""
#~ "Select the recording backend to use (gnome-shell, ffmpeg or avconv). If "
#~ "not set Peek will automatically select a backend."
#~ msgstr ""
#~ "تختار ما هي أداة التسجيل المستخدمة (gnome-shell, ffmpeg أو avconv). إن لم "
#~ "يتم تحديدها فإن Peek سيختارها تلقائيا."

#~ msgid "peek"
#~ msgstr "peek"

#, fuzzy
#~ msgid "Open file manager after saving."
#~ msgstr "افتح مدير الملفات بعد الحفظ"

#, fuzzy
#~ msgid "Delay in seconds before recording starts."
#~ msgstr "التأخير بالثواني قبل بدء التسجيل"


================================================
FILE: po/bg.po
================================================
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the peek package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: peek\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-03 19:49+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: src/application.vala:63
msgid "Show the version of the program and exit"
msgstr ""

#: src/application.vala:67
msgid "Select the recording backend (gnome-shell, ffmpeg)"
msgstr ""

#: src/application.vala:68
msgid "BACKEND"
msgstr ""

#: src/application.vala:72
msgid "Start recording in all running Peek instances"
msgstr ""

#: src/application.vala:76
msgid "Stop recording in all running Peek instances"
msgstr ""

#: src/application.vala:80
msgid "Toggle recording in all running Peek instances"
msgstr ""

#: src/application.vala:84
msgid "Start Peek without the header bar"
msgstr ""

#: src/application.vala:94 data/com.uploadedlobster.peek.desktop.in:3
#: data/com.uploadedlobster.peek.appdata.xml.in:7
msgid "Peek"
msgstr ""

#: src/application.vala:250
#, c-format
msgid "Unable to initialize default recording backend: %s"
msgstr ""

#: src/application.vala:266
#, c-format
msgid "Unable to initialize recording backend %s: %s"
msgstr ""

#: src/application.vala:337
msgid "Recording backend unavailable"
msgstr ""

#: src/application.vala:341
msgid "Native Wayland backend is unsupported"
msgstr ""

#: src/application.vala:342
msgid ""
"You are running Peek natively on Wayland, this is currently unsupported. "
"Please start Peek using XWayland by setting <tt>GDK_BACKEND=x11</tt>.\n"
"\n"
"For Details see the Peek <a href='https://github.com/phw/peek#why-no-native-"
"wayland-support'>FAQ about Wayland support</a>."
msgstr ""

#: src/recording/screen-recorder-factory.vala:26
msgid "Peek requires FFmpeg or running GNOME Shell session."
msgstr ""

#: src/recording/screen-recorder-factory.vala:47
msgid "FFmpeg executable not found."
msgstr ""

#: src/ui/application-window.vala:119
msgid "An unexpected error occurred during recording. Recording was aborted."
msgstr ""

#: src/ui/application-window.vala:250
msgid "Rendering animation…"
msgstr ""

#: src/ui/application-window.vala:251
msgid "Peek will close when rendering is finished."
msgstr ""

#: src/ui/application-window.vala:287 ui/application-window.ui:353
#: ui/preferences.ui:224
msgid "APNG"
msgstr ""

#: src/ui/application-window.vala:288 ui/application-window.ui:337
#: ui/preferences.ui:223
msgid "GIF"
msgstr ""

#: src/ui/application-window.vala:289 ui/application-window.ui:370
#: ui/preferences.ui:225
msgid "WebM"
msgstr ""

#: src/ui/application-window.vala:300
#, c-format
msgid "Record as %s"
msgstr ""

#: src/ui/application-window.vala:411
#, c-format
msgid "Start / Stop: %s"
msgstr ""

#: src/ui/application-window.vala:563
msgid "Rendering…"
msgstr ""

#: src/ui/application-window.vala:603
msgid "Recording could not be started due to an unexpected error."
msgstr ""

#: src/ui/application-window.vala:723 src/ui/application-window.vala:728
msgid "Save animation"
msgstr ""

#: src/ui/application-window.vala:724 src/ui/application-window.vala:731
msgid "_Save"
msgstr ""

#: src/ui/application-window.vala:725 src/ui/application-window.vala:729
msgid "_Cancel"
msgstr ""

#: src/ui/application-window.vala:796
msgid "The file could not be saved to the selected location."
msgstr ""

#: src/ui/application-window.vala:823
#, c-format
msgid "Animation saved as “%s”"
msgstr ""

#. Unity does not allow actions on notifications, so we disable
#. notification actions there.
#: src/ui/application-window.vala:833
msgid "Click here to show the saved file in your file manager."
msgstr ""

#: src/ui/application-window.vala:835
msgid "Show in file manager"
msgstr ""

#. Display the configured shortcut to the user
#: src/ui/preferences-dialog.vala:195
msgid "deactivated"
msgstr ""

#. Add a button to change the keyboard shortcut
#: src/ui/preferences-dialog.vala:206 src/ui/preferences-dialog.vala:222
msgid "Change"
msgstr ""

#: src/ui/preferences-dialog.vala:219
msgid "Press keys…"
msgstr ""

#: ui/about.ui.in:37 data/com.uploadedlobster.peek.desktop.in:5
msgid "Animated GIF recorder"
msgstr ""

#. Please add your name to the list of translators if you want to be credited for the translations you have done.
#: ui/about.ui.in:40
msgctxt "Translator credits in about dialog"
msgid "translator-credits"
msgstr ""

#: ui/application-window.ui:33 ui/application-window.ui:185
msgid "Start recording"
msgstr ""

#: ui/application-window.ui:54
msgid "New window"
msgstr ""

#: ui/application-window.ui:68 ui/set-window-size-dialog.ui:23
msgid "Set window size"
msgstr ""

#: ui/application-window.ui:93
msgid "Preferences"
msgstr ""

#: ui/application-window.ui:107
msgid "About Peek"
msgstr ""

#: ui/application-window.ui:149
msgid "_Stop"
msgstr ""

#: ui/application-window.ui:159
msgid "Stop recording"
msgstr ""

#: ui/application-window.ui:175
msgid "_Record"
msgstr ""

#: ui/error-dialog.ui:8
msgid "Recording error"
msgstr ""

#: ui/error-dialog.ui:25
msgid "Close"
msgstr ""

#: ui/error-dialog.ui:70
msgid ""
"Please read the <a href=\"https://github.com/phw/peek#frequently-asked-"
"questions\">FAQs</a> before reporting this issue. If the FAQs do not answer "
"your issue please report it and provide as much details as possible on what "
"you were doing when the issue occurred."
msgstr ""

#: ui/error-dialog.ui:109
msgid "Show details"
msgstr ""

#: ui/preferences.ui:77
msgid "User interface"
msgstr ""

#: ui/preferences.ui:90 data/com.uploadedlobster.peek.gschema.xml:7
msgid "Open file manager after saving"
msgstr ""

#: ui/preferences.ui:106 data/com.uploadedlobster.peek.gschema.xml:11
msgid "Show desktop notification after saving"
msgstr ""

#: ui/preferences.ui:131
msgid "Start / stop recording"
msgstr ""

#: ui/preferences.ui:185
msgid "Recording"
msgstr ""

#: ui/preferences.ui:208
msgid "Output format"
msgstr ""

#: ui/preferences.ui:250 data/com.uploadedlobster.peek.gschema.xml:45
msgid "Use gifski for high quality GIFs"
msgstr ""

#: ui/preferences.ui:275
msgid "GIF quality"
msgstr ""

#: ui/preferences.ui:325 data/com.uploadedlobster.peek.gschema.xml:60
msgid "Framerate"
msgstr ""

#: ui/preferences.ui:367
msgid "Resolution downsampling"
msgstr ""

#: ui/preferences.ui:409 data/com.uploadedlobster.peek.gschema.xml:55
msgid "Delay in seconds before recording starts"
msgstr ""

#: ui/preferences.ui:442
msgid "Capture mouse cursor"
msgstr ""

#: ui/preferences.ui:457
msgid "Capture sound from default PULSE device"
msgstr ""

#: ui/preferences.ui:488
msgid "Peek preferences"
msgstr ""

#: ui/set-window-size-dialog.ui:27
msgid "Cancel"
msgstr ""

#: ui/set-window-size-dialog.ui:36
msgid "Set size"
msgstr ""

#: ui/set-window-size-dialog.ui:89
msgid "Width"
msgstr ""

#: ui/set-window-size-dialog.ui:127
msgid "Height"
msgstr ""

#: data/com.uploadedlobster.peek.desktop.in:6
msgid "Record short animated GIF images from your screen"
msgstr ""

#: data/com.uploadedlobster.peek.desktop.in:7
msgid "screencast;screen recorder;screen capture;GIF;WebM;APNG;"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:8
msgid "Simple screen recorder with an easy to use interface"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:11
msgid ""
"Peek makes it easy to create short screencasts of a screen area. It was "
"built for the specific use case of recording screen areas, e.g. for easily "
"showing UI features of your own apps or for showing a bug in bug reports. "
"With Peek you simply place the Peek window over the area you want to record "
"and press \"Record\". Peek is optimized for generating animated GIFs, but "
"you can also directly record to WebM if you prefer."
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:20
msgid "Features:"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:22
msgid "Select a screen region to record"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:23
msgid "Save recorded video as an optimized animated GIF"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:24
msgid "Record directly to WebM format"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:25
msgid "Simple user interface optimized for the task"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:26
msgid "Automatically downscale recorded videos"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:27
msgid "Support for HiDPI screens"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:28
msgid "Works inside a GNOME Shell Wayland session (using XWayland)"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:30
msgid ""
"Peek is not a general purpose screencast app with extended features but "
"rather focuses on the single task of creating small, silent screencasts of "
"an area of the screen for creating GIF animations or silent WebM videos."
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:40
msgid "The main window to select the recording area"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:44
msgid "Peek's preferences dialog"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:48
msgid "Peek is recording itself"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:78
msgid "Philipp Wolfer"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:15
msgid ""
"Time in milliseconds for which the recording area size is displayed after "
"resizing stops."
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:18
msgid "\"Peek %Y-%m-%d %H-%M\""
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:19
msgid ""
"Default file name used. Can include date format specifiers. The extension "
"will be added automatically."
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:23
msgid "Prefer dark theme"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:27
msgid "Global keybinding to toggle recording"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:41
msgid "Output file format"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:50
msgid "Quality setting for the gifski GIF encoder"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:65
msgid "Resolution downsampling factor"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:69
msgid "Whether to capture the mouse cursor"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:73
msgid "Whether to capture sound from default PULSE input device"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:77
msgid "Size and position of the last open main window"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:81
msgid "Path where last video got saved"
msgstr ""


================================================
FILE: po/bn.po
================================================
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the peek package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: peek\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-03 19:49+0100\n"
"PO-Revision-Date: 2020-11-29 16:29+0000\n"
"Last-Translator: Oymate <dhruboadittya96@gmail.com>\n"
"Language-Team: Bengali <https://hosted.weblate.org/projects/peek/"
"translations/bn/>\n"
"Language: bn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.4-dev\n"

#: src/application.vala:63
msgid "Show the version of the program and exit"
msgstr "প্রোগ্রামটির সংস্করণ দেখাও এবং বের"

#: src/application.vala:67
msgid "Select the recording backend (gnome-shell, ffmpeg)"
msgstr "রেকর্ডিংয়ের ব্যাকএন্ড নির্বাচন করো (গ্নোম-শেল, এফএফএমপেগ)"

#: src/application.vala:68
msgid "BACKEND"
msgstr "ব্যাকএন্ড"

#: src/application.vala:72
msgid "Start recording in all running Peek instances"
msgstr "সমস্ত চলমান পীক দৃষ্টান্তে রেকর্ডিং শুরু করো"

#: src/application.vala:76
msgid "Stop recording in all running Peek instances"
msgstr ""

#: src/application.vala:80
msgid "Toggle recording in all running Peek instances"
msgstr ""

#: src/application.vala:84
msgid "Start Peek without the header bar"
msgstr ""

#: src/application.vala:94 data/com.uploadedlobster.peek.desktop.in:3
#: data/com.uploadedlobster.peek.appdata.xml.in:7
msgid "Peek"
msgstr ""

#: src/application.vala:250
#, c-format
msgid "Unable to initialize default recording backend: %s"
msgstr ""

#: src/application.vala:266
#, c-format
msgid "Unable to initialize recording backend %s: %s"
msgstr ""

#: src/application.vala:337
msgid "Recording backend unavailable"
msgstr ""

#: src/application.vala:341
msgid "Native Wayland backend is unsupported"
msgstr ""

#: src/application.vala:342
msgid ""
"You are running Peek natively on Wayland, this is currently unsupported. "
"Please start Peek using XWayland by setting <tt>GDK_BACKEND=x11</tt>.\n"
"\n"
"For Details see the Peek <a href='https://github.com/phw/peek#why-no-native-"
"wayland-support'>FAQ about Wayland support</a>."
msgstr ""

#: src/recording/screen-recorder-factory.vala:26
msgid "Peek requires FFmpeg or running GNOME Shell session."
msgstr ""

#: src/recording/screen-recorder-factory.vala:47
msgid "FFmpeg executable not found."
msgstr ""

#: src/ui/application-window.vala:119
msgid "An unexpected error occurred during recording. Recording was aborted."
msgstr ""

#: src/ui/application-window.vala:250
msgid "Rendering animation…"
msgstr ""

#: src/ui/application-window.vala:251
msgid "Peek will close when rendering is finished."
msgstr ""

#: src/ui/application-window.vala:287 ui/application-window.ui:353
#: ui/preferences.ui:224
msgid "APNG"
msgstr ""

#: src/ui/application-window.vala:288 ui/application-window.ui:337
#: ui/preferences.ui:223
msgid "GIF"
msgstr ""

#: src/ui/application-window.vala:289 ui/application-window.ui:370
#: ui/preferences.ui:225
msgid "WebM"
msgstr ""

#: src/ui/application-window.vala:300
#, c-format
msgid "Record as %s"
msgstr "%s হিসাবে রেকর্ড"

#: src/ui/application-window.vala:411
#, c-format
msgid "Start / Stop: %s"
msgstr ""

#: src/ui/application-window.vala:563
msgid "Rendering…"
msgstr "রেন্ডার হচ্ছে…"

#: src/ui/application-window.vala:603
msgid "Recording could not be started due to an unexpected error."
msgstr ""

#: src/ui/application-window.vala:723 src/ui/application-window.vala:728
msgid "Save animation"
msgstr ""

#: src/ui/application-window.vala:724 src/ui/application-window.vala:731
#, fuzzy
msgid "_Save"
msgstr "_সংরক্ষণ"

#: src/ui/application-window.vala:725 src/ui/application-window.vala:729
msgid "_Cancel"
msgstr ""

#: src/ui/application-window.vala:796
msgid "The file could not be saved to the selected location."
msgstr ""

#: src/ui/application-window.vala:823
#, c-format
msgid "Animation saved as “%s”"
msgstr ""

#. Unity does not allow actions on notifications, so we disable
#. notification actions there.
#: src/ui/application-window.vala:833
msgid "Click here to show the saved file in your file manager."
msgstr ""

#: src/ui/application-window.vala:835
msgid "Show in file manager"
msgstr ""

#. Display the configured shortcut to the user
#: src/ui/preferences-dialog.vala:195
msgid "deactivated"
msgstr ""

#. Add a button to change the keyboard shortcut
#: src/ui/preferences-dialog.vala:206 src/ui/preferences-dialog.vala:222
msgid "Change"
msgstr ""

#: src/ui/preferences-dialog.vala:219
msgid "Press keys…"
msgstr ""

#: ui/about.ui.in:37 data/com.uploadedlobster.peek.desktop.in:5
msgid "Animated GIF recorder"
msgstr "অ্যানিমেটেড গিফ রেকর্ডার"

#. Please add your name to the list of translators if you want to be credited for the translations you have done.
#: ui/about.ui.in:40
msgctxt "Translator credits in about dialog"
msgid "translator-credits"
msgstr "Github, Weblate, Gitlab- Oymat"

#: ui/application-window.ui:33 ui/application-window.ui:185
msgid "Start recording"
msgstr ""

#: ui/application-window.ui:54
msgid "New window"
msgstr ""

#: ui/application-window.ui:68 ui/set-window-size-dialog.ui:23
msgid "Set window size"
msgstr ""

#: ui/application-window.ui:93
msgid "Preferences"
msgstr ""

#: ui/application-window.ui:107
msgid "About Peek"
msgstr ""

#: ui/application-window.ui:149
msgid "_Stop"
msgstr "_থামো"

#: ui/application-window.ui:159
msgid "Stop recording"
msgstr ""

#: ui/application-window.ui:175
msgid "_Record"
msgstr ""

#: ui/error-dialog.ui:8
msgid "Recording error"
msgstr ""

#: ui/error-dialog.ui:25
msgid "Close"
msgstr ""

#: ui/error-dialog.ui:70
msgid ""
"Please read the <a href=\"https://github.com/phw/peek#frequently-asked-"
"questions\">FAQs</a> before reporting this issue. If the FAQs do not answer "
"your issue please report it and provide as much details as possible on what "
"you were doing when the issue occurred."
msgstr ""

#: ui/error-dialog.ui:109
msgid "Show details"
msgstr ""

#: ui/preferences.ui:77
msgid "User interface"
msgstr ""

#: ui/preferences.ui:90 data/com.uploadedlobster.peek.gschema.xml:7
msgid "Open file manager after saving"
msgstr ""

#: ui/preferences.ui:106 data/com.uploadedlobster.peek.gschema.xml:11
msgid "Show desktop notification after saving"
msgstr ""

#: ui/preferences.ui:131
msgid "Start / stop recording"
msgstr ""

#: ui/preferences.ui:185
msgid "Recording"
msgstr ""

#: ui/preferences.ui:208
msgid "Output format"
msgstr ""

#: ui/preferences.ui:250 data/com.uploadedlobster.peek.gschema.xml:45
msgid "Use gifski for high quality GIFs"
msgstr ""

#: ui/preferences.ui:275
msgid "GIF quality"
msgstr ""

#: ui/preferences.ui:325 data/com.uploadedlobster.peek.gschema.xml:60
msgid "Framerate"
msgstr ""

#: ui/preferences.ui:367
msgid "Resolution downsampling"
msgstr ""

#: ui/preferences.ui:409 data/com.uploadedlobster.peek.gschema.xml:55
msgid "Delay in seconds before recording starts"
msgstr ""

#: ui/preferences.ui:442
msgid "Capture mouse cursor"
msgstr ""

#: ui/preferences.ui:457
msgid "Capture sound from default PULSE device"
msgstr ""

#: ui/preferences.ui:488
msgid "Peek preferences"
msgstr ""

#: ui/set-window-size-dialog.ui:27
msgid "Cancel"
msgstr ""

#: ui/set-window-size-dialog.ui:36
msgid "Set size"
msgstr ""

#: ui/set-window-size-dialog.ui:89
msgid "Width"
msgstr ""

#: ui/set-window-size-dialog.ui:127
msgid "Height"
msgstr ""

#: data/com.uploadedlobster.peek.desktop.in:6
msgid "Record short animated GIF images from your screen"
msgstr ""

#: data/com.uploadedlobster.peek.desktop.in:7
msgid "screencast;screen recorder;screen capture;GIF;WebM;APNG;"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:8
msgid "Simple screen recorder with an easy to use interface"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:11
msgid ""
"Peek makes it easy to create short screencasts of a screen area. It was "
"built for the specific use case of recording screen areas, e.g. for easily "
"showing UI features of your own apps or for showing a bug in bug reports. "
"With Peek you simply place the Peek window over the area you want to record "
"and press \"Record\". Peek is optimized for generating animated GIFs, but "
"you can also directly record to WebM if you prefer."
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:20
msgid "Features:"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:22
msgid "Select a screen region to record"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:23
msgid "Save recorded video as an optimized animated GIF"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:24
msgid "Record directly to WebM format"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:25
msgid "Simple user interface optimized for the task"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:26
msgid "Automatically downscale recorded videos"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:27
msgid "Support for HiDPI screens"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:28
msgid "Works inside a GNOME Shell Wayland session (using XWayland)"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:30
msgid ""
"Peek is not a general purpose screencast app with extended features but "
"rather focuses on the single task of creating small, silent screencasts of "
"an area of the screen for creating GIF animations or silent WebM videos."
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:40
msgid "The main window to select the recording area"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:44
msgid "Peek's preferences dialog"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:48
msgid "Peek is recording itself"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:78
msgid "Philipp Wolfer"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:15
msgid ""
"Time in milliseconds for which the recording area size is displayed after "
"resizing stops."
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:18
msgid "\"Peek %Y-%m-%d %H-%M\""
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:19
msgid ""
"Default file name used. Can include date format specifiers. The extension "
"will be added automatically."
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:23
msgid "Prefer dark theme"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:27
msgid "Global keybinding to toggle recording"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:41
msgid "Output file format"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:50
msgid "Quality setting for the gifski GIF encoder"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:65
msgid "Resolution downsampling factor"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:69
msgid "Whether to capture the mouse cursor"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:73
msgid "Whether to capture sound from default PULSE input device"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:77
msgid "Size and position of the last open main window"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:81
msgid "Path where last video got saved"
msgstr ""


================================================
FILE: po/ca.po
================================================
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Philipp\ Wolfer\ <ph.wolfer@gmail.com>
# This file is distributed under the same license as the peek package.
#
# Translators:
# Adolfo Jayme-Barrientos, 2016
# Adolfo Jayme-Barrientos, 2016
msgid ""
msgstr ""
"Project-Id-Version: Peek\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-03 19:49+0100\n"
"PO-Revision-Date: 2016-10-26 16:04+0000\n"
"Last-Translator: Philipp Wolfer <ph.wolfer@gmail.com>\n"
"Language-Team: Catalan (http://www.transifex.com/phwolfer/peek/language/"
"ca/)\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: src/application.vala:63
msgid "Show the version of the program and exit"
msgstr ""

#: src/application.vala:67
msgid "Select the recording backend (gnome-shell, ffmpeg)"
msgstr ""

#: src/application.vala:68
msgid "BACKEND"
msgstr ""

#: src/application.vala:72
msgid "Start recording in all running Peek instances"
msgstr ""

#: src/application.vala:76
msgid "Stop recording in all running Peek instances"
msgstr ""

#: src/application.vala:80
msgid "Toggle recording in all running Peek instances"
msgstr ""

#: src/application.vala:84
msgid "Start Peek without the header bar"
msgstr ""

#: src/application.vala:94 data/com.uploadedlobster.peek.desktop.in:3
#: data/com.uploadedlobster.peek.appdata.xml.in:7
msgid "Peek"
msgstr "Peek"

#: src/application.vala:250
#, c-format
msgid "Unable to initialize default recording backend: %s"
msgstr ""

#: src/application.vala:266
#, c-format
msgid "Unable to initialize recording backend %s: %s"
msgstr ""

#: src/application.vala:337
msgid "Recording backend unavailable"
msgstr ""

#: src/application.vala:341
msgid "Native Wayland backend is unsupported"
msgstr ""

#: src/application.vala:342
msgid ""
"You are running Peek natively on Wayland, this is currently unsupported. "
"Please start Peek using XWayland by setting <tt>GDK_BACKEND=x11</tt>.\n"
"\n"
"For Details see the Peek <a href='https://github.com/phw/peek#why-no-native-"
"wayland-support'>FAQ about Wayland support</a>."
msgstr ""

#: src/recording/screen-recorder-factory.vala:26
msgid "Peek requires FFmpeg or running GNOME Shell session."
msgstr ""

#: src/recording/screen-recorder-factory.vala:47
msgid "FFmpeg executable not found."
msgstr ""

#: src/ui/application-window.vala:119
msgid "An unexpected error occurred during recording. Recording was aborted."
msgstr ""

#: src/ui/application-window.vala:250
#, fuzzy
msgid "Rendering animation…"
msgstr "Desa l’animació"

#: src/ui/application-window.vala:251
msgid "Peek will close when rendering is finished."
msgstr ""

#: src/ui/application-window.vala:287 ui/application-window.ui:353
#: ui/preferences.ui:224
msgid "APNG"
msgstr "APNG"

#: src/ui/application-window.vala:288 ui/application-window.ui:337
#: ui/preferences.ui:223
msgid "GIF"
msgstr "GIF"

#: src/ui/application-window.vala:289 ui/application-window.ui:370
#: ui/preferences.ui:225
msgid "WebM"
msgstr "WebM"

#: src/ui/application-window.vala:300
#, fuzzy, c-format
msgid "Record as %s"
msgstr "_Enregistra"

#: src/ui/application-window.vala:411
#, c-format
msgid "Start / Stop: %s"
msgstr ""

#: src/ui/application-window.vala:563
msgid "Rendering…"
msgstr ""

#: src/ui/application-window.vala:603
msgid "Recording could not be started due to an unexpected error."
msgstr ""

#: src/ui/application-window.vala:723 src/ui/application-window.vala:728
msgid "Save animation"
msgstr "Desa l’animació"

#: src/ui/application-window.vala:724 src/ui/application-window.vala:731
msgid "_Save"
msgstr "_Desa"

#: src/ui/application-window.vala:725 src/ui/application-window.vala:729
msgid "_Cancel"
msgstr "_Cancel·la"

#: src/ui/application-window.vala:796
msgid "The file could not be saved to the selected location."
msgstr ""

#: src/ui/application-window.vala:823
#, c-format
msgid "Animation saved as “%s”"
msgstr "L’animació s’ha desat com a «%s»"

#. Unity does not allow actions on notifications, so we disable
#. notification actions there.
#: src/ui/application-window.vala:833
msgid "Click here to show the saved file in your file manager."
msgstr "Feu clic aquí per mostrar el fitxer desat al gestor de fitxers."

#: src/ui/application-window.vala:835
msgid "Show in file manager"
msgstr "Mostra al gestor de fitxers"

#. Display the configured shortcut to the user
#: src/ui/preferences-dialog.vala:195
msgid "deactivated"
msgstr ""

#. Add a button to change the keyboard shortcut
#: src/ui/preferences-dialog.vala:206 src/ui/preferences-dialog.vala:222
msgid "Change"
msgstr ""

#: src/ui/preferences-dialog.vala:219
msgid "Press keys…"
msgstr ""

#: ui/about.ui.in:37 data/com.uploadedlobster.peek.desktop.in:5
msgid "Animated GIF recorder"
msgstr "Enregistrador de GIF animats"

#. Please add your name to the list of translators if you want to be credited for the translations you have done.
#: ui/about.ui.in:40
msgctxt "Translator credits in about dialog"
msgid "translator-credits"
msgstr "Adolfo Jayme-Barrientos"

#: ui/application-window.ui:33 ui/application-window.ui:185
msgid "Start recording"
msgstr "Inicia l’enregistrament"

#: ui/application-window.ui:54
#, fuzzy
msgid "New window"
msgstr "_Finestra nova"

#: ui/application-window.ui:68 ui/set-window-size-dialog.ui:23
#, fuzzy
msgid "Set window size"
msgstr "_Finestra nova"

#: ui/application-window.ui:93
#, fuzzy
msgid "Preferences"
msgstr "_Preferències"

#: ui/application-window.ui:107
#, fuzzy
msgid "About Peek"
msgstr "_Quant a"

#: ui/application-window.ui:149
msgid "_Stop"
msgstr "_Atura"

#: ui/application-window.ui:159
msgid "Stop recording"
msgstr "Atura l’enregistrament"

#: ui/application-window.ui:175
msgid "_Record"
msgstr "_Enregistra"

#: ui/error-dialog.ui:8
#, fuzzy
msgid "Recording error"
msgstr "Enregistrament"

#: ui/error-dialog.ui:25
msgid "Close"
msgstr ""

#: ui/error-dialog.ui:70
msgid ""
"Please read the <a href=\"https://github.com/phw/peek#frequently-asked-"
"questions\">FAQs</a> before reporting this issue. If the FAQs do not answer "
"your issue please report it and provide as much details as possible on what "
"you were doing when the issue occurred."
msgstr ""

#: ui/error-dialog.ui:109
msgid "Show details"
msgstr ""

#: ui/preferences.ui:77
msgid "User interface"
msgstr "Interfície de l’usuari"

#: ui/preferences.ui:90 data/com.uploadedlobster.peek.gschema.xml:7
msgid "Open file manager after saving"
msgstr "Obre el gestor de fitxers després de desar"

#: ui/preferences.ui:106 data/com.uploadedlobster.peek.gschema.xml:11
msgid "Show desktop notification after saving"
msgstr ""

#: ui/preferences.ui:131
#, fuzzy
msgid "Start / stop recording"
msgstr "Inicia l’enregistrament"

#: ui/preferences.ui:185
msgid "Recording"
msgstr "Enregistrament"

#: ui/preferences.ui:208
msgid "Output format"
msgstr ""

#: ui/preferences.ui:250 data/com.uploadedlobster.peek.gschema.xml:45
msgid "Use gifski for high quality GIFs"
msgstr ""

#: ui/preferences.ui:275
msgid "GIF quality"
msgstr ""

#: ui/preferences.ui:325 data/com.uploadedlobster.peek.gschema.xml:60
msgid "Framerate"
msgstr "Freqüència dels fotogrames"

#: ui/preferences.ui:367
msgid "Resolution downsampling"
msgstr ""

#: ui/preferences.ui:409 data/com.uploadedlobster.peek.gschema.xml:55
msgid "Delay in seconds before recording starts"
msgstr ""

#: ui/preferences.ui:442
msgid "Capture mouse cursor"
msgstr ""

#: ui/preferences.ui:457
msgid "Capture sound from default PULSE device"
msgstr ""

#: ui/preferences.ui:488
msgid "Peek preferences"
msgstr "Paràmetres del Peek"

#: ui/set-window-size-dialog.ui:27
#, fuzzy
msgid "Cancel"
msgstr "_Cancel·la"

#: ui/set-window-size-dialog.ui:36
#, fuzzy
msgid "Set size"
msgstr "_Finestra nova"

#: ui/set-window-size-dialog.ui:89
msgid "Width"
msgstr ""

#: ui/set-window-size-dialog.ui:127
msgid "Height"
msgstr ""

#: data/com.uploadedlobster.peek.desktop.in:6
msgid "Record short animated GIF images from your screen"
msgstr ""

#: data/com.uploadedlobster.peek.desktop.in:7
msgid "screencast;screen recorder;screen capture;GIF;WebM;APNG;"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:8
msgid "Simple screen recorder with an easy to use interface"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:11
msgid ""
"Peek makes it easy to create short screencasts of a screen area. It was "
"built for the specific use case of recording screen areas, e.g. for easily "
"showing UI features of your own apps or for showing a bug in bug reports. "
"With Peek you simply place the Peek window over the area you want to record "
"and press \"Record\". Peek is optimized for generating animated GIFs, but "
"you can also directly record to WebM if you prefer."
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:20
msgid "Features:"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:22
msgid "Select a screen region to record"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:23
msgid "Save recorded video as an optimized animated GIF"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:24
msgid "Record directly to WebM format"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:25
msgid "Simple user interface optimized for the task"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:26
msgid "Automatically downscale recorded videos"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:27
msgid "Support for HiDPI screens"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:28
msgid "Works inside a GNOME Shell Wayland session (using XWayland)"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:30
msgid ""
"Peek is not a general purpose screencast app with extended features but "
"rather focuses on the single task of creating small, silent screencasts of "
"an area of the screen for creating GIF animations or silent WebM videos."
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:40
msgid "The main window to select the recording area"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:44
#, fuzzy
msgid "Peek's preferences dialog"
msgstr "Paràmetres del Peek"

#: data/com.uploadedlobster.peek.appdata.xml.in:48
msgid "Peek is recording itself"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:78
msgid "Philipp Wolfer"
msgstr "Philipp Wolfer"

#: data/com.uploadedlobster.peek.gschema.xml:15
msgid ""
"Time in milliseconds for which the recording area size is displayed after "
"resizing stops."
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:18
msgid "\"Peek %Y-%m-%d %H-%M\""
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:19
msgid ""
"Default file name used. Can include date format specifiers. The extension "
"will be added automatically."
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:23
msgid "Prefer dark theme"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:27
msgid "Global keybinding to toggle recording"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:41
msgid "Output file format"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:50
msgid "Quality setting for the gifski GIF encoder"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:65
msgid "Resolution downsampling factor"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:69
msgid "Whether to capture the mouse cursor"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:73
msgid "Whether to capture sound from default PULSE input device"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:77
msgid "Size and position of the last open main window"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:81
msgid "Path where last video got saved"
msgstr ""

#~ msgid "MP4"
#~ msgstr "MP4"

#~ msgid "com.uploadedlobster.peek"
#~ msgstr "com.uploadedlobster.peek"

#~ msgid "_Quit"
#~ msgstr "_Surt"

#, fuzzy
#~ msgid "Show notification after saving"
#~ msgstr "Obre el gestor de fitxers després de desar"

#~ msgid "peek"
#~ msgstr "peek"

#, fuzzy
#~ msgid "Open file manager after saving."
#~ msgstr "Obre el gestor de fitxers després de desar"


================================================
FILE: po/cs.po
================================================
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Philipp\ Wolfer\ <ph.wolfer@gmail.com>
# This file is distributed under the same license as the peek package.
#
# Translators:
# Tomáš Průcha <pruchatomas@gmail.com>, 2017.
msgid ""
msgstr ""
"Project-Id-Version: peek\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-03 19:49+0100\n"
"PO-Revision-Date: 2020-06-18 10:41+0000\n"
"Last-Translator: Tomáš Průcha <pruchatomas@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/peek/translations/"
"cs/>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.1.1-dev\n"

#: src/application.vala:63
msgid "Show the version of the program and exit"
msgstr "Ukázat verzi programu a ukončit"

#: src/application.vala:67
msgid "Select the recording backend (gnome-shell, ffmpeg)"
msgstr "Vyberte nahrávací backend (gnome-shell, ffmpeg)"

#: src/application.vala:68
msgid "BACKEND"
msgstr "BACKEND"

#: src/application.vala:72
msgid "Start recording in all running Peek instances"
msgstr "Spustit nahrávání ve všech běžících instancích"

#: src/application.vala:76
msgid "Stop recording in all running Peek instances"
msgstr "Zastavit nahrávání ve všech běžících instancích"

#: src/application.vala:80
msgid "Toggle recording in all running Peek instances"
msgstr "Přepnout nahrávání ve všech běžících instancích"

#: src/application.vala:84
msgid "Start Peek without the header bar"
msgstr "Spustit Peek bez záhlaví okna"

#: src/application.vala:94 data/com.uploadedlobster.peek.desktop.in:3
#: data/com.uploadedlobster.peek.appdata.xml.in:7
msgid "Peek"
msgstr "Peek"

#: src/application.vala:250
#, c-format
msgid "Unable to initialize default recording backend: %s"
msgstr "Nelze zavést výchozí nahrávací backend: %s"

#: src/application.vala:266
#, c-format
msgid "Unable to initialize recording backend %s: %s"
msgstr "Nelze zavést nahrávací backend %s: %s"

#: src/application.vala:337
msgid "Recording backend unavailable"
msgstr "Nahrávací backend nedostupný"

#: src/application.vala:341
msgid "Native Wayland backend is unsupported"
msgstr "Nativní Wayland backend není podporován"

#: src/application.vala:342
msgid ""
"You are running Peek natively on Wayland, this is currently unsupported. "
"Please start Peek using XWayland by setting <tt>GDK_BACKEND=x11</tt>.\n"
"\n"
"For Details see the Peek <a href='https://github.com/phw/peek#why-no-native-"
"wayland-support'>FAQ about Wayland support</a>."
msgstr ""
"Peek běží nativně na Waylandu, toto není v současné době podporováno. Prosím "
"spusťte Peek s použitím XWayland nastavení <tt>GDK_BACKEND=x11</tt>.\n"
"\n"
"Pro detaily zobrazte Peek <a href='https://github.com/phw/peek#why-no-native-"
"wayland-support'>FAQ o Wayland podpoře</a>."

#: src/recording/screen-recorder-factory.vala:26
msgid "Peek requires FFmpeg or running GNOME Shell session."
msgstr "Peek vyžaduje FFmpeg nebo běžící GNOME Shell sezení."

#: src/recording/screen-recorder-factory.vala:47
msgid "FFmpeg executable not found."
msgstr "FFmpeg nenalezen."

#: src/ui/application-window.vala:119
msgid "An unexpected error occurred during recording. Recording was aborted."
msgstr "Během nahrávání došlo k neočekávané chybě. Záznam byl zrušen."

#: src/ui/application-window.vala:250
msgid "Rendering animation…"
msgstr "Vykreslování animace…"

#: src/ui/application-window.vala:251
msgid "Peek will close when rendering is finished."
msgstr "Peek se zavře po dokončení vykreslování."

#: src/ui/application-window.vala:287 ui/application-window.ui:353
#: ui/preferences.ui:224
msgid "APNG"
msgstr "APNG"

#: src/ui/application-window.vala:288 ui/application-window.ui:337
#: ui/preferences.ui:223
msgid "GIF"
msgstr "GIF"

#: src/ui/application-window.vala:289 ui/application-window.ui:370
#: ui/preferences.ui:225
msgid "WebM"
msgstr "WebM"

#: src/ui/application-window.vala:300
#, c-format
msgid "Record as %s"
msgstr "Nahrávat jako %s"

#: src/ui/application-window.vala:411
#, c-format
msgid "Start / Stop: %s"
msgstr "Spustit / Zastavit: %s"

#: src/ui/application-window.vala:563
msgid "Rendering…"
msgstr "Vykreslování…"

#: src/ui/application-window.vala:603
msgid "Recording could not be started due to an unexpected error."
msgstr "Záznam nemohl být spuštěn kvůli neočekávané chybě."

#: src/ui/application-window.vala:723 src/ui/application-window.vala:728
msgid "Save animation"
msgstr "Uložení animace"

#: src/ui/application-window.vala:724 src/ui/application-window.vala:731
msgid "_Save"
msgstr "_Uložit"

#: src/ui/application-window.vala:725 src/ui/application-window.vala:729
msgid "_Cancel"
msgstr "_Zrušit"

#: src/ui/application-window.vala:796
msgid "The file could not be saved to the selected location."
msgstr "Soubor nelze uložit do vybraného umístění."

#: src/ui/application-window.vala:823
#, c-format
msgid "Animation saved as “%s”"
msgstr "Animace uložena jako „%s“"

#. Unity does not allow actions on notifications, so we disable
#. notification actions there.
#: src/ui/application-window.vala:833
msgid "Click here to show the saved file in your file manager."
msgstr "Klikněte zde pro zobrazení uloženého souboru."

#: src/ui/application-window.vala:835
msgid "Show in file manager"
msgstr "Zobrazit ve správci souborů"

#. Display the configured shortcut to the user
#: src/ui/preferences-dialog.vala:195
msgid "deactivated"
msgstr "deaktivováno"

#. Add a button to change the keyboard shortcut
#: src/ui/preferences-dialog.vala:206 src/ui/preferences-dialog.vala:222
msgid "Change"
msgstr "Změnit"

#: src/ui/preferences-dialog.vala:219
msgid "Press keys…"
msgstr "Stiskněte klávesy…"

#: ui/about.ui.in:37 data/com.uploadedlobster.peek.desktop.in:5
msgid "Animated GIF recorder"
msgstr "Nahrává dění na obrazovce do formátu GIF"

#. Please add your name to the list of translators if you want to be credited for the translations you have done.
#: ui/about.ui.in:40
msgctxt "Translator credits in about dialog"
msgid "translator-credits"
msgstr "Tomáš Průcha"

#: ui/application-window.ui:33 ui/application-window.ui:185
msgid "Start recording"
msgstr "Spustit nahrávání"

#: ui/application-window.ui:54
msgid "New window"
msgstr "Nové okno"

#: ui/application-window.ui:68 ui/set-window-size-dialog.ui:23
msgid "Set window size"
msgstr "Nastavit velikost okna"

#: ui/application-window.ui:93
msgid "Preferences"
msgstr "Předvolby"

#: ui/application-window.ui:107
msgid "About Peek"
msgstr "O aplikaci"

#: ui/application-window.ui:149
msgid "_Stop"
msgstr "_Zastavit"

#: ui/application-window.ui:159
msgid "Stop recording"
msgstr "Zastavit nahrávání"

#: ui/application-window.ui:175
msgid "_Record"
msgstr "_Nahrávat"

#: ui/error-dialog.ui:8
msgid "Recording error"
msgstr "Chyba nahrávání"

#: ui/error-dialog.ui:25
msgid "Close"
msgstr "Zavřít"

#: ui/error-dialog.ui:70
msgid ""
"Please read the <a href=\"https://github.com/phw/peek#frequently-asked-"
"questions\">FAQs</a> before reporting this issue. If the FAQs do not answer "
"your issue please report it and provide as much details as possible on what "
"you were doing when the issue occurred."
msgstr ""
"Přečtěte si prosím často kladené otázky <a href=\"https://github.com/phw/"
"peek#frequently-asked-questions\">FAQs</a> před reportováním tohoto "
"problému. Pokud jej zde nenaleznete, popište co nejdetailněji postup "
"navození a následně report odešlete."

#: ui/error-dialog.ui:109
msgid "Show details"
msgstr "Ukázat detaily"

#: ui/preferences.ui:77
msgid "User interface"
msgstr "Uživatelské rozhraní"

#: ui/preferences.ui:90 data/com.uploadedlobster.peek.gschema.xml:7
msgid "Open file manager after saving"
msgstr "Po uložení otevřít správce souborů"

#: ui/preferences.ui:106 data/com.uploadedlobster.peek.gschema.xml:11
msgid "Show desktop notification after saving"
msgstr "Po uložení zobrazit systémové upozornění"

#: ui/preferences.ui:131
msgid "Start / stop recording"
msgstr "Spustit / zastavit nahrávání"

#: ui/preferences.ui:185
msgid "Recording"
msgstr "Nahrávání"

#: ui/preferences.ui:208
msgid "Output format"
msgstr "Výstupní formát"

#: ui/preferences.ui:250 data/com.uploadedlobster.peek.gschema.xml:45
msgid "Use gifski for high quality GIFs"
msgstr "Použít „gifski“ pro vysoce kvalitní GIF"

#: ui/preferences.ui:275
msgid "GIF quality"
msgstr "GIF kvalita"

#: ui/preferences.ui:325 data/com.uploadedlobster.peek.gschema.xml:60
msgid "Framerate"
msgstr "Snímková frekvence"

#: ui/preferences.ui:367
msgid "Resolution downsampling"
msgstr "Downsampling rozlišení"

#: ui/preferences.ui:409 data/com.uploadedlobster.peek.gschema.xml:55
msgid "Delay in seconds before recording starts"
msgstr "Zpoždění (v sekundách) před spuštěním nahrávání"

#: ui/preferences.ui:442
msgid "Capture mouse cursor"
msgstr "Zachytit kurzor myši"

#: ui/preferences.ui:457
msgid "Capture sound from default PULSE device"
msgstr ""

#: ui/preferences.ui:488
msgid "Peek preferences"
msgstr "Předvolby programu Peek"

#: ui/set-window-size-dialog.ui:27
msgid "Cancel"
msgstr "Zrušit"

#: ui/set-window-size-dialog.ui:36
msgid "Set size"
msgstr "Nastavit velikost"

#: ui/set-window-size-dialog.ui:89
msgid "Width"
msgstr "Šířka"

#: ui/set-window-size-dialog.ui:127
msgid "Height"
msgstr "Výška"

#: data/com.uploadedlobster.peek.desktop.in:6
msgid "Record short animated GIF images from your screen"
msgstr "Nahrávat dění na obrazovce do formátu GIF"

#: data/com.uploadedlobster.peek.desktop.in:7
msgid "screencast;screen recorder;screen capture;GIF;WebM;APNG;"
msgstr "záznam obrazovky;nahrávání obrazovky;snímání obrazovky;GIF;WebM;APNG;"

#: data/com.uploadedlobster.peek.appdata.xml.in:8
msgid "Simple screen recorder with an easy to use interface"
msgstr ""
"Program pro nahrávání dění na obrazovce se snadno použitelným rozhraním"

#: data/com.uploadedlobster.peek.appdata.xml.in:11
#, fuzzy
msgid ""
"Peek makes it easy to create short screencasts of a screen area. It was "
"built for the specific use case of recording screen areas, e.g. for easily "
"showing UI features of your own apps or for showing a bug in bug reports. "
"With Peek you simply place the Peek window over the area you want to record "
"and press \"Record\". Peek is optimized for generating animated GIFs, but "
"you can also directly record to WebM if you prefer."
msgstr ""
"Peek umí jednoduše vytvářet krátké nahrávky části obrazovky. Byl vytvořen "
"např. pro jednoduchou prezentaci možností rozhraní vaší aplikace nebo "
"zobrazení chyby při jejím hlášení. Okno programu Peek jednoduše umístíte na "
"oblast, kterou chcete nahrát a stisknete tlačítko „Nahrávat“. Peek je "
"optimalizován pro generaci animovaných GIF souborů, ale můžete také nahrávat "
"přímo do formátu WebM nebo MP4."

#: data/com.uploadedlobster.peek.appdata.xml.in:20
msgid "Features:"
msgstr "Funkce:"

#: data/com.uploadedlobster.peek.appdata.xml.in:22
msgid "Select a screen region to record"
msgstr "Vyberte oblast obrazovky pro nahrávání"

#: data/com.uploadedlobster.peek.appdata.xml.in:23
msgid "Save recorded video as an optimized animated GIF"
msgstr "Uložit nahrané video jako optimalizovaný animovaný GIF"

#: data/com.uploadedlobster.peek.appdata.xml.in:24
#, fuzzy
msgid "Record directly to WebM format"
msgstr "Nahrávat přímo do formátu WebM nebo MP4"

#: data/com.uploadedlobster.peek.appdata.xml.in:25
msgid "Simple user interface optimized for the task"
msgstr "Jednoduché uživatelské rozhraní optimalizované pro daný úkol"

#: data/com.uploadedlobster.peek.appdata.xml.in:26
msgid "Automatically downscale recorded videos"
msgstr "Automaticky podvzorkovat nahraná videa"

#: data/com.uploadedlobster.peek.appdata.xml.in:27
msgid "Support for HiDPI screens"
msgstr "Podpora pro HiDPI obrazovky"

#: data/com.uploadedlobster.peek.appdata.xml.in:28
msgid "Works inside a GNOME Shell Wayland session (using XWayland)"
msgstr "Pracuje uvnitř sezení GNOME Shell Wayland (s použitím XWayland)"

#: data/com.uploadedlobster.peek.appdata.xml.in:30
#, fuzzy
msgid ""
"Peek is not a general purpose screencast app with extended features but "
"rather focuses on the single task of creating small, silent screencasts of "
"an area of the screen for creating GIF animations or silent WebM videos."
msgstr ""
"Peek není komplexní aplikace pro nahrávání obrazovky, ale raději se zaměřuje "
"na vytváření malých nahrávek zvolené části obrazovky do formátů GIF, WebM "
"nebo MP4 bez zvuku."

#: data/com.uploadedlobster.peek.appdata.xml.in:40
msgid "The main window to select the recording area"
msgstr "Hlavní okno pro výběr oblasti nahrávání"

#: data/com.uploadedlobster.peek.appdata.xml.in:44
msgid "Peek's preferences dialog"
msgstr "Předvolby programu Peek"

#: data/com.uploadedlobster.peek.appdata.xml.in:48
msgid "Peek is recording itself"
msgstr "Peek nahrává sám sebe"

#: data/com.uploadedlobster.peek.appdata.xml.in:78
msgid "Philipp Wolfer"
msgstr "Philipp Wolfer"

#: data/com.uploadedlobster.peek.gschema.xml:15
msgid ""
"Time in milliseconds for which the recording area size is displayed after "
"resizing stops."
msgstr ""
"Doba (v milisekundách) zobrazení oblasti nahrávání po změně velikosti okna."

#: data/com.uploadedlobster.peek.gschema.xml:18
msgid "\"Peek %Y-%m-%d %H-%M\""
msgstr "\"Peek %Y-%m-%d %H-%M\""

#: data/com.uploadedlobster.peek.gschema.xml:19
msgid ""
"Default file name used. Can include date format specifiers. The extension "
"will be added automatically."
msgstr ""
"Použitý výchozí název souboru může obsahovat datum. Přípona souboru bude "
"přidána automaticky."

#: data/com.uploadedlobster.peek.gschema.xml:23
msgid "Prefer dark theme"
msgstr "Upřednostnit tmavý motiv"

#: data/com.uploadedlobster.peek.gschema.xml:27
msgid "Global keybinding to toggle recording"
msgstr "Globální klávesová zkratka pro přepnutí nahrávání"

#: data/com.uploadedlobster.peek.gschema.xml:41
msgid "Output file format"
msgstr "Výchozí formát souboru"

#: data/com.uploadedlobster.peek.gschema.xml:50
msgid "Quality setting for the gifski GIF encoder"
msgstr "Nastavení GIF kvality pro kodér „gifski“"

#: data/com.uploadedlobster.peek.gschema.xml:65
msgid "Resolution downsampling factor"
msgstr "Faktor pro downsampling rozlišení"

#: data/com.uploadedlobster.peek.gschema.xml:69
msgid "Whether to capture the mouse cursor"
msgstr "Zda se má zachytit kurzor myši"

#: data/com.uploadedlobster.peek.gschema.xml:73
msgid "Whether to capture sound from default PULSE input device"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:77
msgid "Size and position of the last open main window"
msgstr "Velikost a pozice naposledy otevřeného okna"

#: data/com.uploadedlobster.peek.gschema.xml:81
msgid "Path where last video got saved"
msgstr "Cesta naposledy uloženého videa"

#~ msgid "MP4"
#~ msgstr "MP4"

#~ msgid "Report issue"
#~ msgstr "Nahlásit problém"

#~ msgid "com.uploadedlobster.peek"
#~ msgstr "com.uploadedlobster.peek"

#~ msgid "Unable to create default screen recorder.\n"
#~ msgstr "Nelze vytvořit výchozí obrazovku nahrávání.\n"

#~ msgid "_Quit"
#~ msgstr "_Ukončit"

#, fuzzy
#~ msgid "Show notification after saving"
#~ msgstr "Po uložení otevřít správce souborů"

#~ msgid ""
#~ "Select the recording backend to use (gnome-shell, ffmpeg or avconv). If "
#~ "not set Peek will automatically select a backend."
#~ msgstr ""
#~ "Vyberte backend pro nahrávání (gnome-shell, ffmpeg or avconv). Pokud "
#~ "nevybrán, Peek vybere backend automaticky."

#~ msgid "peek"
#~ msgstr "peek"

#, fuzzy
#~ msgid "Open file manager after saving."
#~ msgstr "Po uložení otevřít správce souborů"

#, fuzzy
#~ msgid "Delay in seconds before recording starts."
#~ msgstr "Zpoždění (v sekundách) před spuštěním nahrávání"


================================================
FILE: po/de.po
================================================
# German translation of Peek.
# Copyright (C) YEAR Philipp\ Wolfer\ <ph.wolfer@gmail.com>
# This file is distributed under the same license as the peek package.
#
# Translators:
# Alexander Wunschik <mail@wunschik.it>, 2016
# Philipp Wolfer <ph.wolfer@gmail.com>, 2016
# Mario Blättermann <mario.blaettermann@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Peek\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-03 19:49+0100\n"
"PO-Revision-Date: 2024-02-03 19:51+0100\n"
"Last-Translator: Philipp Wolfer <ph.wolfer@gmail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/peek/translations/"
"de/>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 3.4.2\n"

#: src/application.vala:63
msgid "Show the version of the program and exit"
msgstr "Programmversion anzeigen und beenden"

#: src/application.vala:67
msgid "Select the recording backend (gnome-shell, ffmpeg)"
msgstr "Aufnahme-Backend wählen (gnome-shell, ffmpeg)"

#: src/application.vala:68
msgid "BACKEND"
msgstr "BACKEND"

#: src/application.vala:72
msgid "Start recording in all running Peek instances"
msgstr "Aufnahme in allen laufenden Peek-Instanzen starten"

#: src/application.vala:76
msgid "Stop recording in all running Peek instances"
msgstr "Aufnahme in allen laufenden Peek-Instanzen stoppen"

#: src/application.vala:80
msgid "Toggle recording in all running Peek instances"
msgstr "Aufnahme in allen laufenden Peek-Instanzen umschalten"

#: src/application.vala:84
msgid "Start Peek without the header bar"
msgstr "Peek ohne Kopfleiste starten"

#: src/application.vala:94 data/com.uploadedlobster.peek.desktop.in:3
#: data/com.uploadedlobster.peek.appdata.xml.in:7
msgid "Peek"
msgstr "Peek"

#: src/application.vala:250
#, c-format
msgid "Unable to initialize default recording backend: %s"
msgstr "Standard Aufnahme-Backend konnte nicht initialisiert werden: %s"

#: src/application.vala:266
#, c-format
msgid "Unable to initialize recording backend %s: %s"
msgstr "Aufnahme-Backend %s konnte nicht initialisiert werden: %s"

#: src/application.vala:337
msgid "Recording backend unavailable"
msgstr "Aufnahme-Backend nicht verfügbar"

#: src/application.vala:341
msgid "Native Wayland backend is unsupported"
msgstr "Natives Wayland-Backend wird nicht unterstützt"

#: src/application.vala:342
msgid ""
"You are running Peek natively on Wayland, this is currently unsupported. "
"Please start Peek using XWayland by setting <tt>GDK_BACKEND=x11</tt>.\n"
"\n"
"For Details see the Peek <a href='https://github.com/phw/peek#why-no-native-"
"wayland-support'>FAQ about Wayland support</a>."
msgstr ""
"Sie verwenden Peek nativ unter Wayland, das wird momentan nicht unterstützt. "
"Bitte starten Sie Peek unter XWayland, indem Sie <tt>GDK_BACKEND=x11</tt> "
"setzen.\n"
"\n"
"Für mehr Informationen siehe Peek <a href='https://github.com/phw/peek#why-"
"no-native-wayland-support'>FAQ zur Wayland-Unterstützung</a>."

#: src/recording/screen-recorder-factory.vala:26
msgid "Peek requires FFmpeg or running GNOME Shell session."
msgstr "Peek erfordert FFmpeg oder eine laufende GNOME Shell-Sitzung."

#: src/recording/screen-recorder-factory.vala:47
msgid "FFmpeg executable not found."
msgstr "FFmpeg nicht gefunden."

#: src/ui/application-window.vala:119
msgid "An unexpected error occurred during recording. Recording was aborted."
msgstr ""
"Ein unerwarteter Fehler ist während der Aufnahme aufgetreten. Die Aufnahme "
"wurde abgebrochen."

#: src/ui/application-window.vala:250
msgid "Rendering animation…"
msgstr "Animation wird erstellt …"

#: src/ui/application-window.vala:251
msgid "Peek will close when rendering is finished."
msgstr "Peek wird beendet, sobald die Erstellung abgeschlossen ist."

#: src/ui/application-window.vala:287 ui/application-window.ui:353
#: ui/preferences.ui:224
msgid "APNG"
msgstr "APNG"

#: src/ui/application-window.vala:288 ui/application-window.ui:337
#: ui/preferences.ui:223
msgid "GIF"
msgstr "GIF"

#: src/ui/application-window.vala:289 ui/application-window.ui:370
#: ui/preferences.ui:225
msgid "WebM"
msgstr "WebM"

#: src/ui/application-window.vala:300
#, c-format
msgid "Record as %s"
msgstr "Auf_nehmen als %s"

#: src/ui/application-window.vala:411
#, c-format
msgid "Start / Stop: %s"
msgstr "Start / Stopp: %s"

#: src/ui/application-window.vala:563
msgid "Rendering…"
msgstr "Wird erstellt …"

#: src/ui/application-window.vala:603
msgid "Recording could not be started due to an unexpected error."
msgstr ""
"Die Aufnahme konnte aufgrund eines unerwarteten Fehlers nicht gestartet "
"werden."

#: src/ui/application-window.vala:723 src/ui/application-window.vala:728
msgid "Save animation"
msgstr "Animation speichern"

#: src/ui/application-window.vala:724 src/ui/application-window.vala:731
msgid "_Save"
msgstr "_Speichern"

#: src/ui/application-window.vala:725 src/ui/application-window.vala:729
msgid "_Cancel"
msgstr "_Abbrechen"

#: src/ui/application-window.vala:796
msgid "The file could not be saved to the selected location."
msgstr "Die Datei konnte nicht am ausgewählten Ort gespeichert werden."

#: src/ui/application-window.vala:823
#, c-format
msgid "Animation saved as “%s”"
msgstr "Animation als »%s« gespeichert"

#. Unity does not allow actions on notifications, so we disable
#. notification actions there.
#: src/ui/application-window.vala:833
msgid "Click here to show the saved file in your file manager."
msgstr "Hier klicken, um die Datei in der Dateiverwaltung anzuzeigen."

#: src/ui/application-window.vala:835
msgid "Show in file manager"
msgstr "In Ordner anzeigen"

#. Display the configured shortcut to the user
#: src/ui/preferences-dialog.vala:195
msgid "deactivated"
msgstr "deaktiviert"

#. Add a button to change the keyboard shortcut
#: src/ui/preferences-dialog.vala:206 src/ui/preferences-dialog.vala:222
msgid "Change"
msgstr "Ändern"

#: src/ui/preferences-dialog.vala:219
msgid "Press keys…"
msgstr "Tasten drücken …"

#: ui/about.ui.in:37 data/com.uploadedlobster.peek.desktop.in:5
msgid "Animated GIF recorder"
msgstr "Aufnahme von GIF-Animationen"

#. Please add your name to the list of translators if you want to be credited for the translations you have done.
#: ui/about.ui.in:40
msgctxt "Translator credits in about dialog"
msgid "translator-credits"
msgstr ""
"Philipp Wolfer <ph.wolfer@gmail.com>\n"
"Alexander Wunschik <mail@wunschik.it>\n"
"Mario Blättermann <mario.blaettermann@gmail.com>"

#: ui/application-window.ui:33 ui/application-window.ui:185
msgid "Start recording"
msgstr "Aufnahme starten"

#: ui/application-window.ui:54
msgid "New window"
msgstr "Neues Fenster"

#: ui/application-window.ui:68 ui/set-window-size-dialog.ui:23
msgid "Set window size"
msgstr "Fenstergröße setzen"

#: ui/application-window.ui:93
msgid "Preferences"
msgstr "Einstellungen"

#: ui/application-window.ui:107
msgid "About Peek"
msgstr "Info zu Peek"

#: ui/application-window.ui:149
msgid "_Stop"
msgstr "_Stopp"

#: ui/application-window.ui:159
msgid "Stop recording"
msgstr "Aufnahme anhalten"

#: ui/application-window.ui:175
msgid "_Record"
msgstr "_Aufnehmen"

#: ui/error-dialog.ui:8
msgid "Recording error"
msgstr "Aufnahmefehler"

#: ui/error-dialog.ui:25
msgid "Close"
msgstr "Schließen"

#: ui/error-dialog.ui:70
msgid ""
"Please read the <a href=\"https://github.com/phw/peek#frequently-asked-"
"questions\">FAQs</a> before reporting this issue. If the FAQs do not answer "
"your issue please report it and provide as much details as possible on what "
"you were doing when the issue occurred."
msgstr ""
"Bitte lesen Sie die <a href=\"https://github.com/phw/peek#frequently-asked-"
"questions\">FAQs</a> bevor Sie dieses Problem melden. Falls die FAQs Ihr "
"Problem nicht lösen, melden Sie das Problem bitte unter Angabe von so vielen "
"Details wie möglich."

#: ui/error-dialog.ui:109
msgid "Show details"
msgstr "Details anzeigen"

#: ui/preferences.ui:77
msgid "User interface"
msgstr "Benutzeroberfläche"

#: ui/preferences.ui:90 data/com.uploadedlobster.peek.gschema.xml:7
msgid "Open file manager after saving"
msgstr "Dateimanager nach dem Speichern öffnen"

#: ui/preferences.ui:106 data/com.uploadedlobster.peek.gschema.xml:11
msgid "Show desktop notification after saving"
msgstr "Desktop-Benachrichtigung nach dem Speichern anzeigen"

#: ui/preferences.ui:131
msgid "Start / stop recording"
msgstr "Aufnahme starten / stoppen"

#: ui/preferences.ui:185
msgid "Recording"
msgstr "Aufnahme"

#: ui/preferences.ui:208
msgid "Output format"
msgstr "Ausgabeformat"

#: ui/preferences.ui:250 data/com.uploadedlobster.peek.gschema.xml:45
msgid "Use gifski for high quality GIFs"
msgstr "gifski für qualitativ hochwertige GIFs verwenden"

#: ui/preferences.ui:275
msgid "GIF quality"
msgstr "GIF-Qualität"

#: ui/preferences.ui:325 data/com.uploadedlobster.peek.gschema.xml:60
msgid "Framerate"
msgstr "Bildwiederholrate"

#: ui/preferences.ui:367
msgid "Resolution downsampling"
msgstr "Auflösung verringern"

#: ui/preferences.ui:409 data/com.uploadedlobster.peek.gschema.xml:55
msgid "Delay in seconds before recording starts"
msgstr "Verzögerung in Sekunden, bevor die Aufnahme startet"

#: ui/preferences.ui:442
msgid "Capture mouse cursor"
msgstr "Mauszeiger aufnehmen"

#: ui/preferences.ui:457
msgid "Capture sound from default PULSE device"
msgstr "Ton vom Standard PULSE-Gerät aufnehmen"

#: ui/preferences.ui:488
msgid "Peek preferences"
msgstr "Einstellungen für Peek"

#: ui/set-window-size-dialog.ui:27
msgid "Cancel"
msgstr "Abbrechen"

#: ui/set-window-size-dialog.ui:36
msgid "Set size"
msgstr "Größe setzen"

#: ui/set-window-size-dialog.ui:89
msgid "Width"
msgstr "Breite"

#: ui/set-window-size-dialog.ui:127
msgid "Height"
msgstr "Höhe"

#: data/com.uploadedlobster.peek.desktop.in:6
msgid "Record short animated GIF images from your screen"
msgstr "Kurze GIF-Animationen vom Bildschirm aufnehmen"

#: data/com.uploadedlobster.peek.desktop.in:7
msgid "screencast;screen recorder;screen capture;GIF;WebM;APNG;"
msgstr "screencast;screen recorder;Bildschirmaufnahme;GIF;WebM;APNG;"

#: data/com.uploadedlobster.peek.appdata.xml.in:8
msgid "Simple screen recorder with an easy to use interface"
msgstr ""
"Einfacher Bildschirmrekorder mit einer einfach zu bedienenden Oberfläche"

#: data/com.uploadedlobster.peek.appdata.xml.in:11
msgid ""
"Peek makes it easy to create short screencasts of a screen area. It was "
"built for the specific use case of recording screen areas, e.g. for easily "
"showing UI features of your own apps or for showing a bug in bug reports. "
"With Peek you simply place the Peek window over the area you want to record "
"and press \"Record\". Peek is optimized for generating animated GIFs, but "
"you can also directly record to WebM if you prefer."
msgstr ""
"Mit Peek können ganz einfach Bildschirmaufzeichnungen von einem "
"Bildschirmbereich gemacht werden. Es wurde speziell für die Aufnahme von "
"Bildschirmbereichen entwickelt, z. B. um schnell und einfach die "
"Benutzeroberfläche eigener Anwendungen zu präsentieren oder um Fehler für "
"Fehlerberichte zu dokumentieren. Mit Peek platzieren Sie einfach das Peek-"
"Fenster über dem Bereich, den Sie aufnehmen wollen, und klicken auf "
"»Aufnehmen«. Peek wurde für das Erzeugen von animierten GIFs optimiert, kann "
"aber auch direkt im WebM-Format aufnehmen."

#: data/com.uploadedlobster.peek.appdata.xml.in:20
msgid "Features:"
msgstr "Merkmale:"

#: data/com.uploadedlobster.peek.appdata.xml.in:22
msgid "Select a screen region to record"
msgstr "Ein Bildschirmbereich zum Aufnehmen wählen"

#: data/com.uploadedlobster.peek.appdata.xml.in:23
msgid "Save recorded video as an optimized animated GIF"
msgstr "Das aufgenommene Video als optimiertes animiertes GIF speichern"

#: data/com.uploadedlobster.peek.appdata.xml.in:24
msgid "Record directly to WebM format"
msgstr "Direkt im WebM-Format aufnehmen"

#: data/com.uploadedlobster.peek.appdata.xml.in:25
msgid "Simple user interface optimized for the task"
msgstr "Eine Benutzeroberfläche, die für den Anwendungsfall optimiert ist"

#: data/com.uploadedlobster.peek.appdata.xml.in:26
msgid "Automatically downscale recorded videos"
msgstr "Aufgenommene Videos automatisch skalieren"

#: data/com.uploadedlobster.peek.appdata.xml.in:27
msgid "Support for HiDPI screens"
msgstr "Unterstützung für hochauflösende Bildschirme"

#: data/com.uploadedlobster.peek.appdata.xml.in:28
msgid "Works inside a GNOME Shell Wayland session (using XWayland)"
msgstr "Funktioniert in GNOME Shell mit Wayland (mit XWayland)"

#: data/com.uploadedlobster.peek.appdata.xml.in:30
msgid ""
"Peek is not a general purpose screencast app with extended features but "
"rather focuses on the single task of creating small, silent screencasts of "
"an area of the screen for creating GIF animations or silent WebM videos."
msgstr ""
"Peek ist keine Allzweck-Anwendung zur Bildschirmaufzeichnung, sondern "
"fokussiert sich stattdessen auf die Aufnahme von kleinen, stummen "
"Bildschirmaufzeichnungen eines Bildschirmbereichs, um daraus GIF-Animationen "
"oder stumme WebM-Videos zu erstellen."

#: data/com.uploadedlobster.peek.appdata.xml.in:40
msgid "The main window to select the recording area"
msgstr "Aufnahmebereich mit dem Hauptfenster wählen"

#: data/com.uploadedlobster.peek.appdata.xml.in:44
msgid "Peek's preferences dialog"
msgstr "Einstellungsdialog von Peek"

#: data/com.uploadedlobster.peek.appdata.xml.in:48
msgid "Peek is recording itself"
msgstr "Peek nimmt sich selbst auf"

#: data/com.uploadedlobster.peek.appdata.xml.in:78
msgid "Philipp Wolfer"
msgstr "Philipp Wolfer"

#: data/com.uploadedlobster.peek.gschema.xml:15
msgid ""
"Time in milliseconds for which the recording area size is displayed after "
"resizing stops."
msgstr ""
"Dauer in Millisekunden, in der die Größe des Aufnahmebereichs nach der "
"Größenänderung angezeigt wird."

#: data/com.uploadedlobster.peek.gschema.xml:18
msgid "\"Peek %Y-%m-%d %H-%M\""
msgstr "\"Peek %Y-%m-%d %H-%M\""

#: data/com.uploadedlobster.peek.gschema.xml:19
msgid ""
"Default file name used. Can include date format specifiers. The extension "
"will be added automatically."
msgstr ""
"Der Standarddateiname beim Speichern. Kann Formatierungsanweisungen für "
"Datumsangaben enthalten. Die Dateierweiterung wird automatisch ergänzt."

#: data/com.uploadedlobster.peek.gschema.xml:23
msgid "Prefer dark theme"
msgstr "Dunkles Thema bevorzugen"

#: data/com.uploadedlobster.peek.gschema.xml:27
msgid "Global keybinding to toggle recording"
msgstr "Globales Tastaturkürzel um Aufnahme zu starten / zu stoppen"

#: data/com.uploadedlobster.peek.gschema.xml:41
msgid "Output file format"
msgstr "Format der Ausgabedatei"

#: data/com.uploadedlobster.peek.gschema.xml:50
msgid "Quality setting for the gifski GIF encoder"
msgstr "Qualitätseinstellung für den GIF-Encoder gifski"

#: data/com.uploadedlobster.peek.gschema.xml:65
msgid "Resolution downsampling factor"
msgstr "Faktor zum Verringern der Auflösung"

#: data/com.uploadedlobster.peek.gschema.xml:69
msgid "Whether to capture the mouse cursor"
msgstr "Legt fest, ob der Mauszeiger aufgenommen wird"

#: data/com.uploadedlobster.peek.gschema.xml:73
msgid "Whether to capture sound from default PULSE input device"
msgstr "Legt fest, ob der Ton vom Standard PULSE-Inputgerät aufgenommen wird"

#: data/com.uploadedlobster.peek.gschema.xml:77
msgid "Size and position of the last open main window"
msgstr "Größe und Position des zuletzt geöffneten Hauptfensters"

#: data/com.uploadedlobster.peek.gschema.xml:81
msgid "Path where last video got saved"
msgstr "Pfad, in dem das letzte Video gespeichert wurde"

#~ msgid "MP4"
#~ msgstr "MP4"

#~ msgid "Report issue"
#~ msgstr "Fehler melden"

#~ msgid "com.uploadedlobster.peek"
#~ msgstr "com.uploadedlobster.peek"

#~ msgid "Unable to create default screen recorder.\n"
#~ msgstr "Standard-Bildschirmrekorder konnte nicht erstellt werden.\n"

#~ msgid "_Quit"
#~ msgstr "_Beenden"

#, fuzzy
#~ msgid "Show notification after saving"
#~ msgstr "Dateimanager nach dem Speichern öffnen"

#~ msgid ""
#~ "Select the recording backend to use (gnome-shell, ffmpeg or avconv). If "
#~ "not set Peek will automatically select a backend."
#~ msgstr ""
#~ "Zu verwendendes Aufnahme-Backend wählen (gnome-shell, ffmpeg oder "
#~ "avconv). Falls nicht angegeben wird Peek automatisch ein Backend wählen."

#~ msgid "peek"
#~ msgstr "peek"

#~ msgid "Open file manager after saving."
#~ msgstr "Dateimanager nach dem Speichern öffnen."

#~ msgid "Delay in seconds before recording starts."
#~ msgstr "Verzögerung in Sekunden vor dem Start der Aufnahme."


================================================
FILE: po/el.po
================================================
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Philipp\ Wolfer\ <ph.wolfer@gmail.com>
# This file is distributed under the same license as the peek package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: peek\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-03 19:49+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: src/application.vala:63
msgid "Show the version of the program and exit"
msgstr ""

#: src/application.vala:67
msgid "Select the recording backend (gnome-shell, ffmpeg)"
msgstr ""

#: src/application.vala:68
msgid "BACKEND"
msgstr ""

#: src/application.vala:72
msgid "Start recording in all running Peek instances"
msgstr ""

#: src/application.vala:76
msgid "Stop recording in all running Peek instances"
msgstr ""

#: src/application.vala:80
msgid "Toggle recording in all running Peek instances"
msgstr ""

#: src/application.vala:84
msgid "Start Peek without the header bar"
msgstr ""

#: src/application.vala:94 data/com.uploadedlobster.peek.desktop.in:3
#: data/com.uploadedlobster.peek.appdata.xml.in:7
msgid "Peek"
msgstr "Peek"

#: src/application.vala:250
#, c-format
msgid "Unable to initialize default recording backend: %s"
msgstr ""

#: src/application.vala:266
#, c-format
msgid "Unable to initialize recording backend %s: %s"
msgstr ""

#: src/application.vala:337
msgid "Recording backend unavailable"
msgstr ""

#: src/application.vala:341
msgid "Native Wayland backend is unsupported"
msgstr ""

#: src/application.vala:342
msgid ""
"You are running Peek natively on Wayland, this is currently unsupported. "
"Please start Peek using XWayland by setting <tt>GDK_BACKEND=x11</tt>.\n"
"\n"
"For Details see the Peek <a href='https://github.com/phw/peek#why-no-native-"
"wayland-support'>FAQ about Wayland support</a>."
msgstr ""

#: src/recording/screen-recorder-factory.vala:26
msgid "Peek requires FFmpeg or running GNOME Shell session."
msgstr ""

#: src/recording/screen-recorder-factory.vala:47
msgid "FFmpeg executable not found."
msgstr ""

#: src/ui/application-window.vala:119
msgid "An unexpected error occurred during recording. Recording was aborted."
msgstr ""

#: src/ui/application-window.vala:250
msgid "Rendering animation…"
msgstr ""

#: src/ui/application-window.vala:251
msgid "Peek will close when rendering is finished."
msgstr ""

#: src/ui/application-window.vala:287 ui/application-window.ui:353
#: ui/preferences.ui:224
msgid "APNG"
msgstr "APNG"

#: src/ui/application-window.vala:288 ui/application-window.ui:337
#: ui/preferences.ui:223
msgid "GIF"
msgstr "GIF"

#: src/ui/application-window.vala:289 ui/application-window.ui:370
#: ui/preferences.ui:225
msgid "WebM"
msgstr "WebM"

#: src/ui/application-window.vala:300
#, c-format
msgid "Record as %s"
msgstr ""

#: src/ui/application-window.vala:411
#, c-format
msgid "Start / Stop: %s"
msgstr ""

#: src/ui/application-window.vala:563
msgid "Rendering…"
msgstr ""

#: src/ui/application-window.vala:603
msgid "Recording could not be started due to an unexpected error."
msgstr ""

#: src/ui/application-window.vala:723 src/ui/application-window.vala:728
msgid "Save animation"
msgstr ""

#: src/ui/application-window.vala:724 src/ui/application-window.vala:731
msgid "_Save"
msgstr ""

#: src/ui/application-window.vala:725 src/ui/application-window.vala:729
msgid "_Cancel"
msgstr ""

#: src/ui/application-window.vala:796
msgid "The file could not be saved to the selected location."
msgstr ""

#: src/ui/application-window.vala:823
#, c-format
msgid "Animation saved as “%s”"
msgstr ""

#. Unity does not allow actions on notifications, so we disable
#. notification actions there.
#: src/ui/application-window.vala:833
msgid "Click here to show the saved file in your file manager."
msgstr ""

#: src/ui/application-window.vala:835
msgid "Show in file manager"
msgstr ""

#. Display the configured shortcut to the user
#: src/ui/preferences-dialog.vala:195
msgid "deactivated"
msgstr ""

#. Add a button to change the keyboard shortcut
#: src/ui/preferences-dialog.vala:206 src/ui/preferences-dialog.vala:222
msgid "Change"
msgstr ""

#: src/ui/preferences-dialog.vala:219
msgid "Press keys…"
msgstr ""

#: ui/about.ui.in:37 data/com.uploadedlobster.peek.desktop.in:5
msgid "Animated GIF recorder"
msgstr ""

#. Please add your name to the list of translators if you want to be credited for the translations you have done.
#: ui/about.ui.in:40
msgctxt "Translator credits in about dialog"
msgid "translator-credits"
msgstr ""

#: ui/application-window.ui:33 ui/application-window.ui:185
msgid "Start recording"
msgstr ""

#: ui/application-window.ui:54
msgid "New window"
msgstr ""

#: ui/application-window.ui:68 ui/set-window-size-dialog.ui:23
msgid "Set window size"
msgstr ""

#: ui/application-window.ui:93
msgid "Preferences"
msgstr ""

#: ui/application-window.ui:107
msgid "About Peek"
msgstr ""

#: ui/application-window.ui:149
msgid "_Stop"
msgstr ""

#: ui/application-window.ui:159
msgid "Stop recording"
msgstr ""

#: ui/application-window.ui:175
msgid "_Record"
msgstr ""

#: ui/error-dialog.ui:8
msgid "Recording error"
msgstr ""

#: ui/error-dialog.ui:25
msgid "Close"
msgstr ""

#: ui/error-dialog.ui:70
msgid ""
"Please read the <a href=\"https://github.com/phw/peek#frequently-asked-"
"questions\">FAQs</a> before reporting this issue. If the FAQs do not answer "
"your issue please report it and provide as much details as possible on what "
"you were doing when the issue occurred."
msgstr ""

#: ui/error-dialog.ui:109
msgid "Show details"
msgstr ""

#: ui/preferences.ui:77
msgid "User interface"
msgstr ""

#: ui/preferences.ui:90 data/com.uploadedlobster.peek.gschema.xml:7
msgid "Open file manager after saving"
msgstr ""

#: ui/preferences.ui:106 data/com.uploadedlobster.peek.gschema.xml:11
msgid "Show desktop notification after saving"
msgstr ""

#: ui/preferences.ui:131
msgid "Start / stop recording"
msgstr ""

#: ui/preferences.ui:185
msgid "Recording"
msgstr ""

#: ui/preferences.ui:208
msgid "Output format"
msgstr ""

#: ui/preferences.ui:250 data/com.uploadedlobster.peek.gschema.xml:45
msgid "Use gifski for high quality GIFs"
msgstr ""

#: ui/preferences.ui:275
msgid "GIF quality"
msgstr ""

#: ui/preferences.ui:325 data/com.uploadedlobster.peek.gschema.xml:60
msgid "Framerate"
msgstr ""

#: ui/preferences.ui:367
msgid "Resolution downsampling"
msgstr ""

#: ui/preferences.ui:409 data/com.uploadedlobster.peek.gschema.xml:55
msgid "Delay in seconds before recording starts"
msgstr ""

#: ui/preferences.ui:442
msgid "Capture mouse cursor"
msgstr ""

#: ui/preferences.ui:457
msgid "Capture sound from default PULSE device"
msgstr ""

#: ui/preferences.ui:488
msgid "Peek preferences"
msgstr ""

#: ui/set-window-size-dialog.ui:27
msgid "Cancel"
msgstr ""

#: ui/set-window-size-dialog.ui:36
msgid "Set size"
msgstr ""

#: ui/set-window-size-dialog.ui:89
msgid "Width"
msgstr ""

#: ui/set-window-size-dialog.ui:127
msgid "Height"
msgstr ""

#: data/com.uploadedlobster.peek.desktop.in:6
msgid "Record short animated GIF images from your screen"
msgstr ""

#: data/com.uploadedlobster.peek.desktop.in:7
msgid "screencast;screen recorder;screen capture;GIF;WebM;APNG;"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:8
msgid "Simple screen recorder with an easy to use interface"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:11
msgid ""
"Peek makes it easy to create short screencasts of a screen area. It was "
"built for the specific use case of recording screen areas, e.g. for easily "
"showing UI features of your own apps or for showing a bug in bug reports. "
"With Peek you simply place the Peek window over the area you want to record "
"and press \"Record\". Peek is optimized for generating animated GIFs, but "
"you can also directly record to WebM if you prefer."
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:20
msgid "Features:"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:22
msgid "Select a screen region to record"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:23
msgid "Save recorded video as an optimized animated GIF"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:24
msgid "Record directly to WebM format"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:25
msgid "Simple user interface optimized for the task"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:26
msgid "Automatically downscale recorded videos"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:27
msgid "Support for HiDPI screens"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:28
msgid "Works inside a GNOME Shell Wayland session (using XWayland)"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:30
msgid ""
"Peek is not a general purpose screencast app with extended features but "
"rather focuses on the single task of creating small, silent screencasts of "
"an area of the screen for creating GIF animations or silent WebM videos."
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:40
msgid "The main window to select the recording area"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:44
msgid "Peek's preferences dialog"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:48
msgid "Peek is recording itself"
msgstr ""

#: data/com.uploadedlobster.peek.appdata.xml.in:78
msgid "Philipp Wolfer"
msgstr "Philipp Wolfer"

#: data/com.uploadedlobster.peek.gschema.xml:15
msgid ""
"Time in milliseconds for which the recording area size is displayed after "
"resizing stops."
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:18
msgid "\"Peek %Y-%m-%d %H-%M\""
msgstr "\"Peek %Y-%m-%d %H-%M\""

#: data/com.uploadedlobster.peek.gschema.xml:19
msgid ""
"Default file name used. Can include date format specifiers. The extension "
"will be added automatically."
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:23
msgid "Prefer dark theme"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:27
msgid "Global keybinding to toggle recording"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:41
msgid "Output file format"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:50
msgid "Quality setting for the gifski GIF encoder"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:65
msgid "Resolution downsampling factor"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:69
msgid "Whether to capture the mouse cursor"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:73
msgid "Whether to capture sound from default PULSE input device"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:77
msgid "Size and position of the last open main window"
msgstr ""

#: data/com.uploadedlobster.peek.gschema.xml:81
msgid "Path where last video got saved"
msgstr ""

#~ msgid "MP4"
#~ msgstr "MP4"

#~ msgid "com.uploadedlobster.peek"
#~ msgstr "com.uploadedlobster.peek"


================================================
FILE: po/eo.po
================================================
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Philipp\ Wolfer\ <ph.wolfer@gmail.com>
# This file is distributed under the same license as the peek package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: peek\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-03 19:49+0100\n"
"PO-Revision-Date: 2021-01-01 22:29+0000\n"
"Last-Translator: Jorge Maldonado Ventura <jorgesumle@freakspot.net>\n"
"Language-Team: Esperanto <https://hosted.weblate.org/projects/peek/"
"translations/eo/>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.4.1-dev\n"

#: src/application.vala:63
msgid "Show the version of the program and exit"
msgstr "Montri version de la programo kaj eliri"

#: src/application.vala:67
msgid "Select the recording backend (gnome-shell, ffmpeg)"
msgstr "Elektu la internan registrilon (gnome-shell, ffmpeg)"

#: src/application.vala:68
msgid "BACKEND"
msgstr "REGISTRILO"

#: src/application.vala:72
msgid "Start recording in all running Peek instances"
msgstr "Komenci registradon en ĉiuj funkciantaj aperoj de Peek"

#: src/application.vala:76
msgid "Stop recording in all running Peek instances"
msgstr "Haltigi registradon en ĉiuj funkciantaj aperoj de Peek"

#: src/application.vala:80
msgid "Toggle recording in all running Peek instances"
msgstr "Baskuligi registradon en ĉiuj funkciantaj aperoj de Peek"

#: src/application.vala:84
msgid "Start Peek without the header bar"
msgstr "Funkciigi programon Peek sen la fenestra kapo"

#: src/application.vala:94 data/com.uploadedlobster.peek.desktop.in:3
#: data/com.uploadedlobster.peek.appdata.xml.in:7
msgid "Peek"
msgstr "Peek"

#: src/application.vala:250
#, c-format
msgid "Unable to initialize default recording backend: %s"
msgstr "Ne eblas funkciigi defaŭltan registrilon: %s"

#: src/application.vala:266
#, c-format
msgid "Unable to initialize recording backend %s: %s"
msgstr "Ne eblas funkciigi registrilon %s: %s"

#: src/application.vala:337
msgid "Recording backend unavailable"
msgstr "Registrilo ne disponebla"

#: src/application.vala:341
msgid "Native Wayland backend is unsupported"
msgstr "Indiĝena registrado en Wayland ne estas subtenata"

#: src/application.vala:342
msgid ""
"You are running Peek natively on Wayland, this is currently unsupported. "
"Please start Peek using XWayland by setting <tt>GDK_BACKEND=x11</tt>.\n"
"\n"
"For Details see the Peek <a href='https://github.com/phw/peek#why-no-native-"
"wayland-support'>FAQ about Wayland support</a>."
msgstr ""
"Vi lanĉas Peek indiĝene en Wayland; tio nuntempe ne estas subtenata. Bonvolu "
"ĝin lanĉi per XWayland, agordinte <tt>GDK_BACKEND=x11</tt>.\n"
"\n"
"Por pliaj detaloj, rigardu la respondaron <a href='https://github.com/phw/"
"peek#why-no-native-wayland-support'> pri subteno de Wayland</a>."

#: src/recording/screen-recorder-factory.vala:26
msgid "Peek requires FFmpeg or running GNOME Shell session."
msgstr "Peek bezonas je FFmpeg aŭ ruli seancon de GNOME Shell."

#: src/recording/screen-recorder-factory.vala:47
msgid "FFmpeg executable not found."
msgstr "Plenumebla FFmpeg-dosiero ne trovita."

#: src/ui/application-window.vala:119
msgid "An unexpected error occurred during recording. Recording was aborted."
msgstr "Neatendita eraro okazis dum registrado. Registrado haltis."

#: src/ui/application-window.vala:250
msgid "Rendering animation…"
msgstr "Movbildiganta…"

#: src/ui/application-window.vala:251
msgid "Peek will close when rendering is finished."
msgstr "Peek fermiĝos fininte bildigon."

#: src/ui/application-window.vala:287 ui/application-window.ui:353
#: ui/preferences.ui:224
msgid "APNG"
msgstr "APNG"

#: src/ui/application-window.vala:288 ui/application-window.ui:337
#: ui/preferences.ui:223
msgid "GIF"
msgstr "GIF"

#: src/ui/application-window.vala:289 ui/application-window.ui:370
#: ui/preferences.ui:225
msgid "WebM"
msgstr "WebM"

#: src/ui/application-window.vala:300
#, c-format
msgid "Record as %s"
msgstr "Registri kiel %s"

#: src/ui/application-window.vala:411
#, c-format
msgid "Start / Stop: %s"
msgstr "Komenci / Haltigi: %s"

#: src/ui/application-window.vala:563
msgid "Rendering…"
msgstr "Bildiganta…"

#: src/ui/application-window.vala:603
msgid "Recording could not be started due to an unexpected error."
msgstr "Registrado ne komenciĝis pro neatendita eraro."

#: src/ui/application-window.vala:723 src/ui/application-window.vala:728
msgid "Save animation"
msgstr "Konservi movbildon"

#: src/ui/application-window.vala:724 src/ui/application-window.vala:731
msgid "_Save"
msgstr "_Konservi"

#: src/ui/application-window.vala:725 src/ui/application-window.vala:729
msgid "_Cancel"
msgstr "_Nuligi"

#: src/ui/application-window.vala:796
msgid "The file could not be saved to the selected location."
msgstr "Dosiero ne konserveblas en la elektita loko."

#: src/ui/application-window.vala:823
#, c-format
msgid "Animation saved as “%s”"
msgstr "Movbildo konservita kiel «%s»"

#. Unity does not allow actions on notifications, so we disable
#. notification actions there.
#: src/ui/application-window.vala:833
msgid "Click here to show the saved file in your file manager."
msgstr ""
"Alklaku ĉi tien por montri la konservitan dosieron en dosiermastrumilo."

#: src/ui/application-window.vala:835
msgid "Show in file manager"
msgstr "Montri en dosiermastrumilo"

#. Display the configured shortcut to the user
#: src/ui/preferences-dialog.vala:195
msgid "deactivated"
msgstr "malaktiva"

#. Add a button to change the keyboard shortcut
#: src/ui/preferences-dialog.vala:206 src/ui/preferences-dialog.vala:222
msgid "Change"
msgstr "Ŝanĝi"

#: src/ui/preferences-dialog.vala:219
msgid "Press keys…"
msgstr "Premu la klavojn…"

#: ui/about.ui.in:37 data/com.uploadedlobster.peek.desktop.in:5
msgid "Animated GIF recorder"
msgstr "GIF-movbilda registrilo"

#. Please add your name to the list of translators if you want to be credited for the translations you have done.
#: ui/about.ui.in:40
msgctxt "Translator credits in about dialog"
msgid "translator-credits"
msgstr "Tirifto <tirifto@posteo.cz>"

#: ui/application-window.ui:33 ui/application-window.ui:185
msgid "Start recording"
msgstr "Komenci registradon"

#: ui/application-window.ui:54
msgid "New window"
msgstr "Nova fenestro"

#: ui/application-window.ui:68 ui/set-window-size-dialog.ui:23
msgid "Set window size"
msgstr "Agordi grandon de fenestro"

#: ui/application-window.ui:93
msgid "Preferences"
msgstr "Agordoj"

#: ui/application-window.ui:107
msgid "About Peek"
msgstr "Pri Peek"

#: ui/application-window.ui:149
msgid "_Stop"
msgstr "_Haltigi"

#: ui/application-window.ui:159
msgid "Stop recording"
msgstr "Haltigi registradon"

#: ui/application-window.ui:175
msgid "_Record"
msgstr "_Registri"

#: ui/error-dialog.ui:8
msgid "Recording error"
msgstr "Registra eraro"

#: ui/error-dialog.ui:25
msgid "Close"
msgstr "Fermi"

#: ui/error-dialog.ui:70
msgid ""
"Please read the <a href=\"https://github.com/phw/peek#frequently-asked-"
"questions\">FAQs</a> before reporting this issue. If the FAQs do not answer "
"your issue please report it and provide as much details as possible on what "
"you were doing when the issue occurred."
msgstr ""
"Bonvolu legi la <a href=\"https://github.com/phw/peek#frequently-asked-"
"questions\">respondaron</a> antaŭ informi pri ĉi tiu problemo. Se la "
"respondaro ne solvas vian problemon, raportu ĝin kaj donu laŭeble 
Download .txt
gitextract_7idw4r1t/

├── .github/
│   └── ISSUE_TEMPLATE/
│       └── bug_report.md
├── .gitignore
├── AUTHORS
├── BUILD_NOTES.md
├── CHANGES.md
├── LICENSE
├── README.md
├── build-aux/
│   ├── appimage/
│   │   ├── appimage.yml
│   │   └── launch-peek
│   ├── meson/
│   │   └── postinstall.py
│   └── snap/
│       └── snapcraft.yaml
├── data/
│   ├── com.uploadedlobster.peek.appdata.xml.in
│   ├── com.uploadedlobster.peek.desktop.in
│   ├── com.uploadedlobster.peek.gschema.xml
│   ├── com.uploadedlobster.peek.service.in
│   ├── icons/
│   │   └── meson.build
│   ├── man/
│   │   ├── build_man.sh
│   │   ├── meson.build
│   │   └── peek.1.txt
│   └── meson.build
├── meson.build
├── meson_options.txt
├── po/
│   ├── LINGUAS
│   ├── Makevars
│   ├── POTFILES.in
│   ├── ar.po
│   ├── bg.po
│   ├── bn.po
│   ├── ca.po
│   ├── cs.po
│   ├── de.po
│   ├── el.po
│   ├── eo.po
│   ├── es.po
│   ├── eu.po
│   ├── fa.po
│   ├── fi.po
│   ├── fr.po
│   ├── he.po
│   ├── hr.po
│   ├── hu.po
│   ├── id.po
│   ├── it.po
│   ├── ja.po
│   ├── kn.po
│   ├── ko.po
│   ├── lt.po
│   ├── meson.build
│   ├── ml.po
│   ├── mr.po
│   ├── nap.po
│   ├── nb.po
│   ├── nl.po
│   ├── peek.pot
│   ├── pl.po
│   ├── pt.po
│   ├── pt_BR.po
│   ├── pt_PT.po
│   ├── ru.po
│   ├── si.po
│   ├── sk.po
│   ├── sr.po
│   ├── sv.po
│   ├── ta.po
│   ├── th.po
│   ├── tr.po
│   ├── uk_UA.po
│   ├── zh_CN.po
│   └── zh_TW.po
├── rpm/
│   └── peek.spec
├── src/
│   ├── application.vala
│   ├── dbus/
│   │   ├── README.md
│   │   ├── freedesktop-dbus.vala
│   │   ├── freedesktop-filemanager.vala
│   │   ├── generate.sh
│   │   ├── gnome-shell-screencast.vala
│   │   ├── gnome-shell.vala
│   │   ├── org.freedesktop.DBus.xml
│   │   ├── org.freedesktop.FileManager1.xml
│   │   ├── org.gnome.Shell.Screencast.xml
│   │   └── org.gnome.Shell.xml
│   ├── defaults.vala
│   ├── desktop-integration.vala
│   ├── errordomain.vala
│   ├── gtk-helper.vala
│   ├── main.vala
│   ├── meson.build
│   ├── post-processing/
│   │   ├── cli-post-processor.vala
│   │   ├── extract-frames-post-processor.vala
│   │   ├── ffmpeg-post-processor.vala
│   │   ├── gifski-post-processor.vala
│   │   ├── post-processing-pipeline.vala
│   │   └── post-processor.vala
│   ├── recording/
│   │   ├── base-screen-recorder.vala
│   │   ├── cli-screen-recorder.vala
│   │   ├── ffmpeg-screen-recorder.vala
│   │   ├── ffmpeg.vala
│   │   ├── gnome-shell-dbus-recorder.vala
│   │   ├── recording-area.vala
│   │   ├── recording-config.vala
│   │   ├── screen-recorder-factory.vala
│   │   └── screen-recorder.vala
│   ├── ui/
│   │   ├── about-dialog.vala
│   │   ├── application-window.vala
│   │   ├── error-dialog.vala
│   │   ├── preferences-dialog.vala
│   │   ├── set-window-size-dialog.vala
│   │   └── shortcut-label.vala
│   ├── utils.vala
│   └── vapi/
│       ├── config.vapi
│       └── keybinder-3.0.vapi
├── tests/
│   ├── meson.build
│   ├── screen-recorder/
│   │   ├── test-cli-screen-recorder.vala
│   │   └── test-recording-area.vala
│   ├── test-desktop-integration.vala
│   └── test-utils.vala
├── tools/
│   └── print-description.py
└── ui/
    ├── about.ui.in
    ├── application-window.ui
    ├── css/
    │   ├── ambiance.css
    │   ├── breeze-dark.css
    │   ├── breeze.css
    │   ├── peek.css
    │   └── unity.css
    ├── error-dialog.ui
    ├── peek.gresource.xml
    ├── preferences.ui
    └── set-window-size-dialog.ui
Download .txt
SYMBOL INDEX (2 symbols across 1 files)

FILE: tools/print-description.py
  function format_description (line 53) | def format_description(text):
  function translate_appstream_template (line 59) | def translate_appstream_template(output_file):
Condensed preview — 128 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (995K chars).
[
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "chars": 625,
    "preview": "---\nname: Bug report\nabout: Create a report to help us improve\nlabels:\n\n---\n\n**System Information**\n\n* Distribution pack"
  },
  {
    "path": ".gitignore",
    "chars": 259,
    "preview": "*~\n/build/\n/builddir/\n/build_*/\n/.vscode/\n\nCMakeCache.txt\nCMakeFiles/*\ncmake_install.cmake\nMakefile\n\npeek\nsrc/*.c\ntests/"
  },
  {
    "path": "AUTHORS",
    "chars": 1209,
    "preview": "Development\n\n  Philipp Wolfer <ph.wolfer@gmail.com>\n  Alessandro Toia <gort818@gmail.com>\n\nIcon design\n\n  Tobias Bernard"
  },
  {
    "path": "BUILD_NOTES.md",
    "chars": 1686,
    "preview": "# Peek build and packaging notes\nThis file contains information about building and packaging Peek. The\ninformation here "
  },
  {
    "path": "CHANGES.md",
    "chars": 13849,
    "preview": "# Version 1.6.0 - unreleased\n- feat: Add support for GNOME 40+ (#910)\n- feat: Add sound capture settings\n- feat: Removed"
  },
  {
    "path": "LICENSE",
    "chars": 35149,
    "preview": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
  },
  {
    "path": "README.md",
    "chars": 19129,
    "preview": "# Peek - an animated GIF recorder\n[![GitHub release](https://img.shields.io/github/release/phw/peek.svg)](https://github"
  },
  {
    "path": "build-aux/appimage/appimage.yml",
    "chars": 2684,
    "preview": "app: peek\n\nbuild:\n  packages:\n    - cmake\n    - vala-devel\n    - pkgconfig(gtk+-3.0)\n    - pkgconfig(keybinder-3.0)\n    "
  },
  {
    "path": "build-aux/appimage/launch-peek",
    "chars": 529,
    "preview": "#!/bin/sh\nSCRIPT=$(readlink -f \"$0\")\nBIN_DIR=$(dirname \"$SCRIPT\")\nBASE_DIR=$(readlink -f \"$BIN_DIR/../..\")\n\nif [ -z \"$XD"
  },
  {
    "path": "build-aux/meson/postinstall.py",
    "chars": 652,
    "preview": "#!/usr/bin/env python3\n\nfrom os import environ, path\nfrom subprocess import call\n\nprefix = environ.get('MESON_INSTALL_PR"
  },
  {
    "path": "build-aux/snap/snapcraft.yaml",
    "chars": 3341,
    "preview": "name: peek\nversion: git\nadopt-info: peek\ngrade: stable\nconfinement: strict\nbase: core18\n\napps:\n  peek:\n    command: usr/"
  },
  {
    "path": "data/com.uploadedlobster.peek.appdata.xml.in",
    "chars": 4464,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Copyright 2017 Philipp Wolfer <ph.wolfer@gmail.com> -->\n<component type=\"des"
  },
  {
    "path": "data/com.uploadedlobster.peek.desktop.in",
    "chars": 364,
    "preview": "[Desktop Entry]\nName=Peek\nExec=peek\nGenericName=Animated GIF recorder\nComment=Record short animated GIF images from your"
  },
  {
    "path": "data/com.uploadedlobster.peek.gschema.xml",
    "chars": 3206,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<schemalist>\n  <schema path=\"/com/uploadedlobster/peek/\" id=\"com.uploadedlobster."
  },
  {
    "path": "data/com.uploadedlobster.peek.service.in",
    "chars": 107,
    "preview": "[D-BUS Service]\nName=com.uploadedlobster.peek\nExec=@CMAKE_INSTALL_FULL_BINDIR@/peek --gapplication-service\n"
  },
  {
    "path": "data/icons/meson.build",
    "chars": 303,
    "preview": "system_icons_dir = join_paths(get_option('datadir'), 'icons', 'hicolor')\n\ninstall_data('com.uploadedlobster.peek.svg',\n "
  },
  {
    "path": "data/man/build_man.sh",
    "chars": 157,
    "preview": "#!/usr/bin/env sh\n\nPROJECT=$1\nVERSION=$2\nINPUT=$3\nOUTPUT=$4\n\ntxt2man -t \"$PROJECT\" -r \"$VERSION\" \\\n  -s 1 -v \"User comma"
  },
  {
    "path": "data/man/meson.build",
    "chars": 845,
    "preview": "txt2man = find_program('txt2man', required: false)\ngzip = find_program('gzip', required: false)\n\nif not txt2man.found()\n"
  },
  {
    "path": "data/man/peek.1.txt",
    "chars": 1697,
    "preview": "NAME\n  peek - Simple screen recorder with an easy to use interface\n\nSYNOPSIS\n  peek [OPTION...]\n\nDESCRIPTION\n  Peek make"
  },
  {
    "path": "data/meson.build",
    "chars": 1688,
    "preview": "desktop_file = i18n.merge_file(\n  input: 'com.uploadedlobster.peek.desktop.in',\n  output: 'com.uploadedlobster.peek.desk"
  },
  {
    "path": "meson.build",
    "chars": 321,
    "preview": "project('peek', ['c', 'vala'],\n  version: '1.5.1',\n  meson_version: '>= 0.47.0',\n)\n\nadd_project_arguments([\n    '-DVERSI"
  },
  {
    "path": "meson_options.txt",
    "chars": 338,
    "preview": "option('build-tests',              type : 'boolean', value : true)\noption('enable-keybinder',         type : 'feature', "
  },
  {
    "path": "po/LINGUAS",
    "chars": 136,
    "preview": "ar bg bn ca cs de el eo es eu fa fi fr he hr hu id it ja kn ko lt ml mr nap nb nl pl pt pt_BR pt_PT ru si sk sr sv tr uk"
  },
  {
    "path": "po/Makevars",
    "chars": 2288,
    "preview": "# Makefile variables for PO directory in any package using GNU gettext.\n\n# Usually the message domain is the same as the"
  },
  {
    "path": "po/POTFILES.in",
    "chars": 385,
    "preview": "src/application.vala\nsrc/recording/screen-recorder-factory.vala\nsrc/ui/about-dialog.vala\nsrc/ui/application-window.vala\n"
  },
  {
    "path": "po/ar.po",
    "chars": 15093,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/bg.po",
    "chars": 10889,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/bn.po",
    "chars": 11294,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/ca.po",
    "chars": 12118,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/cs.po",
    "chars": 15760,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/de.po",
    "chars": 16727,
    "preview": "# German translation of Peek.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed und"
  },
  {
    "path": "po/el.po",
    "chars": 11055,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/eo.po",
    "chars": 15672,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/es.po",
    "chars": 16931,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/eu.po",
    "chars": 15968,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/fa.po",
    "chars": 10889,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/fi.po",
    "chars": 15688,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/fr.po",
    "chars": 17128,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/he.po",
    "chars": 14579,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/hr.po",
    "chars": 15939,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/hu.po",
    "chars": 15507,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/id.po",
    "chars": 15615,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/it.po",
    "chars": 16791,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) 2017 Emanuele Antonio Faraone <emanueleant03@gmail.com>\n# This file is distrib"
  },
  {
    "path": "po/ja.po",
    "chars": 13751,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/kn.po",
    "chars": 10897,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/ko.po",
    "chars": 11303,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/lt.po",
    "chars": 16534,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/meson.build",
    "chars": 429,
    "preview": "i18n.gettext(meson.project_name(), preset: 'glib')\n\nadd_project_arguments([\n    '-DGETTEXT_PACKAGE=\"' + meson.project_na"
  },
  {
    "path": "po/ml.po",
    "chars": 16046,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/mr.po",
    "chars": 10889,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/nap.po",
    "chars": 11382,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/nb.po",
    "chars": 15917,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/nl.po",
    "chars": 16204,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/peek.pot",
    "chars": 10914,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/pl.po",
    "chars": 16682,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/pt.po",
    "chars": 15581,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/pt_BR.po",
    "chars": 16584,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/pt_PT.po",
    "chars": 16122,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/ru.po",
    "chars": 16166,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/si.po",
    "chars": 11057,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/sk.po",
    "chars": 15479,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/sr.po",
    "chars": 16048,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/sv.po",
    "chars": 15895,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/ta.po",
    "chars": 15583,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/th.po",
    "chars": 12978,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/tr.po",
    "chars": 15256,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n# This file is distributed under the same "
  },
  {
    "path": "po/uk_UA.po",
    "chars": 16420,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/zh_CN.po",
    "chars": 13533,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "po/zh_TW.po",
    "chars": 13239,
    "preview": "# SOME DESCRIPTIVE TITLE.\n# Copyright (C) YEAR Philipp\\ Wolfer\\ <ph.wolfer@gmail.com>\n# This file is distributed under t"
  },
  {
    "path": "rpm/peek.spec",
    "chars": 9473,
    "preview": "Name:           peek\nVersion:        1.5.1\nRelease:        1%{?dist}\nSummary:        Simple screen recorder with an easy"
  },
  {
    "path": "src/application.vala",
    "chars": 10954,
    "preview": "/*\nPeek Copyright (c) 2015-2020 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/dbus/README.md",
    "chars": 803,
    "preview": "# Generated DBus interfaces\n\nThis requires https://github.com/freesmartphone/vala-dbus-binding-tool\n\n## org.Freedesktop."
  },
  {
    "path": "src/dbus/freedesktop-dbus.vala",
    "chars": 3198,
    "preview": "/* Generated by vala-dbus-binding-tool 1.0-aa2fb. Do not modify! */\n/* Generated with: vala-dbus-binding-tool --api-path"
  },
  {
    "path": "src/dbus/freedesktop-filemanager.vala",
    "chars": 805,
    "preview": "/* Generated by vala-dbus-binding-tool 1.0-aa2fb. Do not modify! */\n/* Generated with: vala-dbus-binding-tool --api-path"
  },
  {
    "path": "src/dbus/generate.sh",
    "chars": 857,
    "preview": "#!/bin/sh\n\nWORKDIR=$(dirname \"$0\")\ncd \"${WORKDIR}\"\n\nvala-dbus-binding-tool --api-path=./org.gnome.Shell.Screencast.xml -"
  },
  {
    "path": "src/dbus/gnome-shell-screencast.vala",
    "chars": 1010,
    "preview": "/* Generated by vala-dbus-binding-tool 1.0-aa2fb. Do not modify! */\n/* Generated with: vala-dbus-binding-tool --api-path"
  },
  {
    "path": "src/dbus/gnome-shell.vala",
    "chars": 4167,
    "preview": "/* Generated by vala-dbus-binding-tool 1.0-aa2fb. Do not modify! */\n/* Generated with: vala-dbus-binding-tool --api-path"
  },
  {
    "path": "src/dbus/org.freedesktop.DBus.xml",
    "chars": 2938,
    "preview": "   <!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n\"http://www.freedesktop.org/standards/"
  },
  {
    "path": "src/dbus/org.freedesktop.FileManager1.xml",
    "chars": 678,
    "preview": "<!DOCTYPE node PUBLIC\n'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'\n'http://www.freedesktop.org/standards/dbu"
  },
  {
    "path": "src/dbus/org.gnome.Shell.Screencast.xml",
    "chars": 4387,
    "preview": "<!DOCTYPE node PUBLIC\n'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'\n'http://www.freedesktop.org/standards/dbu"
  },
  {
    "path": "src/dbus/org.gnome.Shell.xml",
    "chars": 5852,
    "preview": "   <!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n                      \"http://www.free"
  },
  {
    "path": "src/defaults.vala",
    "chars": 809,
    "preview": "/*\nPeek Copyright (c) 2017-2018 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/desktop-integration.vala",
    "chars": 6814,
    "preview": "/*\nPeek Copyright (c) 2015-2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/errordomain.vala",
    "chars": 502,
    "preview": "/*\nPeek Copyright (c) 2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is license"
  },
  {
    "path": "src/gtk-helper.vala",
    "chars": 1509,
    "preview": "/*\nPeek Copyright (c) 2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is license"
  },
  {
    "path": "src/main.vala",
    "chars": 955,
    "preview": "/*\nPeek Copyright (c) 2015 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is license"
  },
  {
    "path": "src/meson.build",
    "chars": 3279,
    "preview": "peek_sources = [\n  'main.vala',\n  'application.vala',\n  'desktop-integration.vala',\n  'defaults.vala',\n  'errordomain.va"
  },
  {
    "path": "src/post-processing/cli-post-processor.vala",
    "chars": 1495,
    "preview": "/*\nPeek Copyright (c) 2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is license"
  },
  {
    "path": "src/post-processing/extract-frames-post-processor.vala",
    "chars": 2348,
    "preview": "/*\nPeek Copyright (c) 2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is license"
  },
  {
    "path": "src/post-processing/ffmpeg-post-processor.vala",
    "chars": 3240,
    "preview": "/*\nPeek Copyright (c) 2017-2018 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/post-processing/gifski-post-processor.vala",
    "chars": 1951,
    "preview": "/*\nPeek Copyright (c) 2017-2018 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/post-processing/post-processing-pipeline.vala",
    "chars": 1954,
    "preview": "/*\nPeek Copyright (c) 2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is license"
  },
  {
    "path": "src/post-processing/post-processor.vala",
    "chars": 450,
    "preview": "/*\nPeek Copyright (c) 2016-2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/recording/base-screen-recorder.vala",
    "chars": 4317,
    "preview": "/*\nPeek Copyright (c) 2017-2018 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/recording/cli-screen-recorder.vala",
    "chars": 2794,
    "preview": "/*\nPeek Copyright (c) 2015-2018 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/recording/ffmpeg-screen-recorder.vala",
    "chars": 2794,
    "preview": "/*\nPeek Copyright (c) 2015-2018 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/recording/ffmpeg.vala",
    "chars": 1176,
    "preview": "/*\nPeek Copyright (c) 2015-2018 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/recording/gnome-shell-dbus-recorder.vala",
    "chars": 7796,
    "preview": "/*\nThis file is part of Peek.\n\nCopyright (c) 2017-2018, 2021 by Philipp Wolfer <ph.wolfer@gmail.com>\nCopyright (c) 2021 "
  },
  {
    "path": "src/recording/recording-area.vala",
    "chars": 2716,
    "preview": "/*\nPeek Copyright (c) 2016-2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/recording/recording-config.vala",
    "chars": 786,
    "preview": "/*\nPeek Copyright (c) 2017-2018 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/recording/screen-recorder-factory.vala",
    "chars": 1649,
    "preview": "/*\nPeek Copyright (c) 2017-2020 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/recording/screen-recorder.vala",
    "chars": 872,
    "preview": "/*\nPeek Copyright (c) 2016-2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/ui/about-dialog.vala",
    "chars": 1125,
    "preview": "/*\nPeek Copyright (c) 2015-2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/ui/application-window.vala",
    "chars": 29183,
    "preview": "/*\nPeek Copyright (c) 2015-2020 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/ui/error-dialog.vala",
    "chars": 1741,
    "preview": "/*\nPeek Copyright (c) 2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is license"
  },
  {
    "path": "src/ui/preferences-dialog.vala",
    "chars": 7702,
    "preview": "/*\nPeek Copyright (c) 2015-2018 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/ui/set-window-size-dialog.vala",
    "chars": 1956,
    "preview": "/*\nPeek Copyright (c) 2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is license"
  },
  {
    "path": "src/ui/shortcut-label.vala",
    "chars": 1407,
    "preview": "/*\nPeek Copyright (c) 2017 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is license"
  },
  {
    "path": "src/utils.vala",
    "chars": 4154,
    "preview": "/*\nPeek Copyright (c) 2015-2018 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is li"
  },
  {
    "path": "src/vapi/config.vapi",
    "chars": 333,
    "preview": "/*\nPeek Copyright (c) 2016 by Philipp Wolfer <ph.wolfer@gmail.com>\n\nThis file is part of Peek.\n\nThis software is license"
  },
  {
    "path": "src/vapi/keybinder-3.0.vapi",
    "chars": 959,
    "preview": "/* keybinder-3.0.vapi generated by vapigen, do not modify. */\n\n[CCode (cprefix = \"Keybinder\", gir_namespace = \"Keybinder"
  },
  {
    "path": "tests/meson.build",
    "chars": 2096,
    "preview": "if get_option('build-tests')\n  # /desktop-integration/\n  test_desktop_integration = executable('test-desktop-integration"
  },
  {
    "path": "tests/screen-recorder/test-cli-screen-recorder.vala",
    "chars": 1101,
    "preview": "using Peek;\nusing Peek.Recording;\n\nclass TestCliScreenRecorder : CliScreenRecorder {\n  public bool stop_command_called {"
  },
  {
    "path": "tests/screen-recorder/test-recording-area.vala",
    "chars": 1015,
    "preview": "using Peek.Recording;\n\nvoid test_equals () {\n  var area = RecordingArea () {\n    left = 100,\n    top = 200,\n    width = "
  },
  {
    "path": "tests/test-desktop-integration.vala",
    "chars": 494,
    "preview": "using Peek;\n\nvoid test_get_video_folder () {\n  var folder = DesktopIntegration.get_video_folder ();\n  assert_nonnull (fo"
  },
  {
    "path": "tests/test-utils.vala",
    "chars": 568,
    "preview": "using Peek;\n\nvoid test_make_even () {\n  assert(Utils.make_even (3) == 2);\n  assert(Utils.make_even (4) == 4);\n  assert(U"
  },
  {
    "path": "tools/print-description.py",
    "chars": 3133,
    "preview": "#!/bin/env python3\n\n# Copyright (c) 2017 Philipp Wolfer <ph.wolfer@gmail.com>\n#\n# Permission is hereby granted, free of "
  },
  {
    "path": "ui/about.ui.in",
    "chars": 3196,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Generated with glade 3.20.0\n\nCopyright (C) Philipp Wolfer <ph.wolfer@gmail.c"
  },
  {
    "path": "ui/application-window.ui",
    "chars": 17094,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Generated with glade 3.22.1\n\nCopyright (C) Philipp Wolfer <ph.wolfer@gmail.c"
  },
  {
    "path": "ui/css/ambiance.css",
    "chars": 162,
    "preview": ".peek-recording-view-overlay {\n  opacity: 0.8;\n  background-color: rgb(40, 44, 52);\n  color: white;\n}\n\n.peek-format-butt"
  },
  {
    "path": "ui/css/breeze-dark.css",
    "chars": 330,
    "preview": "/* Add additional margin to allow easier resizing, see https://github.com/phw/peek/issues/199 */\n\n.peek-main-window.soli"
  },
  {
    "path": "ui/css/breeze.css",
    "chars": 331,
    "preview": "/* Add additional margin to allow easier resizing, see https://github.com/phw/peek/issues/199 */\n\n.peek-main-window.soli"
  },
  {
    "path": "ui/css/peek.css",
    "chars": 184,
    "preview": ".peek-recording-view-overlay {\n  opacity: 0.8;\n  background-color: rgb(40, 44, 52);\n  color: white;\n  transition: none;\n"
  },
  {
    "path": "ui/css/unity.css",
    "chars": 83,
    "preview": "/* Workaround for gray bars in recording area */\n.titlebar {\n  border-radius: 0;\n}\n"
  },
  {
    "path": "ui/error-dialog.ui",
    "chars": 6083,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Generated with glade 3.40.0 -->\n<interface>\n  <requires lib=\"gtk+\" version=\""
  },
  {
    "path": "ui/peek.gresource.xml",
    "chars": 660,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<gresources>\n  <gresource prefix=\"/com/uploadedlobster/peek\">\n    <!-- UI files -"
  },
  {
    "path": "ui/preferences.ui",
    "chars": 23715,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Generated with glade 3.20.2\n\nCopyright (C) Philipp Wolfer <ph.wolfer@gmail.c"
  },
  {
    "path": "ui/set-window-size-dialog.ui",
    "chars": 6460,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Generated with glade 3.22.1 -->\n<interface>\n  <requires lib=\"gtk+\" version=\""
  }
]

About this extraction

This page contains the full source code of the phw/peek GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 128 files (908.7 KB), approximately 253.0k tokens, and a symbol index with 2 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!