Implemented basic GUI config in Tcl/Tk
This commit is contained in:
@@ -23,11 +23,11 @@ Nevertheless, the following features are already implemented:
|
||||
- YouTube avatar icon support
|
||||
- Twitch system message support (needs more testing)
|
||||
- [Noto Color Emoji](https://fonts.google.com/noto/specimen/Noto+Color+Emoji) font bundled for universal Unicode emoji support
|
||||
- GUI configuration utility (for now, only 64-bit Linux and Windows versions are supported)
|
||||
|
||||
|
||||
## Planned features
|
||||
|
||||
- Reward redemption message support for Twitch
|
||||
- "Deleted message" support for YouTube
|
||||
- Badge support for Kick
|
||||
- Internal chat ranking system by username
|
||||
@@ -98,12 +98,16 @@ For Linux, you also need to have the `webkit2gtk-4.1` dev package installed.
|
||||
|
||||
Just run `make` and get all the resulting files in the `out` directory.
|
||||
|
||||
To compile the GUI configuration utility (x64 Linux only), run `make config-linux`.
|
||||
|
||||
### Windows x64 (native)
|
||||
|
||||
You need to have Go 1.23.1 and above and a POSIX-compatible "make" in your %PATH%.
|
||||
|
||||
Just run `make win64` and get all the resulting files in the `out` directory.
|
||||
|
||||
To compile the GUI configuration utility (x64 Windows only), run `make config-win64`.
|
||||
|
||||
### Windows x64 (cross-compiling from Linux)
|
||||
|
||||
You need to have Go 1.23.1 and above and a POSIX-compatible "make".
|
||||
@@ -121,6 +125,8 @@ Then rerun the command from step 2.
|
||||
|
||||
**Note**: When testing the cross-compiled build under Wine, you must have Microsoft Edge WebView2 Runtime installed in order for the GUI to work at all. You can [download](https://developer.microsoft.com/en-us/microsoft-edge/webview2) this engine directly from the Microsoft website (select "Evergreen Standalone Installer") and install it into your Wine profile. Be sure to enable at least Windows 7 emulation in winecfg.
|
||||
|
||||
To compile the GUI configuration utility (for x64 Windows and from x64 Linux only), run `make config-win64-cross`.
|
||||
|
||||
### Headless builds
|
||||
|
||||
In case you don't want to build the GUI, you can run `make headless` or `make win64-headless` depending on the platform. In this case, a binary will be built where you'll be required to point any JS-enabled Web browser of your choice to `http://127.0.0.1:60053` to see the chat window. This can be useful when building StreamGoose on more exotic platforms not supported by the `webview_go` library.
|
||||
@@ -135,6 +141,7 @@ Enter the distribution directory and run the `./streamgoose` or `streamgoose.exe
|
||||
### Configuration
|
||||
|
||||
StreamGoose is mostly configured through the `config.json` file distributed in the same directory as the main binary.
|
||||
Alternatively, if you run Linux or Windows on an x86_64 machine, you can compile a GUI configuration utility (see the previous section) that modifies this file. If you run another OS or have another architecture but happen to have a Tcl/Tk distribution installed, you can directly copy the `src/conf.tcl` file into the output directory and run it with the Wish shell instead.
|
||||
|
||||
The following fields in the `config.json` are backend-agnostic:
|
||||
|
||||
@@ -324,6 +331,10 @@ Sure, anything can happen. The problem with adding a new platform support, as al
|
||||
|
||||
Besides the main four, anyway, your best bet would be to create an **external** backend for the platform you're interested in (again, you could use any programming language you want), and then incorporate it into this repo in the `/external` directory. When the backend is mature enough, we can always sit and think about how to convert it into an internal one to be distributed inside the StreamGoose binary.
|
||||
|
||||
### What is the `labels.ini` file in the distribution directory?
|
||||
|
||||
This file is now only used by the GUI configuration program but is planned to be used for the main StreamGoose binary as well, for the user to be able to customize or localize all the labels and internal messages of the application.
|
||||
|
||||
### Why is there a `twitch-cid.txt` file in the `auth/` directory?
|
||||
|
||||
This is the Twitch client ID corresponding to the [Twitch Chat OAuth Password Generator](https://twitchapps.com/tmi/) website. If you generate a Twitch token through it, you'll need this ID for external Twitch API such as badges to work correctly.
|
||||
|
||||
Reference in New Issue
Block a user