Add a Cocoa frontend for xC
Some work remains to be done to get it to be even as good as the Win32 frontend, but it's generally usable.
This commit is contained in:
parent
e5156cddbf
commit
1c4343058d
2
NEWS
2
NEWS
@ -33,6 +33,8 @@
|
||||
|
||||
* Added a Win32 frontend for xC called xW
|
||||
|
||||
* Added a Cocoa frontend for xC called xM
|
||||
|
||||
* Added a Go port of xD called xS
|
||||
|
||||
|
||||
|
19
README.adoc
19
README.adoc
@ -2,8 +2,9 @@ xK
|
||||
==
|
||||
|
||||
'xK' (chat kit) is an IRC software suite consisting of a daemon, bot, terminal
|
||||
client, and web + Win32 frontends for the client. It's all you're ever going to
|
||||
need for chatting, so long as you can make do with slightly minimalist software.
|
||||
client, and web/Windows/macOS frontends for the client. It's all you're ever
|
||||
going to need for chatting, so long as you can make do with slightly minimalist
|
||||
software.
|
||||
|
||||
They're all lean on dependencies, and offer a maximally permissive licence.
|
||||
|
||||
@ -140,13 +141,23 @@ endpoint as the third command line argument in this case.
|
||||
xW
|
||||
~~
|
||||
The Win32 frontend is a separate CMake subproject that should be compiled
|
||||
using MinGW-w64. In order to run it, make a shortcut for the executable and
|
||||
include the relay address in its _Target_ field:
|
||||
using MinGW-w64. To avoid having to specify the relay address each time you
|
||||
run it, create a shortcut for the executable and include the address in its
|
||||
_Target_ field:
|
||||
|
||||
C:\...\xW.exe 127.0.0.1 9000
|
||||
|
||||
It works reasonably well starting with Windows 7.
|
||||
|
||||
xM
|
||||
~~
|
||||
The Cocoa frontend is a separate CMake subproject that requires Xcode to build.
|
||||
It is currently not that usable. The relay address can either be passed on
|
||||
the command line, or preset in the _defaults_ database:
|
||||
|
||||
$ defaults write name.janouch.xM relayHost 127.0.0.1
|
||||
$ defaults write name.janouch.xM relayPort 9000
|
||||
|
||||
Client Certificates
|
||||
-------------------
|
||||
'xC' will use the SASL EXTERNAL method to authenticate using the TLS client
|
||||
|
32
xM/CMakeLists.txt
Normal file
32
xM/CMakeLists.txt
Normal file
@ -0,0 +1,32 @@
|
||||
# Swift language support
|
||||
cmake_minimum_required (VERSION 3.15)
|
||||
|
||||
file (READ ../xK-version project_version)
|
||||
configure_file (../xK-version xK-version.tag COPYONLY)
|
||||
string (STRIP "${project_version}" project_version)
|
||||
|
||||
# There were two issues when building this from the main CMakeLists.txt:
|
||||
# a) renaming main.swift to xM.swift requires removing top-level statements,
|
||||
# b) there is a "redefinition of module 'FFI'" error.
|
||||
project (xM VERSION "${project_version}"
|
||||
DESCRIPTION "Cocoa frontend for xC" LANGUAGES Swift)
|
||||
|
||||
set (root "${PROJECT_SOURCE_DIR}/..")
|
||||
add_custom_command (OUTPUT xC-proto.swift
|
||||
COMMAND env LC_ALL=C awk
|
||||
-f ${root}/liberty/tools/lxdrgen.awk
|
||||
-f ${root}/liberty/tools/lxdrgen-swift.awk
|
||||
-v PrefixCamel=Relay
|
||||
${root}/xC.lxdr > xC-proto.swift
|
||||
DEPENDS
|
||||
${root}/liberty/tools/lxdrgen.awk
|
||||
${root}/liberty/tools/lxdrgen-swift.awk
|
||||
${root}/xC.lxdr
|
||||
COMMENT "Generating xC relay protocol code" VERBATIM)
|
||||
|
||||
set (MACOSX_BUNDLE_GUI_IDENTIFIER name.janouch.${PROJECT_NAME})
|
||||
|
||||
# Other requirements: macOS 10.14 for Network, and macOS 11 for Logger.
|
||||
set (CMAKE_Swift_LANGUAGE_VERSION 5)
|
||||
add_executable (xM MACOSX_BUNDLE
|
||||
main.swift ${PROJECT_BINARY_DIR}/xC-proto.swift)
|
1372
xM/main.swift
Normal file
1372
xM/main.swift
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user