Giter Club home page Giter Club logo

pf's Introduction

pf

A simple pixelflut client for linux.

But... Why?

Originally, I hacked together a pretty simple python script to get some pixels painted on a pixelflut screen. Then someone told me about sendfile (2) and its python bindings. So I figured I might get away with just libpng and a bunch of linux syscalls (plus plain old threads later on, maybe). Having worked with cmake in the past, I also wanted to try meson and get my hands dirty with some programming on a lower level than I'm used to.

What does it do?

Read a PNG file, convert it to pixelflut commands and send those to a target host/port forever. If no host is specified, the program prints the pixelflut commands and terminates. Usage is pretty straight forward (see pf -h):

Usage: pf [options] <image>

Options:
-H <host>           Target host name
-b <buffer size>    Size of command buffer in byte (default: 1 MiB)
-h                  Show this help and exit
-p <port>           Target port number (default: 1234)
-v                  Verbose
-w <worker count>   Number of worker threads (default: 1)
-x <offset>         X offset for image coordinates (default: 0)
-y <offset>         Y offset for image coordinates (default: 0)

How do I build this again?

# Set up meson build directory
meson setup builddir && cd builddir

# Compile executable
meson compile

# Run unit tests
meson test

Is this any good?

Probably not, but I have fun hacking on it.

pf's People

Contributors

jvytee avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.