os_unix.go raw
1 // SPDX-License-Identifier: Unlicense OR MIT
2
3 // +build linux,!android freebsd openbsd
4
5 package wm
6
7 import (
8 "errors"
9 )
10
11 func Main() {
12 select {}
13 }
14
15 type windowDriver func(Callbacks, *Options) error
16
17 // Instead of creating files with build tags for each combination of wayland +/- x11
18 // let each driver initialize these variables with their own version of createWindow.
19 var wlDriver, x11Driver windowDriver
20
21 func NewWindow(window Callbacks, opts *Options) error {
22 var errFirst error
23 for _, d := range []windowDriver{x11Driver, wlDriver} {
24 if d == nil {
25 continue
26 }
27 err := d(window, opts)
28 if err == nil {
29 return nil
30 }
31 if errFirst == nil {
32 errFirst = err
33 }
34 }
35 if errFirst != nil {
36 return errFirst
37 }
38 return errors.New("app: no window driver available")
39 }
40