[PoC] An all-in-one preview window for the furries

Overview

previuwu

An all-in-one preview window for the furries.

Uses egui to render the preview window.

STATUS: Proof of Concept ( ⚠️ heavy work in progress).

Demo

Preview texts

previuwu.mp4

Preview images

previuwu.mp4

Install

Better don't install it as of now, unless you want to contribute.

cargo install --git https://github.com/sayanarijit/previuwu

Usage

Preview a single file:

previuwu /path/to/file

Allow streaming input from stdin:

previuwu /path/to/file --pipe -

Also allow streaming input from a named pipe:

# mkfifo path/to/input.fifo
previuwu /path/to/file --pipe - --pipe path/to/input.fifo

Use Case

Run a slide show of the contents in your $PWD:

ls -1 | while read -r file; do echo "$file"; sleep 1; done | previuwu -p -

Example usage with xplr and nnn:

# Create a fifo file
mkfifo /tmp/previuwu.fifo

# Run previuwu in background (will close automatically when done)
previuwu --pipe /tmp/previuwu.fifo &

# Run xplr with fifo enabled
xplr --on-load 'StartFifo: /tmp/previuwu.fifo'

# Run nnn with fifo enabled
NNN_FIFO=/tmp/previuwu.fifo nnn

Supports

I plan to support as many input types as possible.

  • Stdin
  • Named Pipes (fifo)
  • Socket
  • ...ideas?

Very basic (ugly) support for the following file types has been implemented:

  • Directory
  • Text
  • Images
  • ...contribute?

Contribute

First of all, thank you.

Please go through src/preview and try to implement loading and/or rendering as many file types as you can.

Loading is the easy part. Rendering might require some experience with egui.

Some files can be really slow to load/render in development mode (cargo run). Try running in release mode (cargo run --release).

You might also like...
My Window Manager
My Window Manager

mwm My window manager that is a work in progress. Currently hacky Installation Clone this repo then: cargo build --release Put the binary in your pat

A small Rust library that let's you get position and size of the active window on Windows and MacOS

active-win-pos-rs A small Rust library that let's you get position and size of the active window on Windows and MacOS Build % git clone https://github

Cross platfrom window and framebuffer crate for Rust

minifb is a cross platform library written in Rust and that makes it easy to setup a window and to (optional) display a 32-bit pixel buffer. It also m

skyWM is an extensible tiling window manager written in Rust. skyWM has a clear and distinct focus adhering to the KISS and Unix philosophy.
skyWM is an extensible tiling window manager written in Rust. skyWM has a clear and distinct focus adhering to the KISS and Unix philosophy.

Please note: skyWM is currently in heavy development and is not usable as of yet. Documentation and versions will change quickly. skyWM skyWM is an ex

A fully modular window manager, extremely extensibile and easily approachable.

AquariWM is a fully modular window manager, allowing extreme extensibility while remaining easily approachable. Installation AquariWM is currently in

Use raw-window-handle 0.5 with crates that depend on 0.4.

OldHasRawWindowHandleWrapper Wrap any type that implements HasRawWindowHandle and HasRawDisplayHandle from raw-window-handle 0.5 in OldHasRawWindowHan

A collection of tools for i3 that assist in window, workspace and output operations.

i3-valet A collection of tools for i3 that assist in window, workspace and output operations. i3-valet can be run directly from the command line or as

An i3/Sway utility to switch focus to your last focused window. Alt+Tab in i3

i3-back An i3/Sway utility to switch focus to your last focused window. Allows for behavior similar to Alt+Tab on other desktop environments. Features

Customize window border colors :3
Customize window border colors :3

cute-borders Makes focused and unfocused window borders have a different border color, configurable per program. Windows 11 only. Preview Installing D

Owner
Arijit Basu
Just a ninja doing hand signs on a keyboard
Arijit Basu
A super simple /sbin/init for Linux which allows running one and only one program

Summary High-performance /sbin/init program for Linux This is designed to do literally nothing but accept binaries over the network and run them as a

null 19 Dec 4, 2023
A simple CLI I made while practicing rust to easily make QR codes with just one command, all in your terminal.

Welcome to rust-qrcode-cli ?? A CLI I made while practicing rust to easily make QR codes with just one command, all in your terminal. Install git clon

Dhravya Shah 2 Mar 2, 2022
All in One AI Chat Tool( GPT-4 / GPT-3.5 /OpenAI API/Azure OpenAI)

WeChatAI Create All in One personal AI chat assistant English | 中文介绍 This project is not for reward and profit, only used for personal Screenshot Supp

null 38 Apr 25, 2023
ddi is a wrapper for dd. It takes all the same arguments, and all it really does is call dd in the background

ddi A safer dd Introduction If you ever used dd, the GNU coreutil that lets you copy data from one file to another, then you may have encountered a ty

Tomás Ralph 80 Sep 8, 2022
Scan the symbols of all ELF binaries in all Arch Linux packages for usage of malloc_usable_size

Scan the symbols of all ELF binaries in all Arch Linux packages for usage of malloc_usable_size (-D_FORTIFY_SOURCE=3 compatibility)

null 3 Sep 9, 2023
WIP / POC for using the ESP32C3 and ESP32 wifi drivers in bare-metal Rust

Wifi on ESP32C3 and ESP32 (on bare-metal Rust) About This is experimental and work-in-progress! You are welcome to experiment with it and contribute b

esp-rs 135 Jan 2, 2023
A PoC for the CVE-2022-44268 - ImageMagick arbitrary file read

CVE-2022-44268 Arbitrary File Read PoC - PNG generator This is a proof of concept of the ImageMagick bug discovered by https://www.metabaseq.com/image

Cristian 'void' Giustini 100 Feb 19, 2023
Dragonfly, POC full-stack web app DSL

Dragonfly Dragonfly is a toy DSL that explores ways to describe the structure of full-stack web applications. You should not use it in production. For

Bas Dirks 9 Mar 15, 2023
Prompt Description Language [POC]

Prompt Description Language (V0.1.1 POC) Description PDL (Prompt Description Language) format provides an extensible way to describe the behavior and

Alex 192 Jun 5, 2023
A library that creates a terminal-like window with feature-packed drawing of text and easy input handling. MIRROR.

BearLibTerminal provides a pseudoterminal window with a grid of character cells and a simple yet powerful API for flexible textual output and uncompli

Tommy Ettinger 43 Oct 31, 2022