├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── cmd ├── nyctal-dri │ ├── README.md │ ├── drm │ │ ├── README.md │ │ ├── cap.go │ │ ├── codes.go │ │ ├── drm.go │ │ ├── ioctl │ │ │ └── ioctl_linux.go │ │ └── mode │ │ │ ├── mode.go │ │ │ └── simple.go │ ├── drmdraw.go │ ├── evdev │ │ ├── LICENSE │ │ ├── README.md │ │ ├── consts.go │ │ ├── evdev.go │ │ ├── input_event.go │ │ ├── inputs.go │ │ └── keycodes.go │ ├── go.mod │ ├── go.sum │ ├── image_output.go │ └── nyctal.go └── nyctal-x11 │ ├── README.md │ ├── nyctal-minifb-fixes.patch │ └── nyctal-x11.go ├── go.mod ├── go.sum ├── model ├── client.go ├── format.go ├── global.go ├── keyboard.go ├── output.go └── pointer.go ├── specs ├── wayland.xml └── xdg-shell.xml ├── utils ├── log.go ├── math.go ├── memfile.go ├── queue.go └── stack.go ├── wayland ├── buffer.go ├── client.go ├── compositor.go ├── conn.go ├── data_device.go ├── data_device_manager.go ├── data_source.go ├── display.go ├── keyboard.go ├── linux_dma.go ├── output.go ├── packet.go ├── pointer.go ├── region.go ├── registry.go ├── seat.go ├── shm.go ├── shm_pool.go ├── subcompositor.go ├── subsurface.go ├── surface.go ├── unbound.go ├── viewporter.go ├── wayland.go ├── xdg_base.go ├── xdg_popup.go ├── xdg_positioner.go ├── xdg_surface.go └── xdg_toplevel.go └── workspace ├── dragoverlay.go ├── panel.go └── split.go /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/.gitignore -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/README.md -------------------------------------------------------------------------------- /cmd/nyctal-dri/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/README.md -------------------------------------------------------------------------------- /cmd/nyctal-dri/drm/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/drm/README.md -------------------------------------------------------------------------------- /cmd/nyctal-dri/drm/cap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/drm/cap.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/drm/codes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/drm/codes.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/drm/drm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/drm/drm.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/drm/ioctl/ioctl_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/drm/ioctl/ioctl_linux.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/drm/mode/mode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/drm/mode/mode.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/drm/mode/simple.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/drm/mode/simple.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/drmdraw.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/drmdraw.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/evdev/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/evdev/LICENSE -------------------------------------------------------------------------------- /cmd/nyctal-dri/evdev/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/evdev/README.md -------------------------------------------------------------------------------- /cmd/nyctal-dri/evdev/consts.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/evdev/consts.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/evdev/evdev.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/evdev/evdev.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/evdev/input_event.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/evdev/input_event.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/evdev/inputs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/evdev/inputs.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/evdev/keycodes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/evdev/keycodes.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/go.mod -------------------------------------------------------------------------------- /cmd/nyctal-dri/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/go.sum -------------------------------------------------------------------------------- /cmd/nyctal-dri/image_output.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/image_output.go -------------------------------------------------------------------------------- /cmd/nyctal-dri/nyctal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-dri/nyctal.go -------------------------------------------------------------------------------- /cmd/nyctal-x11/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-x11/README.md -------------------------------------------------------------------------------- /cmd/nyctal-x11/nyctal-minifb-fixes.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-x11/nyctal-minifb-fixes.patch -------------------------------------------------------------------------------- /cmd/nyctal-x11/nyctal-x11.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/cmd/nyctal-x11/nyctal-x11.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module nyctal 2 | 3 | go 1.23.2 4 | 5 | require golang.org/x/sys v0.24.0 6 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/go.sum -------------------------------------------------------------------------------- /model/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/model/client.go -------------------------------------------------------------------------------- /model/format.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/model/format.go -------------------------------------------------------------------------------- /model/global.go: -------------------------------------------------------------------------------- 1 | package model 2 | 3 | type GlobalIdx int 4 | -------------------------------------------------------------------------------- /model/keyboard.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/model/keyboard.go -------------------------------------------------------------------------------- /model/output.go: -------------------------------------------------------------------------------- 1 | package model 2 | 3 | type Output interface { 4 | RenderBuffer(img *BGRA) error 5 | } 6 | -------------------------------------------------------------------------------- /model/pointer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/model/pointer.go -------------------------------------------------------------------------------- /specs/wayland.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/specs/wayland.xml -------------------------------------------------------------------------------- /specs/xdg-shell.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/specs/xdg-shell.xml -------------------------------------------------------------------------------- /utils/log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/utils/log.go -------------------------------------------------------------------------------- /utils/math.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/utils/math.go -------------------------------------------------------------------------------- /utils/memfile.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/utils/memfile.go -------------------------------------------------------------------------------- /utils/queue.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/utils/queue.go -------------------------------------------------------------------------------- /utils/stack.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/utils/stack.go -------------------------------------------------------------------------------- /wayland/buffer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/buffer.go -------------------------------------------------------------------------------- /wayland/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/client.go -------------------------------------------------------------------------------- /wayland/compositor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/compositor.go -------------------------------------------------------------------------------- /wayland/conn.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/conn.go -------------------------------------------------------------------------------- /wayland/data_device.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/data_device.go -------------------------------------------------------------------------------- /wayland/data_device_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/data_device_manager.go -------------------------------------------------------------------------------- /wayland/data_source.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/data_source.go -------------------------------------------------------------------------------- /wayland/display.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/display.go -------------------------------------------------------------------------------- /wayland/keyboard.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/keyboard.go -------------------------------------------------------------------------------- /wayland/linux_dma.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/linux_dma.go -------------------------------------------------------------------------------- /wayland/output.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/output.go -------------------------------------------------------------------------------- /wayland/packet.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/packet.go -------------------------------------------------------------------------------- /wayland/pointer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/pointer.go -------------------------------------------------------------------------------- /wayland/region.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/region.go -------------------------------------------------------------------------------- /wayland/registry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/registry.go -------------------------------------------------------------------------------- /wayland/seat.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/seat.go -------------------------------------------------------------------------------- /wayland/shm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/shm.go -------------------------------------------------------------------------------- /wayland/shm_pool.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/shm_pool.go -------------------------------------------------------------------------------- /wayland/subcompositor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/subcompositor.go -------------------------------------------------------------------------------- /wayland/subsurface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/subsurface.go -------------------------------------------------------------------------------- /wayland/surface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/surface.go -------------------------------------------------------------------------------- /wayland/unbound.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/unbound.go -------------------------------------------------------------------------------- /wayland/viewporter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/viewporter.go -------------------------------------------------------------------------------- /wayland/wayland.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/wayland.go -------------------------------------------------------------------------------- /wayland/xdg_base.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/xdg_base.go -------------------------------------------------------------------------------- /wayland/xdg_popup.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/xdg_popup.go -------------------------------------------------------------------------------- /wayland/xdg_positioner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/xdg_positioner.go -------------------------------------------------------------------------------- /wayland/xdg_surface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/xdg_surface.go -------------------------------------------------------------------------------- /wayland/xdg_toplevel.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/wayland/xdg_toplevel.go -------------------------------------------------------------------------------- /workspace/dragoverlay.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/workspace/dragoverlay.go -------------------------------------------------------------------------------- /workspace/panel.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/workspace/panel.go -------------------------------------------------------------------------------- /workspace/split.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-rah/nyctal/HEAD/workspace/split.go --------------------------------------------------------------------------------