Skip to content
/ phrosty Public

A Global Picture-in-Picture (PIP) tool for Linux

License

Notifications You must be signed in to change notification settings

crux14/phrosty

Repository files navigation

title_top_no_actionbar

Phrosty

A Global Picture-in-Picture (PIP) tool for Linux



Phrosty is a global Picture-in-Picture (PIP) tool for Linux.

Unlike other tools, Phrosty does not depend on a specific desktop environment and can be used in any environment.

Requirement

  • OpenGL 4.2 or later
  • Qt5
  • libnotify

In most systems, these requirements should already be satisfied.
As for now, Wayland support is incomplete, so it is recommended to use on X11.

Installation

1. Install Phrosty

Currently, you can download the binary packages from the Release page.
To build from source, see Building Phrosty.

2. Set a shortcut key for Phrosty

Phrosty is a CLI tool, but it's always recommended to use it thoroughly by a global shortcut key.

hotkey

Usage

Launch phrosty and click on the window you want to display in PIP. Then your PIP window will show up. After that, you can tweak window settings as the video below shows. Default settings for Phrosty can be overridden by the command line arguments. For instance, the command phrosty --use-default-border=1 overrides the use-default-border option so that the default window border is enabled. For details, check phrosty -h.


usage.mp4

Bulding Phrosty

Phrosty requires cmake(>=20) for manual build.

You also need to install build dependencies.

For Debian-based distros (Debian, Ubuntu, ...etc), you can install them by the command below.

apt-get install qtbase5-dev libqt5x11extras5-dev libx11-dev libnotify-dev libglm-dev libxcomposite-dev libxrender-dev

For other distros, you need to install equivalent dependencies as the command above.

Once you have all necessary dependencies, execute this command.

mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && make -j$(nproc) && make install

Attributions

Desktop icon

Cooling icon by Icons8

Others

See the credits folder which should be bundled in the distributed package.