Added timestamp to gotty prompt

This commit is contained in:
Martin Lund 2014-10-07 17:45:21 +02:00
parent 799070fd3e
commit b6c1135d69
4 changed files with 74 additions and 3 deletions

View file

@ -1,4 +1,4 @@
bin_PROGRAMS = gotty
gotty_SOURCES = tty.c options.c main.c
gotty_SOURCES = tty.c options.c time.c main.c
bashcompletiondir=$(sysconfdir)/bash_completion.d
dist_bashcompletion_DATA=bash-completion/gotty

27
src/include/gotty/time.h Normal file
View file

@ -0,0 +1,27 @@
/*
* Go TTY - The Really Simple Terminal Application
*
* Copyright (c) 2014 Martin Lund
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef TIME_H
#define TIME_H
char * current_time(void);
#endif

43
src/time.c Normal file
View file

@ -0,0 +1,43 @@
/*
* Go TTY - The Really Simple Terminal Application
*
* Copyright (c) 2014 Martin Lund
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char * current_time(void)
{
static char time_string[20];
time_t t;
struct tm *tmp;
t = time(NULL);
tmp = localtime(&t);
if (tmp == NULL)
{
perror("localtime");
exit(EXIT_FAILURE);
}
strftime(time_string, sizeof(time_string), "%H:%M:%S", tmp);
return time_string;
}

View file

@ -34,6 +34,7 @@
#include "gotty/tty.h"
#include "gotty/print.h"
#include "gotty/options.h"
#include "gotty/time.h"
static int connected = false;
struct termios new_stdout, old_stdout, old_tio;
@ -121,7 +122,7 @@ void disconnect_tty(void)
{
if (tainted)
putchar('\n');
color_printf("[gotty] Disconnected");
color_printf("[gotty %s] Disconnected", current_time());
close(fd);
connected = false;
}
@ -159,7 +160,7 @@ int connect_tty(void)
exit(EXIT_FAILURE);
}
color_printf("[gotty] Connected");
color_printf("[gotty %s] Connected", current_time());
connected = true;
tainted = false;
bzero(&c_stdin[0], 3);