HN 표시: Miro-pdf v0.8.0 – 전체 화면, 프레젠테이션 모드 및 친숙한 키 바인딩
hackernews
|
|
📦 오픈소스
#pdf
#vim
#데스크톱 앱
#오픈소스
#크로스플랫폼
원문 출처: hackernews · Genesis Park에서 요약 및 분석
요약
윈도우, 맥OS, 리눅스를 지원하는 PDF 뷰어인 '미로 PDF(Miro-pdf)'의 새로운 버전이 공개되었습니다. 이 프로그램은 기본적으로 빔(Vim) 키바인딩을 제공하며, 사용자가 ~/.config/miro-pdf/miro.conf 파일을 통해 단축키와 UI 설정을 자유롭게 수정할 수 있는 것이 특징입니다. 다크 모드, 탭 지원, PDF 자동 새로고침, 프레젠테이션 모드 등 다양한 기능을 제공하지만, 윈도우 환경에서는 빌드 과정에서 MSVC 관련 문제가 자주 발생해 사전 컴파일된 바이너리 파일 다운로드를 권장합니다.
본문
A native pdf viewer for Windows, macOS and Linux (Wayland/X11) with configurable keybindings. - Dark mode (both for the interface and the pdf) - Vim-like keybindings (by default) - Configuration file for key bindings (in case you don't like Vim bindings) - Mouse controls - Multiple pdfs in tabs - Cli arg for opening pdfs from the terminal - Automatic hot-reloading of any viewed pdf (especially useful when writing anything that compiles into pdfs like Latex/Typst/etc.) - Text copying in documents - Internal links (such as a table of contents) - External links (email, websites, etc. copies on click) - Bookmarks - Jumplist - Optional RPC server to control the viewer from another program - Print via the default web browser - Open links using keyboard controls - Fullscreen - A presentation mode that hides all UI The configuration file is located at ~/.config/miro-pdf/miro.conf (or .config/miro-pdf/miro.conf in the home directory of your operating system). An example configuration file is located at /assets/default.conf which contains all the default bindings for the program. Every binding that is possible is bound at least once in the default configuration file. The configuration file uses a simple text format with three types of commands and comments: Bind Key sequences can be: - Single keys: j ,k ,h ,l - Modified keys: Ctrl+r ,Shift+Tab - Key chords (multiple keys): "Z Z" (quotes required for sequences with spaces) All available actions are bound in the example config file. If you need a more exact view of the syntax it is documented in the keybinds-rs crate. MouseBind Mouse inputs can be: - Basic buttons: MouseLeft ,MouseRight ,MouseMiddle ,MouseBack ,MouseForward - With modifiers: Ctrl+MouseLeft ,Shift+MouseRight All available actions are bound in the example config file. Set Available settings: Rpc - Enable/disable RPC serverRpcPort - Set RPC server portTrackpadSensitivity - Set a multiplier on panning with a trackpad Set Default settings apply only at application startup. They can later be toggled with key bindings. Available default settings: DarkModePdf - Enable/disable dark mode rendering of the PDFDarkModeUi - Enable/disable dark mode for the UIOpenSidebar - Open sidebarPageBorders - Enable/disable page borders # This is a comment # Comments start with # and are ignored during parsing # Empty lines are also ignored The configuration parser provides detailed error messages with line numbers when parsing fails. Errors on one line don't prevent parsing of other lines Example error output: Configuration parsing errors: Line 3: Unknown command: InvalidCommand Line 5: Unknown action: InvalidAction Line 7: Invalid port number: 'not_a_number'. Must be a valid integer Head over to releases and download the latest binary for your platform, then place it somewhere in your path. nix.settings = { substituters = [ "https://miro-pdf.cachix.org" # Others... ]; trusted-public-keys = [ "miro-pdf.cachix.org-1:4XzXt3PjR8lGUo00nhzAGQLdRa73iPQNTRD5tfIZf4k=" # Others... ]; }; This is pretty much the same as the following option, but doesn't require cloning the repo. See building from source for possible complications when compiling for Windows. I've had no problems compiling on Linux thus far. cargo install miro-pdf On linux, the commands below would clone the repository, compile the project and copy the resulting binary to /usr/bin/ . git clone https://github.com/vincent-uden/miro.git cd miro cargo r --release cp ./target/release/miro-pdf /usr/bin/miro-pdf On Windows, the same rough process should work, but often doesn't. I highly recommend downloading a precompiled binary for Windows. The problem lies in compiling the crate mupdf-sys which requires MSVC. The Visual Studio project embedded in this crate requires Visual Studio 2019 which isn't available for downloading anymore, but can optionally be compiled using Visual Studio 2022. Even with this option, the build might just not work sometimes due to issues with the Windows 10/11 SDK kits which I have not managed to solve. However, I've managed to get compilation working in github actions which is what produces the release binaries which do function correctly on Windows systems. Mupdf-rs requries headers for fontconfig. The packages are: libfontconfig1-dev on Ubuntu/Debianfontconfig-devel on Fedorafontconfig on Arch and derivatives Building on linux also requires some hidden dependencies that you probably already have. clang unzip While I don't test the software for macOS since I don't own a mac. It should work although only supporting building from source or crates.io. No binary releases are made.
Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.
공유