git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Usermode/libaxwin4 - Handle demarshal failure
[tpg/acess2.git]
/
Usermode
/
Applications
/
irc_src
/
main.c
diff --git
a/Usermode/Applications/irc_src/main.c
b/Usermode/Applications/irc_src/main.c
index
e3e2af4
..
6169519
100755
(executable)
--- a/
Usermode/Applications/irc_src/main.c
+++ b/
Usermode/Applications/irc_src/main.c
@@
-7,6
+7,7
@@
#include <string.h>
#include <net.h>
#include <stdarg.h>
#include <string.h>
#include <net.h>
#include <stdarg.h>
+#include <acess/devices/pty.h>
#include "common.h"
#include "input.h"
#include "common.h"
#include "input.h"
@@
-35,6
+36,11
@@
void ExitHandler(void)
{
printf("\x1B[?1047l");
printf("Quit: %s\n", gsExitReason);
{
printf("\x1B[?1047l");
printf("Quit: %s\n", gsExitReason);
+
+ // stty +echo,canon
+ struct ptymode mode = {.InputMode = 0, .OutputMode = 0};
+ mode.InputMode = PTYIMODE_CANON|PTYIMODE_ECHO;
+ _SysIOCtl(0, PTY_IOCTL_SETMODE, &mode);
}
void Exit(const char *Reason)
}
void Exit(const char *Reason)
@@
-55,24
+61,21
@@
int main(int argc, const char *argv[], const char *envp[])
ACurses_Init();
printf("\x1B[?1047h");
ACurses_Init();
printf("\x1B[?1047h");
- printf("\x1B[%i;%ir", 1, giTerminal_Height-1);
-
- SetCursorPos(giTerminal_Height-1, 1);
- printf("[(status)] ");
+ printf("\x1B[%i;%ir", 2, giTerminal_Height-2);
// HACK: Static server entry
// UCC (University [of Western Australia] Computer Club) IRC Server
// HACK: Static server entry
// UCC (University [of Western Australia] Computer Club) IRC Server
-
tServer *starting_server = Server_Connect( "UCC", "130.95.13.18", 6667 );
+
//
tServer *starting_server = Server_Connect( "UCC", "130.95.13.18", 6667 );
// Freenode (#osdev)
// Freenode (#osdev)
-
// gWindow_Status.Server = Server_Connect( "Freenode", "89.16.176.16
", 6667 );
+
tServer *starting_server = Server_Connect( "Freenode", "84.240.3.129
", 6667 );
// Local servers
// gWindow_Status.Server = Server_Connect( "VMHost", "10.0.2.2", 6667 );
// gWindow_Status.Server = Server_Connect( "BitlBee", "192.168.1.39", 6667 );
// Local servers
// gWindow_Status.Server = Server_Connect( "VMHost", "10.0.2.2", 6667 );
// gWindow_Status.Server = Server_Connect( "BitlBee", "192.168.1.39", 6667 );
- if( !starting_server )
- return -1;
-
Windows_SetStatusServer(starting_server);
Windows_SetStatusServer(starting_server);
+ Windows_RepaintCurrent();
+ SetCursorPos(giTerminal_Height-1, 1);
+ printf("[(status)] ");
MainLoop();
MainLoop();
@@
-83,10
+86,14
@@
int main(int argc, const char *argv[], const char *envp[])
int MainLoop(void)
{
int MainLoop(void)
{
- SetCursorPos(giTerminal_Height
-1
, 1);
+ SetCursorPos(giTerminal_Height, 1);
printf("[(status)] ");
fflush(stdout);
printf("[(status)] ");
fflush(stdout);
+ // stty -echo,canon
+ struct ptymode mode = {.InputMode = 0, .OutputMode = 0};
+ _SysIOCtl(0, PTY_IOCTL_SETMODE, &mode);
+
for( ;; )
{
fd_set readfds, errorfds;
for( ;; )
{
fd_set readfds, errorfds;
@@
-121,7
+128,7
@@
int ParseArguments(int argc, const char *argv[])
void Redraw_Screen(void)
{
printf("\x1B[2J"); // Clear screen
void Redraw_Screen(void)
{
printf("\x1B[2J"); // Clear screen
- printf("\x1B[
0;0H");
// Reset cursor
+ printf("\x1B[
H");
// Reset cursor
Windows_RepaintCurrent();
}
Windows_RepaintCurrent();
}
UCC
git Repository :: git.ucc.asn.au