Compare commits
	
		
			2 Commits
		
	
	
		
			v1.0.0
			...
			bdd18fc898
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						bdd18fc898
	
				 | 
					
					
						|||
| 
						
						
							
						
						cf6ded1d03
	
				 | 
					
					
						
@@ -1,7 +1,7 @@
 | 
				
			|||||||
//
 | 
					//
 | 
				
			||||||
// fiv-browser.c: filesystem browsing widget
 | 
					// fiv-browser.c: filesystem browsing widget
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// Copyright (c) 2021 - 2024, Přemysl Eric Janouch <p@janouch.name>
 | 
					// Copyright (c) 2021 - 2025, Přemysl Eric Janouch <p@janouch.name>
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// Permission to use, copy, modify, and/or distribute this software for any
 | 
					// Permission to use, copy, modify, and/or distribute this software for any
 | 
				
			||||||
// purpose with or without fee is hereby granted.
 | 
					// purpose with or without fee is hereby granted.
 | 
				
			||||||
@@ -1323,10 +1323,14 @@ fiv_browser_button_release_event(GtkWidget *widget, GdkEventButton *event)
 | 
				
			|||||||
	if (!entry || entry != entry_at(self, event->x, event->y))
 | 
						if (!entry || entry != entry_at(self, event->x, event->y))
 | 
				
			||||||
		return GDK_EVENT_PROPAGATE;
 | 
							return GDK_EVENT_PROPAGATE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						GdkModifierType primary = gdk_keymap_get_modifier_mask(
 | 
				
			||||||
 | 
							gdk_keymap_get_for_display(gtk_widget_get_display(widget)),
 | 
				
			||||||
 | 
							GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	guint state = event->state & gtk_accelerator_get_default_mod_mask();
 | 
						guint state = event->state & gtk_accelerator_get_default_mod_mask();
 | 
				
			||||||
	if ((event->button == GDK_BUTTON_PRIMARY && state == 0))
 | 
						if ((event->button == GDK_BUTTON_PRIMARY && state == 0))
 | 
				
			||||||
		return open_entry(widget, entry, FALSE);
 | 
							return open_entry(widget, entry, FALSE);
 | 
				
			||||||
	if ((event->button == GDK_BUTTON_PRIMARY && state == GDK_CONTROL_MASK) ||
 | 
						if ((event->button == GDK_BUTTON_PRIMARY && state == primary) ||
 | 
				
			||||||
		(event->button == GDK_BUTTON_MIDDLE && state == 0))
 | 
							(event->button == GDK_BUTTON_MIDDLE && state == 0))
 | 
				
			||||||
		return open_entry(widget, entry, TRUE);
 | 
							return open_entry(widget, entry, TRUE);
 | 
				
			||||||
	return GDK_EVENT_PROPAGATE;
 | 
						return GDK_EVENT_PROPAGATE;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -382,6 +382,9 @@ on_monitor_changed(G_GNUC_UNUSED GFileMonitor *monitor, GFile *file,
 | 
				
			|||||||
	switch (event_type) {
 | 
						switch (event_type) {
 | 
				
			||||||
	case G_FILE_MONITOR_EVENT_CHANGED:
 | 
						case G_FILE_MONITOR_EVENT_CHANGED:
 | 
				
			||||||
	case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
 | 
						case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
 | 
				
			||||||
 | 
							// On macOS, we seem to not receive _CHANGED for child files.
 | 
				
			||||||
 | 
							// And while this seems to arrive too early, it's a mild improvement.
 | 
				
			||||||
 | 
						case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
 | 
				
			||||||
		event = MONITOR_CHANGING;
 | 
							event = MONITOR_CHANGING;
 | 
				
			||||||
		new_entry_file = file;
 | 
							new_entry_file = file;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
@@ -400,8 +403,6 @@ on_monitor_changed(G_GNUC_UNUSED GFileMonitor *monitor, GFile *file,
 | 
				
			|||||||
		new_entry_file = file;
 | 
							new_entry_file = file;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
 | 
					 | 
				
			||||||
		// TODO(p): Figure out if we can't make use of _CHANGES_DONE_HINT.
 | 
					 | 
				
			||||||
	case G_FILE_MONITOR_EVENT_PRE_UNMOUNT:
 | 
						case G_FILE_MONITOR_EVENT_PRE_UNMOUNT:
 | 
				
			||||||
	case G_FILE_MONITOR_EVENT_UNMOUNTED:
 | 
						case G_FILE_MONITOR_EVENT_UNMOUNTED:
 | 
				
			||||||
		// TODO(p): Figure out how to handle _UNMOUNTED sensibly.
 | 
							// TODO(p): Figure out how to handle _UNMOUNTED sensibly.
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user