3 ms·
It means it has a dependency on X11. $ go install github.com/ramonvermeulen/whosthere@latest # golang.design/x/clipboard clipboard_linux.c:14:10: fatal e
by Daviey 9mo ago
It means it has a dependency on X11.
$ go install github.com/ramonvermeulen/whosthere@latest
# golang.design/x/clipboard
clipboard_linux.c:14:10: fatal error: X11/Xlib.h: No such file or directory
14 | #include <X11/Xlib.h>
| ^~~~~~~~~~~~
compilation terminated.
- fellerts 9mo agoThat has nothing to do with the UI framework. The X11 dependency comes as part of the clipboard integration (which I'd argue should be optional or even removed). Still, I wouldn't call it modern if Wayland is outright not supported.
- rvermeulen98 9mo agoI think this is only a problem when building from source, right? It is indeed because of the dependency on https://github.com/golang-design/clipboard https://github.com/golang-design/clipboard. I hesitated a bit bringing in this feature. On one hand, I really like to have clipboard support, on the other hand, I don't like that it requires you to change from static to dynamic linking (and have the x11 dependency). Maybe I could write an install.sh script for installation that detects the OS and fetches the correct version/tarball from the Github release.
- Daviey 9mo agoThat library isn't going to support Wayland any time soon, and requiring CGO isn't ideal IMO. See this bug, https://github.com/golang-design/clipboard/issues/6 https://github.com/golang-design/clipboard/issues/6 How about this PR? https://github.com/ramonvermeulen/whosthere/pull/29 https://github.com/ramonvermeulen/whosthere/pull/29 It switches to using github.com/dece2183/go-clipboard, which supports Mac, Windows, Linux (X11 + Wayland) and Android.
- rvermeulen98 9mo agoThanks a lot for your contribution, this is something I will look into in the upcoming days. I totally agree that CGO isn't ideal, I had to make the build/release process also a lot more complicated purely for that clipboard requirement (see GHAs and the different goreleaser files). On the other hand, I also don't want whosthere to be depended on a fork that isn't maintained anymore. I will think about this trade-off, but I am also interested how others look at this problem.
- ok123456 9mo agoWhat's modern about Wayland?
- petcat 9mo agoYikes, so it's a "TUI" app... that still requires a display server? So I can't run this TUI over SSH or a virtual terminal. Wondering what the point of a tui is that still requires a gui environment to run?
- Daviey 9mo agoSorry, I was unhelpfully flippant. You totally can, and I don't want to distract from the great app that has been shared. This bug was just a compile time issue, which needed X libs to bake in clipboard support which is optional at runtime.
- sigmonsays 9mo agothis stopped me from go installing it too on nixos. I'm not gonna put the effort in to run it. There should be a build tag to disable clipboard, that'd be the easiest way around this.
- Daviey 9mo agoSame, I also had the same issue on NixOS :)
- rvermeulen98 9mo agoJust released version v0.2.1 eliminating the need for CGO, thanks for your contribution!