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 Win32 frontend for xC called xW
|
||||||
|
|
||||||
|
* Added a Cocoa frontend for xC called xM
|
||||||
|
|
||||||
* Added a Go port of xD called xS
|
* 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
|
'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
|
client, and web/Windows/macOS frontends for the client. It's all you're ever
|
||||||
need for chatting, so long as you can make do with slightly minimalist software.
|
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.
|
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
|
xW
|
||||||
~~
|
~~
|
||||||
The Win32 frontend is a separate CMake subproject that should be compiled
|
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
|
using MinGW-w64. To avoid having to specify the relay address each time you
|
||||||
include the relay address in its _Target_ field:
|
run it, create a shortcut for the executable and include the address in its
|
||||||
|
_Target_ field:
|
||||||
|
|
||||||
C:\...\xW.exe 127.0.0.1 9000
|
C:\...\xW.exe 127.0.0.1 9000
|
||||||
|
|
||||||
It works reasonably well starting with Windows 7.
|
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
|
Client Certificates
|
||||||
-------------------
|
-------------------
|
||||||
'xC' will use the SASL EXTERNAL method to authenticate using the TLS client
|
'xC' will use the SASL EXTERNAL method to authenticate using the TLS client
|
||||||
|
|
|
@ -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)
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue