start on config file implementation
This commit is contained in:
		
							parent
							
								
									2d30ac51c6
								
							
						
					
					
						commit
						226f39f08a
					
				
							
								
								
									
										2
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								config.h
									
									
									
									
									
								
							@ -43,8 +43,6 @@ static const char *colors[16] = {
 | 
				
			|||||||
#define CURSOR_BLINK SYSTEM // SYSTEM, ON or OFF
 | 
					#define CURSOR_BLINK SYSTEM // SYSTEM, ON or OFF
 | 
				
			||||||
#define CURSOR_SHAPE BLOCK  // BLOCK, UNDERLINE or IBEAM
 | 
					#define CURSOR_SHAPE BLOCK  // BLOCK, UNDERLINE or IBEAM
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const bool resize_grip = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static const bool scroll_on_output = false;
 | 
					static const bool scroll_on_output = false;
 | 
				
			||||||
static const bool scroll_on_keystroke = true;
 | 
					static const bool scroll_on_keystroke = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										21
									
								
								termite.c
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								termite.c
									
									
									
									
									
								
							@ -245,6 +245,24 @@ static gboolean position_overlay_cb(GtkBin *overlay, GtkWidget *widget, GdkRecta
 | 
				
			|||||||
    return TRUE;
 | 
					    return TRUE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void load_config(GtkWindow *window, VteTerminal *vte) {
 | 
				
			||||||
 | 
					    GError *error = NULL;
 | 
				
			||||||
 | 
					    GKeyFile *config = g_key_file_new();
 | 
				
			||||||
 | 
					    if (!g_key_file_load_from_file(config, "termite.cfg", G_KEY_FILE_NONE, &error)) {
 | 
				
			||||||
 | 
					        g_printerr("could not open config file: %s\n", error->message);
 | 
				
			||||||
 | 
					        g_error_free(error);
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        gboolean resize_grip = g_key_file_get_boolean(config, "options", "resize_grip", &error);
 | 
				
			||||||
 | 
					        if (error) {
 | 
				
			||||||
 | 
					            g_error_free(error);
 | 
				
			||||||
 | 
					            error = NULL;
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            gtk_window_set_has_resize_grip(GTK_WINDOW(window), resize_grip);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    g_key_file_free(config);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int main(int argc, char **argv) {
 | 
					int main(int argc, char **argv) {
 | 
				
			||||||
    GError *error = NULL;
 | 
					    GError *error = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -332,6 +350,8 @@ int main(int argc, char **argv) {
 | 
				
			|||||||
    g_signal_connect(entry,   "key-press-event",    G_CALLBACK(entry_key_press_cb), &info);
 | 
					    g_signal_connect(entry,   "key-press-event",    G_CALLBACK(entry_key_press_cb), &info);
 | 
				
			||||||
    g_signal_connect(overlay, "get-child-position", G_CALLBACK(position_overlay_cb), NULL);
 | 
					    g_signal_connect(overlay, "get-child-position", G_CALLBACK(position_overlay_cb), NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    load_config(GTK_WINDOW(window), VTE_TERMINAL(vte));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    vte_terminal_set_scrollback_lines(VTE_TERMINAL(vte), scrollback_lines);
 | 
					    vte_terminal_set_scrollback_lines(VTE_TERMINAL(vte), scrollback_lines);
 | 
				
			||||||
    vte_terminal_set_font_from_string(VTE_TERMINAL(vte), font);
 | 
					    vte_terminal_set_font_from_string(VTE_TERMINAL(vte), font);
 | 
				
			||||||
    vte_terminal_set_scroll_on_output(VTE_TERMINAL(vte), scroll_on_output);
 | 
					    vte_terminal_set_scroll_on_output(VTE_TERMINAL(vte), scroll_on_output);
 | 
				
			||||||
@ -341,7 +361,6 @@ int main(int argc, char **argv) {
 | 
				
			|||||||
    vte_terminal_set_mouse_autohide(VTE_TERMINAL(vte), mouse_autohide);
 | 
					    vte_terminal_set_mouse_autohide(VTE_TERMINAL(vte), mouse_autohide);
 | 
				
			||||||
    vte_terminal_set_cursor_shape(VTE_TERMINAL(vte), CONCAT2(VTE_CURSOR_SHAPE_, CURSOR_SHAPE));
 | 
					    vte_terminal_set_cursor_shape(VTE_TERMINAL(vte), CONCAT2(VTE_CURSOR_SHAPE_, CURSOR_SHAPE));
 | 
				
			||||||
    vte_terminal_set_cursor_blink_mode(VTE_TERMINAL(vte), CONCAT2(VTE_CURSOR_BLINK_, CURSOR_BLINK));
 | 
					    vte_terminal_set_cursor_blink_mode(VTE_TERMINAL(vte), CONCAT2(VTE_CURSOR_BLINK_, CURSOR_BLINK));
 | 
				
			||||||
    gtk_window_set_has_resize_grip(GTK_WINDOW(window), resize_grip);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef TRANSPARENCY
 | 
					#ifdef TRANSPARENCY
 | 
				
			||||||
    GdkScreen *screen = gtk_widget_get_screen(window);
 | 
					    GdkScreen *screen = gtk_widget_get_screen(window);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								termite.cfg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								termite.cfg
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					[options]
 | 
				
			||||||
 | 
					resize_grip = false
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user