log: separate termpty logging from the rest.
Make raster the-crying-baby stop complain about log. Now we can have only termpty logging, with a short format, by using: {{{ export EINA_LOG_FILE_DISABLE=1 export EINA_LOG_LEVELS=termpty:4 terminology }}} SVN revision: 72503
This commit is contained in:
parent
b99a543304
commit
e0e7fbfd94
|
@ -986,6 +986,8 @@ _smart_del(Evas_Object *obj)
|
|||
sd->imf = NULL;
|
||||
ecore_imf_shutdown();
|
||||
|
||||
termpty_shutdown();
|
||||
|
||||
_parent_sc.del(obj);
|
||||
evas_object_smart_data_set(obj, NULL);
|
||||
}
|
||||
|
@ -1146,6 +1148,8 @@ termio_add(Evas_Object *parent, Config *config, const char *cmd, int w, int h)
|
|||
|
||||
_termio_config_set(obj, config);
|
||||
|
||||
termpty_init();
|
||||
|
||||
sd->pty = termpty_new(cmd, w, h, config->scrollback);
|
||||
sd->pty->cb.change.func = _smart_pty_change;
|
||||
sd->pty->cb.change.data = obj;
|
||||
|
|
|
@ -10,6 +10,39 @@
|
|||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
/* specific log domain to help debug only terminal code parser */
|
||||
static int _termpty_log_dom = -1;
|
||||
|
||||
#undef CRITICAL
|
||||
#undef ERR
|
||||
#undef WRN
|
||||
#undef INF
|
||||
#undef DBG
|
||||
|
||||
#define CRITICAL(...) EINA_LOG_DOM_CRIT(_termpty_log_dom, __VA_ARGS__)
|
||||
#define ERR(...) EINA_LOG_DOM_ERR(_termpty_log_dom, __VA_ARGS__)
|
||||
#define WRN(...) EINA_LOG_DOM_WARN(_termpty_log_dom, __VA_ARGS__)
|
||||
#define INF(...) EINA_LOG_DOM_INFO(_termpty_log_dom, __VA_ARGS__)
|
||||
#define DBG(...) EINA_LOG_DOM_DBG(_termpty_log_dom, __VA_ARGS__)
|
||||
|
||||
void
|
||||
termpty_init(void)
|
||||
{
|
||||
if (_termpty_log_dom >= 0) return;
|
||||
|
||||
_termpty_log_dom = eina_log_domain_register("termpty", NULL);
|
||||
if (_termpty_log_dom < 0)
|
||||
EINA_LOG_CRIT("could not create log domain 'termpty'.");
|
||||
}
|
||||
|
||||
void
|
||||
termpty_shutdown(void)
|
||||
{
|
||||
if (_termpty_log_dom < 0) return;
|
||||
eina_log_domain_unregister(_termpty_log_dom);
|
||||
_termpty_log_dom = -1;
|
||||
}
|
||||
|
||||
static void
|
||||
_text_clear(Termpty *ty, Termcell *cells, int count, int val, Eina_Bool inherit_att)
|
||||
{
|
||||
|
@ -143,7 +176,7 @@ _text_scroll_rev_test(Termpty *ty)
|
|||
/* translates VT100 ACS escape codes to Unicode values.
|
||||
* Based on rxvt-unicode screen.C table.
|
||||
*/
|
||||
static int vt100_to_unicode[62] = {
|
||||
static const int vt100_to_unicode[62] = {
|
||||
0x2191, 0x2193, 0x2192, 0x2190, 0x2588, 0x259a, 0x2603,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
|
|
|
@ -99,6 +99,9 @@ struct _Termsave
|
|||
Termcell cell[1];
|
||||
};
|
||||
|
||||
void termpty_init(void);
|
||||
void termpty_shutdown(void);
|
||||
|
||||
Termpty *termpty_new(const char *cmd, int w, int h, int backscroll);
|
||||
void termpty_free(Termpty *ty);
|
||||
Termcell *termpty_cellrow_get(Termpty *ty, int y, int *wret);
|
||||
|
|
Loading…
Reference in New Issue