{"id":13406903,"url":"https://github.com/pdfpc/pdfpc","last_synced_at":"2025-10-08T15:10:29.782Z","repository":{"id":27367188,"uuid":"30842668","full_name":"pdfpc/pdfpc","owner":"pdfpc","description":"A presenter console with multi-monitor support for PDF files.","archived":false,"fork":false,"pushed_at":"2025-05-21T07:44:24.000Z","size":10055,"stargazers_count":1651,"open_issues_count":26,"forks_count":118,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-05-21T18:05:35.036Z","etag":null,"topics":["multi-monitor","pdf-viewer","presentation","vala"],"latest_commit_sha":null,"homepage":"https://pdfpc.github.io/","language":"Vala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pdfpc.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT.rst","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-02-15T21:20:57.000Z","updated_at":"2025-05-21T07:44:24.000Z","dependencies_parsed_at":"2024-06-19T00:16:23.767Z","dependency_job_id":"aa534c0d-8de1-41a5-8a6b-4e2c14fde402","html_url":"https://github.com/pdfpc/pdfpc","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/pdfpc/pdfpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdfpc%2Fpdfpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdfpc%2Fpdfpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdfpc%2Fpdfpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdfpc%2Fpdfpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pdfpc","download_url":"https://codeload.github.com/pdfpc/pdfpc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdfpc%2Fpdfpc/sbom","scorecard":{"id":725516,"data":{"date":"2025-08-11","repo":{"name":"github.com/pdfpc/pdfpc","commit":"95284c4fa8d31fa532aa3f4d4fe378b060dae3e7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.5,"checks":[{"name":"Maintained","score":5,"reason":"2 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":6,"reason":"Found 12/20 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish-release.yml:31","Warn: no topLevel permission defined: .github/workflows/cmake-ubuntu.yml:1","Warn: no topLevel permission defined: .github/workflows/cmake-windows.yml:1","Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cmake-ubuntu.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/cmake-ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cmake-windows.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/cmake-windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cmake-windows.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/cmake-windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cmake-windows.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/cmake-windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:93: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/pdfpc/pdfpc/publish-release.yml/master?enable=pin","Info:   0 out of  10 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":2,"reason":"badge detected: InProgress","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v4.7.0 not signed: https://api.github.com/repos/pdfpc/pdfpc/releases/191241481","Warn: release artifact v4.6.0 not signed: https://api.github.com/repos/pdfpc/pdfpc/releases/86953826","Warn: release artifact v4.5.0 not signed: https://api.github.com/repos/pdfpc/pdfpc/releases/35540323","Warn: release artifact v4.4.1 not signed: https://api.github.com/repos/pdfpc/pdfpc/releases/33976701","Warn: release artifact v4.4.0 not signed: https://api.github.com/repos/pdfpc/pdfpc/releases/24010827","Warn: release artifact v4.7.0 does not have provenance: https://api.github.com/repos/pdfpc/pdfpc/releases/191241481","Warn: release artifact v4.6.0 does not have provenance: https://api.github.com/repos/pdfpc/pdfpc/releases/86953826","Warn: release artifact v4.5.0 does not have provenance: https://api.github.com/repos/pdfpc/pdfpc/releases/35540323","Warn: release artifact v4.4.1 does not have provenance: https://api.github.com/repos/pdfpc/pdfpc/releases/33976701","Warn: release artifact v4.4.0 does not have provenance: https://api.github.com/repos/pdfpc/pdfpc/releases/24010827"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T12:40:45.393Z","repository_id":27367188,"created_at":"2025-08-22T12:40:45.393Z","updated_at":"2025-08-22T12:40:45.393Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278964418,"owners_count":26076672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["multi-monitor","pdf-viewer","presentation","vala"],"created_at":"2024-07-30T19:02:42.614Z","updated_at":"2025-10-08T15:10:29.775Z","avatar_url":"https://github.com/pdfpc.png","language":"Vala","funding_links":[],"categories":["Vala","Apps"],"sub_categories":["Productivity"],"readme":"=====\npdfpc\n=====\n\n|ubuntubuild| |windowsbuild|\n\n.. |ubuntubuild| image:: https://github.com/pdfpc/pdfpc/actions/workflows/cmake-ubuntu.yml/badge.svg?branch=master \n.. |windowsbuild| image:: https://github.com/pdfpc/pdfpc/actions/workflows/cmake-windows.yml/badge.svg?branch=master\n\nAbout\n=====\n\npdfpc is a GTK-based presentation application which uses Keynote-like\nmulti-monitor output to provide meta information to the speaker during the\npresentation. It is able to show a normal presentation window on one screen,\nwhile showing a more sophisticated overview on the other one, providing\ninformation like an image of the next slide, time remaining till the end of\nthe presentation, etc. The input files processed by pdfpc are PDF documents,\nwhich can be created by most of the present-day presentation software.\n\nMore information, including screenshots and demo presentations, can be found\nat https://pdfpc.github.io/\n\nInstallation\n============\n\n- On Debian, Ubuntu, and other Debian-based systems::\n\n    sudo apt-get install pdf-presenter-console\n\n- On Fedora::\n\n    sudo dnf install pdfpc\n\n- On Arch Linux::\n\n    sudo pacman -S pdfpc\n\n- On Gentoo::\n\n    sudo emerge --ask pdfpc\n\n- On FreeBSD::\n\n    sudo pkg install pdfpc\n    # It is also available under graphics/pdfpc in the ports tree.\n\n- On macOS with Homebrew::\n\n    # Full macOS integration, including video support\n    brew install pdfpc\n\n- On macOS with MacPorts::\n\n    # Nice macOS integration, including video support\n    sudo port -v install pdfpc +quartz +video\n\n    # Less well integrated due to using X11 server, video supported\n    sudo port -v install pdfpc +x11 +video\n\n- On Windows 10 (with *Windows Subsystem for Linux (WSL)*)::\n\n    Install:\n    1. Windows: Activate WSL: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide\n    2. Windows: Open CMD and run: 'bash' in order to start the WSL-bash\n    3. WSL-Bash: run: 'sudo apt-get install pdf-presenter-console'\n\n    Run:\n    1. Windows: Install a Windows X-Server like VcXsrv: https://sourceforge.net/projects/vcxsrv\n    2. Windows: Make the presentation screen your secondary screen and disable the taskbar on that screen\n    3. Windows: Start the X-Server with: 'vcxsrv -nodecoration -screen 0 @1 -screen 1 @2 +xinerama'\n    4. Windows: Open CMD and run: 'bash' in order to start the WSL-bash\n    5. WSL-Bash: run: 'DISPLAY=:0 pdfpc \u003cyour PDF file\u003e' to open your presentation with pdfpc\n\nSample presentations\n====================\n\n- `Simple demo \u003chttps://github.com/pdfpc/pdfpc/releases/latest/download/pdfpc-demo.pdf\u003e`_\n- `Embedded movies \u003chttps://github.com/pdfpc/pdfpc/releases/latest/download/pdfpc-video-example.zip\u003e`_\n\nUsage\n=====\n\nTry it out::\n\n    pdfpc pdfpc-demo.pdf\n\n\nIf you encounter problems while running pdfpc, please consult the `FAQ\n\u003cFAQ.rst\u003e`_ first.\n\nCompilation from sources\n========================\n\nRequirements\n------------\n\nIn order to compile and run pdfpc, the following requirements need to be met:\n\n- cmake \u003e= 3.7\n- vala  \u003e= 0.48\n- gtk+  \u003e= 3.22\n- gee   \u003e= 0.8\n- poppler \u003e= 0.8 with glib bindings\n- pangocairo\n- gstreamer \u003e= 1.0 with gst-plugins-good\n- discount (aka markdown2 or 3)\n- webkit2gtk\n- json-glib\n- libsoup3\n- libqrencode\n\nE.g., on Ubuntu 22.04 onward, you can install these dependencies with::\n\n    sudo apt-get install cmake valac libgee-0.8-dev libpoppler-glib-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libjson-glib-dev libmarkdown2-dev libwebkit2gtk-4.1-dev libsoup-3.0-dev libqrencode-dev gstreamer1.0-gtk3\n\n(the last one is a run-time dependence). You should also consider installing all\nplugins to support required video formats; chances are they are already present\nthrough dependencies of ``ubuntu-desktop``.\n\nOn macOS with Homebrew, the easiest way is to install all dependencies of the\npdfpc package without pdfpc itself::\n\n    brew install --only-dependencies pdfpc\n\nOn macOS with MacPorts, you can install all dependencies using the `port` command::\n\n    # list dependencies for the +quartz +video variant\n    # (good macOS integration)\n    port deps pdfpc +quartz +video\n    # install dependencies\n    sudo port -v install cmake vala pkgconfig gtk3 +quartz poppler libgee librsvg gstreamer1-gst-plugins-good +gtk3\n\n    # list dependencies for the +x11 +video variant\n    # (using X11 server)\n    port deps pdfpc +x11 +video\n    # install dependencies\n    sudo port -v install cmake vala pkgconfig gtk3 +x11 poppler libgee librsvg gstreamer1-gst-plugins-good +gtk3 +x11\n\nOn Windows with MSYS2/MinGW-w64, the dependencies are installed with::\n\n    pacman -S mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja mingw-w64-x86_64-gcc mingw-w64-x86_64-pkg-config mingw-w64-x86_64-vala mingw-w64-x86_64-libgee mingw-w64-x86_64-poppler mingw-w64-x86_64-gtk3 mingw-w64-x86_64-gstreamer mingw-w64-x86_64-gst-plugins-base mingw-w64-x86_64-json-glib mingw-w64-x86_64-libsoup mingw-w64-x86_64-qrencode mingw-w64-x86_64-discount mingw-w64-x86_64-imagemagick mingw-w64-x86_64-gst-plugins-good mingw-w64-x86_64-gst-plugin-gtk\n\n(change `x86_64` to `i686` if you want to compile the 32-bit variant).\n\nDownloading and compilation\n---------------------------\n\nYou can download the latest stable release of pdfpc in the release section of\ngithub (https://github.com/pdfpc/pdfpc/releases). Uncompress the tarball (we\nuse v4.6.0 as an example here)::\n\n    tar xvf pdfpc-4.6.0.tar.gz\n\nChange to the extracted directory::\n\n    cd pdfpc-4.6.0\n\nCompile and install::\n\n    mkdir build/\n    cd build/\n    cmake ..\n    make\n    sudo make install\n\nIf there are no errors in the process, you just installed pdfpc on your system.\nCongratulations! If there were errors, they are probably due to missing\ndependencies. Please check that you have all the necessary libraries (in some\ndistributions you may have to install *-devel* packages).\n\nNote: You may alter the final installation prefix in the cmake call. By default,\nthe pdfpc files will be installed under */usr/local/*. If you want to change\nthat, for example to be installed under */usr/*, you can specify another\ninstallation prefix as follows::\n\n    cmake -DCMAKE_INSTALL_PREFIX=\"/usr\" ..\n\nBy default, pdfpc includes support for movie playback.  This requires several\ngstreamer dependencies.  The requirement for these packages\ncan be removed by compiling without support for movie playback by passing\n*-DMOVIES=OFF* to the cmake command.\n\nTo disable support for the built-in REST Web server, pass *-DREST=OFF* to cmake.\nIn this case, libsoup and libqrencode are not needed.\n\nTo disable support for viewing notes in the Markdown format, pass *-DMDVIEW=OFF*\nto cmake. In this case, webkit2gtk is not needed. If webkit2gtk is not available\nfor your OS (i.e., macOS or Windows), you *must* pass this option for the build to succeed.\n\nOn Windows, the compilation has been tested with the Ninja backend, so pass *-DCMAKE_MAKE_PROGRAM=ninja* to the cmake command and use *ninja* instead of *make*.\n\n\nCompilation troubleshooting\n---------------------------\n\nSome distributions do not have a *valac* executable. Instead they ship with a\nversion suffix like *valac-0.40*. If cmake cannot find the Vala compiler, you\ncan try running cmake with::\n\n    cmake -DVALA_EXECUTABLE:NAMES=valac-0.40 ..\n\nAcknowledgements\n================\n\npdfpc was initially developed as pdfpc-presenter-console by Jakob Westhoff\n(https://github.com/jakobwesthoff/Pdf-Presenter-Console)\nthen further extended by David Vilar (https://github.com/davvil/pdfpc).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdfpc%2Fpdfpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpdfpc%2Fpdfpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdfpc%2Fpdfpc/lists"}