Giter Site home page Giter Site logo

shehackedyou / wayland Goto Github PK

View Code? Open in Web Editor NEW

This project forked from neurlang/wayland

0.0 0.0 0.0 2.39 MB

Golang Wayland - Multiplatform UI library (This will support multisteating)

License: MIT License

Shell 0.36% C 34.04% Go 65.53% Dockerfile 0.08%

wayland's Introduction

wayland

GoReportCard

GoDoc reference

Golang Wayland

Screenshot of Golang Wayland Cube app

Go vulkan cube demo

Screenshot of Golang Wayland App

This includes two sample apps that render into a shared memory. Tested on pc (x64) and raspberry pi (arm64). The smoke app reacts on mouse input.

Screenshot of Golang Wayland Text Editor

This text editor is one of the sample apps. It is a Linux and Windows multiplatform programming text editor.

Dependencies

None, this is a pure go implementation. But for a meaningful keyboard (on Linux) support, you need the C libxkbcommon library for apps that require keyboard. On windows this is not necessary.

Golang install:

sudo apt-get install golang

or

sudo dnf install golang

Docker Installation Linux

Run the docker build command in the provided build.sh script.

Next, start your Wayland compositor, and run demos using the docker run commands that can be found in the run-shm.sh or run-smoke.sh scripts.

Important: If your docker requires root privileges, use sudo -E to start the programs. This is because $XDG_RUNTIME_DIR env variable is required.

Pre-Installation Linux

First, you need a wayland-enabled Linux, if you don't have one, install the Wayland compositor weston that is useful for testing:

sudo apt-get install weston

Install libxkbcommon:

sudo apt-get install libxkbcommon-dev

or in Fedora:

sudo dnf install libxkbcommon-devel

Install wayland-client and vulkan for cube:

sudo apt-get install libwayland-dev libvulkan-dev

On NVIDIA, install nvidia-egl-wayland for cube:

sudo apt-get install libnvidia-egl-wayland1

Pre-Installation Windows

You don't need to do anything special on Windows, simply continue using the install steps below

Installation (Windows and Linux)

Next, get the demos:

go get github.com/neurlang/wayland/...

Then, install them:

go install github.com/neurlang/wayland/go-wayland-simple-shm@latest
go install github.com/neurlang/wayland/go-wayland-smoke@latest
go install github.com/neurlang/wayland/go-wayland-imageviewer@latest
go install github.com/neurlang/wayland/go-wayland-texteditor@latest
go install github.com/neurlang/wayland/go-wayland-texteditor/editor_backend@latest

Using older golang:

go get github.com/neurlang/wayland/go-wayland-simple-shm@latest
go get github.com/neurlang/wayland/go-wayland-smoke@latest
go get github.com/neurlang/wayland/go-wayland-imageviewer@latest
go get github.com/neurlang/wayland/go-wayland-texteditor@latest
go get github.com/neurlang/wayland/go-wayland-texteditor/editor_backend@latest

Using golang version < 1.16 (there is support for golang >= 1.09):

go install -tags wayland github.com/neurlang/wayland/go-wayland-cube
go install github.com/neurlang/wayland/go-wayland-simple-shm
go install github.com/neurlang/wayland/go-wayland-smoke
go install github.com/neurlang/wayland/go-wayland-imageviewer
go install github.com/neurlang/wayland/go-wayland-texteditor
go install github.com/neurlang/wayland/go-wayland-texteditor/editor_backend

Finally, run weston and the executables.

Running the go-wayland-texteditor (Windows and Linux)

First, run the editor_backend executable

Secondly, run the go-wayland-texteditor executable, in the folder with the PNGs and JPGs (to see the fonts)

wayland's People

Contributors

neurlang 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.