In-progress browser for a directory of text files
on.mouse_release = function(x,y, mouse_button)
	if Global_state.thread == nil then
		-- file picker
		-- check for any button clicks
		-- compute_layout reuses nodes and so it fills in x,y for us
		for _,button in ipairs(Global_state.file_picker) do
			if in_rect(button, x,y) then
				open_thread(button.data[1].data)
				A()
				return
			end
		end
	end
	if Pan then
		-- HACK: shared by file picker and thread view
		Pan = nil
		A()
	elseif Cursor_node then
		-- thread view
		Cursor_node.show_cursor = true
		edit.mouse_release(Cursor_node.editor, x,y, mouse_button)
	end
end