diff options
-rw-r--r-- | Hermes/GUI.rkt | 9 | ||||
-rw-r--r-- | Hermes/README.md | 30 | ||||
-rw-r--r-- | Hermes/TODO | 2 |
3 files changed, 35 insertions, 6 deletions
diff --git a/Hermes/GUI.rkt b/Hermes/GUI.rkt index e8f3ec1..cae776a 100644 --- a/Hermes/GUI.rkt +++ b/Hermes/GUI.rkt @@ -9,9 +9,6 @@ ;Object stuff ; TODO make different objects threadable send button vs text area vs canvas -; TODO gui is just a relay remember -; TODO create a dialog to ask user for his username. This should be wrapped in a -; function get-username that we can call (provide make-gui) @@ -200,7 +197,8 @@ (define name "Me") (define min-h-size 80) (define min-v-size 30) - (define listy (list (list "Server" "Connected" "Red" 0))) ; initializes + ;(define listy (list (list "Server" "Connected" "Red" 0))) ; initializes + (define listy '()) ; listy with first message to be drawn on screen ; wrap in closure (define my-color "black") ; default color of the text messages if none @@ -225,7 +223,8 @@ #f)))) (set! my-color returned) returned) - (define height 15) ; height between messages drawn on the screen + (define height 0) ; determines starting height + ; TODO create height variable that stores the height/space between messages ;; prompt user for username ;; could randomly assign a user diff --git a/Hermes/README.md b/Hermes/README.md new file mode 100644 index 0000000..9bc0c70 --- /dev/null +++ b/Hermes/README.md @@ -0,0 +1,30 @@ +# Hermes - the code +# This is a work in progress. Kindly report all issues +## Installation + +The only pre-requisite is to have a recent version of Drracket, then go ahead +and launch an instance of Drracket running server.rkt and one or more +instances running client.rkt. + +## Using Hermes + +### General + +The clients can run on the same computer with the server, or you can run the +server alone in another compute on the internet. As long as you have the +server's public ip address, the port its listening on(must port forward on home +network!), and the server allows communication through that port in the firewall +you are good to go. + +### Clients + +In the clients follow the prompt to set you up. Type in messages to send to +other clients. You can list users in chat with /list users. You can get the +count of users with /list count. If you want to send a message to a particular +user, do /whisper username message in chat. If you want to leave chat, type in +quit. As a consequence you can't use quit alone in your messages. + +### Server + +You can stop the server by typing in (stop-server) in the interactive window. +It's really important you do this to free up the ports. diff --git a/Hermes/TODO b/Hermes/TODO index db51e46..7a192c8 100644 --- a/Hermes/TODO +++ b/Hermes/TODO @@ -1,5 +1,5 @@ FEATURES -5. parser in the client side should do something similar (/color, /quit) +need to pass color settings between users 16. plain tcp -> ssl based ***17. fix breaks for improper disconnects from clients 18. Add topics after project completion |