various fixes
This commit is contained in:
parent
e0f035a7fb
commit
8f63e0b492
|
@ -10,8 +10,8 @@
|
|||
|
||||
;; Could steal more from fantasary in future...
|
||||
(define (log-to-curses win prompt-win msg)
|
||||
(addstr win "\n")
|
||||
(addstr win msg)
|
||||
(move win (+ 1 (getcury win)) 0)
|
||||
(refresh win)
|
||||
;; move cursor back to the prompt
|
||||
(refresh prompt-win))
|
||||
|
|
|
@ -75,7 +75,8 @@
|
|||
prompt-str)
|
||||
#:x 3 #:y 1)
|
||||
(resize log-win (- height 2) width)
|
||||
(resize prompt-win 3 width)
|
||||
(resize prompt-win 2 width)
|
||||
(mvwin prompt-win (- height 2) 0)
|
||||
(move prompt-win 1 (+ 3 (length prompt-input)))
|
||||
(refresh prompt-win))
|
||||
|
||||
|
@ -168,6 +169,9 @@
|
|||
(newwin (- height prompt-height)
|
||||
width 0 0))
|
||||
(scrollok! log-win #t)
|
||||
(idcok! log-win #t)
|
||||
(setscrreg! log-win 0 (- height prompt-height))
|
||||
(move log-win (getmaxy log-win) 0)
|
||||
|
||||
(with-vat user-vat
|
||||
(set! logger (spawn ^logger log-win prompt-win))
|
||||
|
@ -188,6 +192,9 @@
|
|||
;; Exit
|
||||
((or (eqv? char #\esc) (eqv? char #\etx))
|
||||
(halt-event-loop))
|
||||
;; Resized window
|
||||
((eqv? char KEY_RESIZE)
|
||||
(add-task! tasks refresh-prompt))
|
||||
;; Backspace
|
||||
((or (eqv? char %BACKSPACE) (eqv? char #\delete))
|
||||
(set! prompt-input (match prompt-input
|
||||
|
|
|
@ -13,10 +13,10 @@
|
|||
(room room-data-room)
|
||||
(presence room-data-presence))
|
||||
|
||||
(define (^user bcom logger name joined-room-data)
|
||||
(define (^user bcom logger name room-data)
|
||||
(methods
|
||||
[(room) (room-data-room joined-room-data)]
|
||||
[(presence) (room-data-presence joined-room-data)]
|
||||
[(room) (and room-data (room-data-room room-data))]
|
||||
[(presence) (and room-data (room-data-presence room-data))]
|
||||
[(make-room)
|
||||
(let* ((my-presence (spawn ^room-presence logger name))
|
||||
(room (spawn ^room my-presence))
|
||||
|
@ -25,15 +25,13 @@
|
|||
|
||||
[(join-room room)
|
||||
(let ((my-presence (spawn ^room-presence logger name)))
|
||||
(when joined-room-data
|
||||
(<-np (room-data-room joined-room-data) 'kick-user (room-data-presence joined-room-data)))
|
||||
(when room-data
|
||||
(<-np (room-data-room room-data) 'kick-user (room-data-presence room-data)))
|
||||
|
||||
(<- room 'add-user my-presence)
|
||||
|
||||
(define room-data (make-room-data room my-presence))
|
||||
(bcom (^user bcom logger name room-data)))]
|
||||
(bcom (^user bcom logger name (make-room-data room my-presence))))]
|
||||
|
||||
[(leave-room room)
|
||||
(when (eq? room (room-data-room joined-room-data))
|
||||
(<-np room 'kick-user (room-data-presence joined-room-data))
|
||||
(when (eq? room (room-data-room room-data))
|
||||
(<-np room 'kick-user (room-data-presence room-data))
|
||||
(bcom (^user bcom logger name #f)))]))
|
||||
|
|
Loading…
Reference in New Issue