36 lines
2.0 KiB
Markdown
36 lines
2.0 KiB
Markdown
# Sands Trilogy Killer (Linux)
|
|
|
|
Okay, this one is a real mess, **I wouldn't ever in my life recommend it to anyone**.
|
|
|
|
This is mostly here for basic use and if anyone is interested in how I approach the restart on linux. Because I use NixOS, I can't just write a quick and dirty program on rust to do it for me because it does not allow to use any dynamically linked binaries, so I would have to start messing with flakes and packaging in order to use it, which I could not be really bothered to right now.
|
|
|
|
The only alternative was to use a pure bash script. There is a bare attempt at configuration and multi-game/profiles with the settings json, but because of terminal emulator shenanigans I can't say it'll work everywhere, it has been successfully tested with both `kitty` and `xterm`.
|
|
|
|
I will get around doing a proper CLI utility for this at some point, but given I'm the only linux runner at the moment, it is not my top priority right now. Same applies for porting the splits and auto-splitter from the other games.
|
|
|
|
## Setup
|
|
This requires the `jq` package to parse the config JSON, make sure you have the powershell wrapper installed on your wine prefix too.
|
|
|
|
Open the config json and point it to your executables. Make sure the `term` value is set to the same terminal you'll be launching the script on. You can also set the key to activate the restart. Because it is using `read` for the input, it can only take "keyboard produced characters".
|
|
|
|
To launch, execute the script along with the profile number like:
|
|
|
|
```
|
|
./SandsTrilogyKiller 0
|
|
```
|
|
|
|
### Global keys
|
|
|
|
Because of disparity between X11 and Wayland, specially now Wine 10 is around, how you handle the keys is up to you.
|
|
|
|
For X11 you should be able to bind a global hotkey on you DE/WM to send the trigger key to the script via `xdotool`.
|
|
|
|
For wayland it's dependent on your compositor, for hyprland this is what I use:
|
|
|
|
```
|
|
# SoT
|
|
bind = $mainMod, code:49, sendshortcut, , 49, title:SandsTrilogyKiller
|
|
```
|
|
|
|
Where mainMod is super. Code 49 stands for "`", adapt to your needs.
|