replaced magic numbers with macros
This commit is contained in:
parent
6da1698762
commit
313a2dee99
2 changed files with 79 additions and 28 deletions
89
render.cpp
89
render.cpp
|
@ -19,6 +19,38 @@
|
|||
#define SYM_LEFTBLK "\ue0b2"
|
||||
#define SYM_LEFT "\ue0b3"
|
||||
|
||||
#define COL_DEFAULT_FG 7
|
||||
#define COL_DEFAULT_BG 0
|
||||
#define COL_LOGIN_USER_FG 202
|
||||
#define COL_LOGIN_USER_BG 232
|
||||
#define COL_LOGIN_ROOT_FG 232
|
||||
#define COL_LOGIN_ROOT_BG 124
|
||||
#define COL_SCREEN_FG 232
|
||||
#define COL_SCREEN_BG 27
|
||||
#define COL_PATH_FG 202
|
||||
#define COL_PATH2_FG 232
|
||||
#define COL_PATH_BG 232
|
||||
#define COL_GIT_CLEAN_FG 232
|
||||
#define COL_GIT_CLEAN_BG 88
|
||||
#define COL_GIT_DIRTY_FG 232
|
||||
#define COL_GIT_DIRTY_BG 46
|
||||
#define COL_LOCK_FG 196
|
||||
#define COL_TIME_FG 202
|
||||
#define COL_TIME_BG 232
|
||||
#define COL_LOAD_OK_FG 202
|
||||
#define COL_LOAD_OK_BG 232
|
||||
#define COL_LOAD_WARN_FG 232
|
||||
#define COL_LOAD_WARN_BG 3
|
||||
#define COL_LOAD_HIGH_FG 232
|
||||
#define COL_LOAD_HIGH_BG 202
|
||||
#define COL_LOAD_OVER_FG 15
|
||||
#define COL_LOAD_OVER_BG 196
|
||||
#define COL_PROMPT_OK_FG 232
|
||||
#define COL_PROMPT_OK_BG 34
|
||||
#define COL_ERR_FG 15
|
||||
#define COL_ERR_BG 196
|
||||
|
||||
|
||||
#define PATH_MAX 4096
|
||||
|
||||
#ifndef uint
|
||||
|
@ -87,7 +119,7 @@ public:
|
|||
|
||||
this->segments = new Segment*[this->max];
|
||||
|
||||
this->set_colors(7, 0);
|
||||
this->set_colors(COL_DEFAULT_FG, COL_DEFAULT_BG);
|
||||
}
|
||||
|
||||
~Output(void) {
|
||||
|
@ -176,7 +208,7 @@ void render_screen(Output *output) {
|
|||
char *tmp = getenv("WINDOW");
|
||||
|
||||
if (tmp) {
|
||||
output->push(":");
|
||||
output->set_colors(COL_SCREEN_FG, COL_SCREEN_BG, SYM_RIGHTBLK);
|
||||
output->push(tmp);
|
||||
}
|
||||
}
|
||||
|
@ -210,11 +242,11 @@ void render_path(Output *output) {
|
|||
}
|
||||
|
||||
// render path with increasing background brightness
|
||||
uint fg = 202;
|
||||
uint bg = 233;
|
||||
uint fg = COL_PATH_FG;
|
||||
uint bg = COL_PATH_BG;
|
||||
|
||||
for (uint i = 0; i < token_count; i++) {
|
||||
if (bg == 241) fg = 232;
|
||||
if (bg == 241) fg = COL_PATH2_FG;
|
||||
|
||||
if (bg < 255) {
|
||||
output->set_colors(fg, bg++, SYM_RIGHTBLK);
|
||||
|
@ -244,9 +276,9 @@ void render_git(Output *output) {
|
|||
|
||||
// so that I can check if there are unstaged changes
|
||||
if (system("git diff-files --quiet --ignore-submodules")) {
|
||||
output->set_colors(232, 88, SYM_RIGHTBLK);
|
||||
output->set_colors(COL_GIT_CLEAN_FG, COL_GIT_CLEAN_BG, SYM_RIGHTBLK);
|
||||
} else {
|
||||
output->set_colors(232, 46, SYM_RIGHTBLK);
|
||||
output->set_colors(COL_GIT_DIRTY_FG, COL_GIT_DIRTY_BG, SYM_RIGHTBLK);
|
||||
}
|
||||
|
||||
output->push(SYM_GIT);
|
||||
|
@ -262,7 +294,9 @@ void render_git(Output *output) {
|
|||
|
||||
void render_lock(Output *output) {
|
||||
if (access(".", W_OK) != 0) {
|
||||
output->set_colors(196, 232, SYM_RIGHTBLK);
|
||||
// output->set_colors(COL_LOCK_FG, COL_LOCK_BG, SYM_RIGHTBLK);
|
||||
output->_push_color(COL_LOCK_FG);
|
||||
output->push(" ");
|
||||
output->push(SYM_LOCK);
|
||||
}
|
||||
}
|
||||
|
@ -301,24 +335,24 @@ void render_sysload(Output *output) {
|
|||
|
||||
if (getloadavg(&load, 1) == 1) {
|
||||
if (load > 12) {
|
||||
bg = 196;
|
||||
fg = 15;
|
||||
fg = COL_LOAD_OVER_FG;
|
||||
bg = COL_LOAD_OVER_BG;
|
||||
} else if (load > 8) {
|
||||
bg = 88;
|
||||
fg = 15;
|
||||
fg = COL_LOAD_HIGH_FG;
|
||||
bg = COL_LOAD_HIGH_BG;
|
||||
} else if (load > 4) {
|
||||
bg = 3;
|
||||
fg = 232;
|
||||
fg = COL_LOAD_WARN_FG;
|
||||
bg = COL_LOAD_WARN_BG;
|
||||
} else {
|
||||
bg = 34;
|
||||
fg = 232;
|
||||
fg = COL_LOAD_OK_FG;
|
||||
bg = COL_LOAD_OK_BG;
|
||||
}
|
||||
|
||||
output->set_colors(fg, bg, SYM_RIGHTBLK);
|
||||
sprintf(tmp, "%.2f", load);
|
||||
output->push(tmp);
|
||||
} else {
|
||||
output->set_colors(15, 196, SYM_RIGHTBLK);
|
||||
output->set_colors(COL_ERR_FG, COL_ERR_BG, SYM_RIGHTBLK);
|
||||
output->push("ERR");
|
||||
}
|
||||
}
|
||||
|
@ -344,36 +378,35 @@ int main(int argc, char **argv) {
|
|||
char buf[PATH_MAX];
|
||||
|
||||
if (config.is_root) {
|
||||
top_left.set_colors(232, 124); // red bg
|
||||
top_left.set_colors(COL_LOGIN_ROOT_FG, COL_LOGIN_ROOT_BG);
|
||||
} else {
|
||||
top_left.set_colors(232, 202); // aware orange bg
|
||||
top_left.set_colors(COL_LOGIN_USER_FG, COL_LOGIN_USER_BG);
|
||||
}
|
||||
|
||||
top_left.push(" ");
|
||||
top_left.push(getlogin());
|
||||
|
||||
top_left.set_colors(202, 232, SYM_RIGHTBLK);
|
||||
top_left.push("@");
|
||||
|
||||
gethostname(buf, 256);
|
||||
top_left.push(buf);
|
||||
|
||||
render_screen(&top_left);
|
||||
render_path(&top_left);
|
||||
render_git(&top_left);
|
||||
render_lock(&top_left);
|
||||
render_git(&top_left);
|
||||
|
||||
top_left.set_colors(7, 0, SYM_RIGHTBLK);
|
||||
top_left.set_colors(COL_DEFAULT_FG, COL_DEFAULT_BG, SYM_RIGHTBLK);
|
||||
|
||||
/* --------------------------------------------------
|
||||
* prompt: [last_exit_status:]$|# >
|
||||
*/
|
||||
|
||||
if (config.last_exit_status) {
|
||||
prompt.set_colors(7, 88);
|
||||
prompt.set_colors(COL_ERR_FG, COL_ERR_BG);
|
||||
prompt.push(" ");
|
||||
prompt.push(config.last_exit_status);
|
||||
} else {
|
||||
prompt.set_colors(232, 34);
|
||||
prompt.set_colors(COL_PROMPT_OK_FG, COL_PROMPT_OK_BG);
|
||||
prompt.push(" ");
|
||||
|
||||
if (config.is_root) {
|
||||
|
@ -383,16 +416,16 @@ int main(int argc, char **argv) {
|
|||
}
|
||||
}
|
||||
|
||||
prompt.set_colors(7, 0, SYM_RIGHTBLK);
|
||||
prompt.set_colors(COL_DEFAULT_FG, COL_DEFAULT_BG, SYM_RIGHTBLK);
|
||||
|
||||
/* --------------------------------------------------
|
||||
* top_right: < time < spaces < sysload
|
||||
*/
|
||||
|
||||
top_right.set_colors(232, 202, SYM_LEFTBLK, false);
|
||||
top_right.set_colors(COL_TIME_FG, COL_TIME_BG, SYM_LEFTBLK, false);
|
||||
render_time(&top_right);
|
||||
render_sysload(&top_right);
|
||||
top_right.set_colors(7, 0, SYM_RIGHTBLK);
|
||||
top_right.set_colors(COL_DEFAULT_FG, COL_DEFAULT_BG, SYM_RIGHTBLK);
|
||||
|
||||
/* --------------------------------------------------
|
||||
* output the prompt
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue