mirror of
https://github.com/irssi/irssi.git
synced 2024-06-16 06:25:24 +00:00
Compare commits
7 Commits
3288a020b0
...
c10681071c
Author | SHA1 | Date | |
---|---|---|---|
|
c10681071c | ||
|
5c15937554 | ||
|
19e7d3f6b8 | ||
|
822fd50132 | ||
|
c9a74d43cd | ||
|
30d19ab524 | ||
|
0bc63f1977 |
|
@ -363,6 +363,9 @@ textbuffer-view.c
|
|||
textbuffer-formats.c
|
||||
"gui render line text", TEXT_DEST_REC, GString *str, LINE_INFO_META_REC
|
||||
|
||||
textbuffer-commands.c
|
||||
"window hidelevel changed", WINDOW_REC
|
||||
|
||||
Perl
|
||||
----
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#define IRSSI_GLOBAL_CONFIG "irssi.conf" /* config file name in /etc/ */
|
||||
#define IRSSI_HOME_CONFIG "config" /* config file name in ~/.irssi/ */
|
||||
|
||||
#define IRSSI_ABI_VERSION 53
|
||||
#define IRSSI_ABI_VERSION 54
|
||||
|
||||
#define DEFAULT_SERVER_ADD_PORT 6667
|
||||
#define DEFAULT_SERVER_ADD_TLS_PORT 6697
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#include <irssi/src/fe-common/core/printtext.h>
|
||||
#include <irssi/src/fe-common/core/fe-channels.h>
|
||||
#include <irssi/src/fe-common/irc/fe-irc-server.h>
|
||||
#include <irssi/src/fe-common/irc/fe-irc-channels.h>
|
||||
|
||||
static void print_event_received(IRC_SERVER_REC *server, const char *data,
|
||||
const char *nick, int target_param);
|
||||
|
@ -138,38 +139,6 @@ static void event_end_of_who(IRC_SERVER_REC *server, const char *data)
|
|||
g_free(params);
|
||||
}
|
||||
|
||||
/* Get time elapsed since an event */
|
||||
static char *time_ago(time_t seconds)
|
||||
{
|
||||
static char ret[128];
|
||||
long unsigned years, weeks, days, hours, minutes;
|
||||
|
||||
seconds = time(NULL) - seconds;
|
||||
|
||||
years = seconds / (86400 * 365);
|
||||
seconds %= (86400 * 365);
|
||||
weeks = seconds / 604800;
|
||||
days = (seconds / 86400) % 7;
|
||||
hours = (seconds / 3600) % 24;
|
||||
minutes = (seconds / 60) % 60;
|
||||
seconds %= 60;
|
||||
|
||||
if (years)
|
||||
snprintf(ret, sizeof(ret), "%luy %luw %lud", years, weeks, days);
|
||||
else if (weeks)
|
||||
snprintf(ret, sizeof(ret), "%luw %lud %luh", weeks, days, hours);
|
||||
else if (days)
|
||||
snprintf(ret, sizeof(ret), "%lud %luh %lum", days, hours, minutes);
|
||||
else if (hours)
|
||||
snprintf(ret, sizeof(ret), "%luh %lum", hours, minutes);
|
||||
else if (minutes)
|
||||
snprintf(ret, sizeof(ret), "%lum %lus", minutes, (long unsigned) seconds);
|
||||
else
|
||||
snprintf(ret, sizeof(ret), "%lus", (long unsigned) seconds);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void event_ban_list(IRC_SERVER_REC *server, const char *data)
|
||||
{
|
||||
IRC_CHANNEL_REC *chanrec;
|
||||
|
|
|
@ -73,6 +73,38 @@ const char *fe_channel_skip_prefix(IRC_SERVER_REC *server, const char *target)
|
|||
return target;
|
||||
}
|
||||
|
||||
/* Get time elapsed since an event */
|
||||
char *time_ago(time_t seconds)
|
||||
{
|
||||
static char ret[128];
|
||||
long unsigned years, weeks, days, hours, minutes;
|
||||
|
||||
seconds = time(NULL) - seconds;
|
||||
|
||||
years = seconds / (86400 * 365);
|
||||
seconds %= (86400 * 365);
|
||||
weeks = seconds / 604800;
|
||||
days = (seconds / 86400) % 7;
|
||||
hours = (seconds / 3600) % 24;
|
||||
minutes = (seconds / 60) % 60;
|
||||
seconds %= 60;
|
||||
|
||||
if (years)
|
||||
snprintf(ret, sizeof(ret), "%luy %luw %lud", years, weeks, days);
|
||||
else if (weeks)
|
||||
snprintf(ret, sizeof(ret), "%luw %lud %luh", weeks, days, hours);
|
||||
else if (days)
|
||||
snprintf(ret, sizeof(ret), "%lud %luh %lum", days, hours, minutes);
|
||||
else if (hours)
|
||||
snprintf(ret, sizeof(ret), "%luh %lum", hours, minutes);
|
||||
else if (minutes)
|
||||
snprintf(ret, sizeof(ret), "%lum %lus", minutes, (long unsigned) seconds);
|
||||
else
|
||||
snprintf(ret, sizeof(ret), "%lus", (long unsigned) seconds);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void sig_channel_rejoin(SERVER_REC *server, REJOIN_REC *rec)
|
||||
{
|
||||
g_return_if_fail(rec != NULL);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
int fe_channel_is_opchannel(IRC_SERVER_REC *server, const char *target);
|
||||
const char *fe_channel_skip_prefix(IRC_SERVER_REC *server, const char *target);
|
||||
char *time_ago(time_t seconds);
|
||||
|
||||
void fe_irc_channels_init(void);
|
||||
void fe_irc_channels_deinit(void);
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
#include <irssi/src/fe-common/core/window-items.h>
|
||||
#include <irssi/src/fe-common/core/printtext.h>
|
||||
#include <irssi/src/fe-common/core/keyboard.h>
|
||||
#include <irssi/src/fe-common/irc/fe-irc-channels.h>
|
||||
|
||||
/* SYNTAX: ME <message> */
|
||||
static void cmd_me(const char *data, IRC_SERVER_REC *server, WI_ITEM_REC *item)
|
||||
|
@ -224,15 +225,16 @@ static void bans_show_channel(IRC_CHANNEL_REC *channel, IRC_SERVER_REC *server)
|
|||
/* show bans.. */
|
||||
counter = 1;
|
||||
for (tmp = channel->banlist; tmp != NULL; tmp = tmp->next) {
|
||||
char *timestr, *ago;
|
||||
BAN_REC *rec = tmp->data;
|
||||
timestr = my_asctime(rec->time);
|
||||
ago = time_ago(rec->time);
|
||||
|
||||
printformat(server, channel->visible_name, MSGLEVEL_CRAP,
|
||||
(rec->setby == NULL || *rec->setby == '\0') ?
|
||||
IRCTXT_BANLIST : IRCTXT_BANLIST_LONG,
|
||||
counter, channel->visible_name,
|
||||
rec->ban, rec->setby,
|
||||
(int) (time(NULL)-rec->time));
|
||||
counter++;
|
||||
(rec->setby == NULL || *rec->setby == '\0') ? IRCTXT_BANLIST :
|
||||
IRCTXT_BANLIST_LONG,
|
||||
counter, channel->visible_name, rec->ban, rec->setby, ago, timestr);
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -110,6 +110,8 @@ static void cmd_window_hidelevel(const char *data)
|
|||
printformat_window(active_win, MSGLEVEL_CLIENTNOTICE,
|
||||
TXT_WINDOW_HIDELEVEL, level);
|
||||
g_free(level);
|
||||
|
||||
signal_emit("window hidelevel changed", 1, active_win);
|
||||
}
|
||||
|
||||
static void cmd_scrollback(const char *data, SERVER_REC *server,
|
||||
|
|
Loading…
Reference in New Issue
Block a user