From ad0b403caa61c3f1c07698ffe6952588861d98c2 Mon Sep 17 00:00:00 2001
From: KatolaZ <katolaz@freaknet.org>
Date: Sat, 20 Jul 2019 10:49:14 +0100
Subject: small changes to status bar + remove trailing blanks

---
 gramscii.c | 53 ++++++++++++++++++++++++++++-------------------------
 1 file changed, 28 insertions(+), 25 deletions(-)

diff --git a/gramscii.c b/gramscii.c
index fb2efa4..ce97462 100644
--- a/gramscii.c
+++ b/gramscii.c
@@ -106,18 +106,21 @@ char* state_str(){
 		default:
 			return "ERR";
 	}
-	return "ERR";	
+	return "ERR";
 }
 
 
 void status_bar(){
-	
+
 	printf("\033[%d;1f\033[7m", HEIGHT+1);
 	printf("%100s", " ");
 	printf("\033[%d;1f\033[7m", HEIGHT+1);
-	printf(" x: %3d y: %3d -- mode: %4s hl: %c vl: %c cn: %c <: %c >: %c %10s", 
+	printf(" x:%3d y:%3d -- MODE:%4s HL:%c VL:%c CN:%c SM:%c EM:%c %10s",
 		x, y, state_str(), line_h, line_v, corner, mark_st, mark_end, "");
-	printf(" [%s]", fname );
+	if (!modified)
+		printf(" [%s]", fname );
+	else
+		printf(" *%s*", fname );
 	printf("\033[0m");
 }
 
@@ -169,7 +172,7 @@ void set_xy(int x, int y, char c){
 void draw_xy(int x, int y, char c){
 	/* FIXME: check if x and y are valid!!!! */
 	printf("\033[%d;%df",y+1,x+1);
-	putchar(c);	
+	putchar(c);
 }
 
 void update_current(){
@@ -194,7 +197,7 @@ void check_bound(){
 	if (x<0) x=0;
 	else if (x>=WIDTH) x = WIDTH-1;
 	if (y<0) y=0;
-	else if (y>=HEIGHT) y = HEIGHT -1; 
+	else if (y>=HEIGHT) y = HEIGHT -1;
 }
 
 void init_screen(){
@@ -215,7 +218,7 @@ void init_screen(){
 
 void redraw(){
 	int i;
-	
+
 	printf("\033[2J\033[1;1H");
 	for (i=0;i<HEIGHT;i++){
 		fprintf(stdout,"%s\n",screen[i]);
@@ -228,10 +231,10 @@ int move_around(char c){
 
 	switch(c){
 		case 'H': step = 5;
-		case 'h': 
+		case 'h':
 			dir = DIR_L;
 			x -= step;
-			break;	
+			break;
 		case 'J': step = 5;
 		case 'j':
 			dir = DIR_D;
@@ -286,11 +289,11 @@ void toggle_hline(){
 
 	cur_hl = (cur_hl + 1) % hlines_sz;
 	line_h = hlines[cur_hl];
-	
+
 }
 
 void toggle_corner(){
-	
+
 	cur_corn = (cur_corn + 1 ) % corners_sz;
 	corner = corners[cur_corn];
 
@@ -304,13 +307,13 @@ void toggle_vline(){
 }
 
 void toggle_st_mark(){
-	
+
 	cur_start = (cur_start + 1 ) % stmarks_sz;
 	mark_st = st_marks[cur_start];
 }
 
 void toggle_end_mark(){
-	
+
 	cur_end = (cur_end+ 1 ) % endmarks_sz;
 	mark_end = end_marks[cur_end];
 }
@@ -323,12 +326,12 @@ void init(){
 	signal(SIGINT, cleanup);
 	signal(SIGTERM, cleanup);
 	signal(SIGQUIT, cleanup);
-	
+
 	tcgetattr(0, &t1);
 	t2 = t1;
 	t2.c_lflag &= ~(ICANON | ECHO);
 	tcsetattr(0, TCSANOW, &t2);
-	
+
 	init_screen();
 	x = WIDTH/2;
 	y = HEIGHT/2;
@@ -343,7 +346,7 @@ void init(){
 void get_text(){
 	char c;
 	int orig_x = x;
-	
+
 	redraw();
 	while((c=getchar())!=EOF && c != 27){
 		if(c=='\n'){
@@ -377,7 +380,7 @@ void draw_box(int x1, int y1, int fix){
 		f = set_xy;
 	else
 		f = draw_xy;
-	
+
 	xmin = MIN(x, x1);
 	xmax = MAX(x, x1);
 	ymin = MIN(y, y1);
@@ -429,7 +432,7 @@ void draw_arrow(int x, int y, char *a, int a_len, int fix){
 	char line;
 	void (*f)(int, int, char);
 
-		
+
 	if (fix == FIX)
 		f = set_xy;
 	else
@@ -454,7 +457,7 @@ void draw_arrow(int x, int y, char *a, int a_len, int fix){
 			line = (a[i] & DIR_L) || (a[i] & DIR_R) ? line_h : line_v;
 			x += progr_x(a[i]);
 			y += progr_y(a[i]);
-			f(x, y, line); 
+			f(x, y, line);
 		}
 		/* f(x,y,mark_end);*/
 		cur_dir = a[i];
@@ -476,7 +479,7 @@ void get_arrow(){
 	}
 	arrow_len = 0;
 	dir = DIR_N;
-	
+
 	redraw();
 	step = 1;
 	draw_arrow(x,y, arrow, 0, NOFIX);
@@ -549,7 +552,7 @@ void delete(){
 void write_file(){
 	FILE *f;
 	int i;
-	
+
 	if (!fname[0] || force_new){
 		get_string("Write to: ", fname, 255);
 		if (f=fopen(fname, "r")){
@@ -612,6 +615,8 @@ void new_file(){
 	modified=0;
 }
 
+/*** Commands ***/
+
 void commands(){
 
 	char c;
@@ -664,10 +669,10 @@ void commands(){
 			case '|':
 				toggle_vline();
 				break;
-			case '+': 
+			case '+':
 				toggle_corner();
 				break;
-			case '<': 
+			case '<':
 				toggle_st_mark();
 				break;
 			case '>':
@@ -690,8 +695,6 @@ void commands(){
 }
 
 
-
-
 int main(int argc, char *argv[]){
 
 	init();
-- 
cgit v1.2.3