Closed rene-tobner closed 9 months ago
workaround found:
unset LD_PRELOAD in bashrc or LD_PRELOAD= nix (note the space after =)
But anyhow: For programs running in a terminal only, not spawning a new window: setting this env var with swmhack, does not make sense, or?
swmhack is currently needed for spawn-in-workspace behavior when spawning programs.
When a window is created, is not possible for the window manager to know which program/command led to the creation of the window. swmhack exists for this reason.
Since swmhack works by intercepting calls made by X11 clients, LD_PRELOAD is needed.
If you run into problems with LD_PRELOAD/swmhack for some spawn program, you can workaround the issue by starting the program via a script that adjusts the env or do something like this:
program[action] = sh -c 'unset LD_PRELOAD; command'
installed multi user version from: https://nixos.org/download.html
in virtual term I get:
In non-virtual terminal, the console, I have the REPL working.
related to the nix installer: https://github.com/NixOS/nix/issues/818
relevant: LD_PRELOAD is set for all processes launched by spectrwm #124
also referencing: libswmhack breaks MATLAB R2018a/2019a #209
Not necessary a solution, but isn't it possible to put libswmhack into spectrwm binary? OK, static compiling! But, the reason for having libswmhack a shared object is to pull applications on specific workspaces, i.e. autorun = ws[2] prog? Isn't this possible with data structures alone in the spectrwm binary?