diff options
| -rw-r--r-- | fastiv.c | 25 | 
1 files changed, 16 insertions, 9 deletions
| @@ -873,9 +873,19 @@ make_view_toolbar(void)  	// GtkStatusBar solves a problem we do not have here.  	GtkWidget *view_toolbar = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); +	gtk_widget_set_name(view_toolbar, "toolbar");  	GtkBox *box = GTK_BOX(view_toolbar); -	for (int i = 0; i < TOOLBAR_COUNT; i++) + +	// Exploring different versions of awkward layouts. +	for (int i = 0; i <= TOOLBAR_S1; i++)  		gtk_box_pack_start(box, g.toolbar[i], FALSE, FALSE, 0); +	for (int i = TOOLBAR_COUNT; --i >= TOOLBAR_S6; ) +		gtk_box_pack_end(box, g.toolbar[i], FALSE, FALSE, 0); + +	GtkWidget *center = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); +	for (int i = TOOLBAR_S1; ++i < TOOLBAR_S6; ) +		gtk_box_pack_start(GTK_BOX(center), g.toolbar[i], FALSE, FALSE, 0); +	gtk_box_set_center_widget(box, center);  	toolbar_connect(TOOLBAR_BROWSE,        G_CALLBACK(switch_to_browser));  	toolbar_connect(TOOLBAR_FILE_PREVIOUS, G_CALLBACK(on_previous)); @@ -971,15 +981,14 @@ main(int argc, char *argv[])  	// This is incredibly broken https://stackoverflow.com/a/51054396/76313  	// thus resolving the problem using overlaps. -	// XXX: button.flat is too generic, it's only for the view toolbar. -	// XXX: Similarly, box > separator.horizontal is a temporary hack. -	// Consider using a #name or a .class here, possibly for a parent widget.  	const char *style = "@define-color fiv-tile #3c3c3c; \  		fiv-view, fiv-browser { background: @content_view_bg; } \  		placessidebar.fiv .toolbar { padding: 2px 6px; } \  		placessidebar.fiv box > separator { margin: 4px 0; } \ -		button.flat { padding-left: 0; padding-right: 0 } \ -		box > separator.horizontal { \ +		#toolbar button { padding-left: 0; padding-right: 0; } \ +		#toolbar > button:first-child { padding-left: 4px; } \ +		#toolbar > button:last-child { padding-right: 4px; } \ +		#toolbar separator { \  			background: mix(@insensitive_fg_color, \  				@insensitive_bg_color, 0.4); margin: 6px 0; \  		} \ @@ -1019,11 +1028,9 @@ main(int argc, char *argv[])  	g_object_set(gtk_settings_get_default(),  		"gtk-application-prefer-dark-theme", TRUE, NULL); -	GtkWidget *view_toolbar = make_view_toolbar(); -	gtk_widget_set_halign(view_toolbar, GTK_ALIGN_CENTER); -  	// Need to put the toolbar at the top, because of the horizontal scrollbar.  	g.view_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); +	GtkWidget *view_toolbar = make_view_toolbar();  	gtk_box_pack_start(GTK_BOX(g.view_box), view_toolbar, FALSE, FALSE, 0);  	gtk_box_pack_start(GTK_BOX(g.view_box),  		gtk_separator_new(GTK_ORIENTATION_VERTICAL), FALSE, FALSE, 0); | 
