Here is a solution that would make both ours and many other workflows possible: the first time you access a remote folder, Thunar asks the user if they want the folder path to be remembered and "bookmarked", with a checkbox on the message to dismiss this message next time you'll be accessing a remote folder.
So you would need to store that information as metadata on the folder. Specially for remote-folders, depending on the used URI, it often is not possible to store metadata.
- people who work with many different remote folders will only ever bothered once (your workflow)
Once for each remote folder ... that is actually a lot for various use-cases. I don't even want to bother people once for each remote server, since depending on the way thunar is used, people might connect to various different systems.
So sorry, still a "No" from my side. I think it is reasonable that most user will just try to DnD a remote folder to the bookmarks side-bar or invoke the bookmarks menu. Remote folder look the same as local folders, so IMO it can be expected that they as well behave the same.
date modified / date last accessed / date created / date deleted for files in trash can all be enabled/disabled in list view.
All that info is as well available in the properties' dialog for each file.
and file identification?
Not sure what you mean with identification
.. in any case, this is an issue tracker, not the proper place for support requests. Next time please ask either in the Xfce Forum or via matrix channel.
Various times are available on my file system like create, last access, etc. Are these times available in Thunar particularly, to supporting sorting and file identification?
Various times are available on my file system like create, last access, etc. Are these times available in Thunar particularly, to supporting sorting and file identification?
Follow-up to tumbler#94. Here's what I did for ristretto: apps/ristretto@47a055d5.
GitBot (db2da604) at 26 Mar 23:46
I18n: Update translation ja (100%).
Sadly, i have myself far too much stuff going on. The xclip workaround is fine for now. Maybe someone else wants to?
I'm using Thunar 4.18.4. What i meant is that i didn't know bookmarking my remote folder would make it so Thunar remembers it: i thought bookmarking folders in a file-browser would only work for local folders, i didn't think it would work for remote ones because accessing remote folders through a local file browser seems unconventional to me. An it can very well be argued it is to many lambda users who never worked with remote folders before. This is what i said was unexplained or overlooked. From my previous experience, i'd have assumed Thunar to remember remote folders i accessed through it.
Sorry, but no. At work, I have to browse many different remote folders and different systems. I really don't want to get my shurtcut-pane messed with all of these.
We just have different workflows.
Here is a solution that would make both ours and many other workflows possible: the first time you access a remote folder, Thunar asks the user if they want the folder path to be remembered and "bookmarked", with a checkbox on the message to dismiss this message next time you'll be accessing a remote folder.
mkdir -p tree-crash/nested/
touch tree-crash/nested/1
thunar tree-crash/
tree-crash
folder in the side pane to reveal the nested
foldernested
folder in the side pane (or the main window) to open the foldernested
folder in the side pane and choose Move to Trash
to trigger a crashGtk-CRITICAL **: 20:58:11.381: file ../gtk/gtk/a11y/gtktreeviewaccessible.c: line 343 (set_cell_data): should not be reached
thunar-CRITICAL **: 20:58:11.382: thunar_tree_view_model_get_file: assertion 'iter->stamp == ((((ThunarTreeViewModel*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((model)), ((thunar_tree_view_model_get_type ()))))))->stamp' failed
thunar-CRITICAL **: 20:58:11.382: thunar_tree_view_model_iter_next: assertion 'iter->stamp == ((((ThunarTreeViewModel*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((model)), ((thunar_tree_view_model_get_type ()))))))->stamp' failed
There's a NULL pointer dereference in thunar_tree_view_model_iter_nth_child
:
Thread 1 "thunar" received signal SIGSEGV, Segmentation fault.
0x0000555555dfcec6 in thunar_tree_view_model_iter_nth_child (model=0x50e0000606e0, iter=0x7fffffffba80, parent=0x0, n=0) at thunar-tree-view-model.c:1489
1489 if (n >= node->n_children)
(gdb) p node
$1 = (Node *) 0x0
(gdb) bt
#0 0x0000555555dfcec6 in thunar_tree_view_model_iter_nth_child (model=0x50e0000606e0, iter=0x7fffffffba80, parent=0x0, n=0) at thunar-tree-view-model.c:1489
#1 0x00007ffff7502f93 in gtk_tree_row_reference_unref_path (path=0x5020004cbeb0, model=0x50e0000606e0, depth=1) at ../gtk/gtk/gtktreemodel.c:2288
#2 0x00007ffff7503310 in gtk_tree_row_reference_unref_path (depth=<optimized out>, model=<optimized out>, path=<optimized out>) at ../gtk/gtk/gtktreemodel.c:2285
#3 gtk_tree_row_reference_free (reference=0x503000906280) at ../gtk/gtk/gtktreemodel.c:2522
#4 gtk_tree_row_reference_free (reference=0x503000906280) at ../gtk/gtk/gtktreemodel.c:2496
#5 0x00007ffff752b290 in gtk_tree_view_set_model (model=0x0, tree_view=0x51900011a760 [ExoTreeView]) at ../gtk/gtk/gtktreeview.c:11525
#6 gtk_tree_view_set_model (tree_view=0x51900011a760 [ExoTreeView], model=0x0) at ../gtk/gtk/gtktreeview.c:11473
#7 0x00007ffff7a51672 in object_set_property
(object=object@entry=0x51900011a760 [ExoTreeView], pspec=pspec@entry=0x50b000062560 [GParamObject], value=value@entry=0x7fffffffbcc0, nqueue=nqueue@entry=0x5020005ca1f0, user_specified=user_specified@entry=1) at ../glib/gobject/gobject.c:1838
#8 0x00007ffff7a5480f in g_object_set_valist (var_args=0x7fffffffbd70, first_property_name=<optimized out>, object=<optimized out>) at ../glib/gobject/gobject.c:2780
#9 g_object_set_valist (object=<optimized out>, first_property_name=<optimized out>, var_args=0x7fffffffbd70) at ../glib/gobject/gobject.c:2741
#10 0x00007ffff7a54c99 in g_object_set (_object=0x51900011a760, first_property_name=0x555555886e40 <str> "model") at ../glib/gobject/gobject.c:2956
#11 0x0000555555d5b91a in thunar_standard_view_set_current_directory (navigator=0x51a0000a5a70, current_directory=0x51100008bc80 [ThunarFile]) at thunar-standard-view.c:1597
#12 0x0000555555c403c3 in thunar_navigator_set_current_directory (navigator=0x51a0000a5a70, current_directory=0x51100008bc80 [ThunarFile]) at thunar-navigator.c:193
#13 0x0000555555d3c019 in thunar_standard_view_set_property (object=0x51a0000a5a70 [ThunarDetailsView], prop_id=1, value=0x7fffffffc500, pspec=0x50b00006b670 [GParamObject])
at thunar-standard-view.c:1178
#14 0x00007ffff7a514fb in object_set_property
(object=object@entry=0x51a0000a5a70 [ThunarDetailsView], pspec=0x50b00006b670 [GParamObject], value=value@entry=0x7fffffffc500, nqueue=nqueue@entry=0x5020005ca0b0, user_specified=user_specified@entry=1) at ../glib/gobject/gobject.c:1811
#15 0x00007ffff7a543e2 in g_object_setv (values=<optimized out>, names=<optimized out>, n_properties=<optimized out>, object=0x51a0000a5a70 [ThunarDetailsView])
at ../glib/gobject/gobject.c:2722
#16 g_object_setv (object=0x51a0000a5a70 [ThunarDetailsView], n_properties=<optimized out>, names=<optimized out>, values=<optimized out>) at ../glib/gobject/gobject.c:2693
#17 0x00007ffff7a54620 in g_object_set_property (object=<optimized out>, property_name=<optimized out>, value=<optimized out>) at ../glib/gobject/gobject.c:3022
#18 0x00007ffff7a42c4d in on_source_notify (source=<optimized out>, pspec=<optimized out>, context=<optimized out>) at ../glib/gobject/gbinding.c:556
#19 0x00007ffff7a416c0 in g_closure_invoke (closure=0x507000158620, return_value=0x0, n_param_values=2, param_values=0x7fffffffc750, invocation_hint=0x7fffffffc6a0)
at ../glib/gobject/gclosure.c:832
#20 0x00007ffff7a6fa36 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7fffffffc840, detail=detail@entry=1465, instance=instance@entry=0x51a00001b2e0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffc750) at ../glib/gobject/gsignal.c:3980
#21 0x00007ffff7a60a42 in signal_emit_valist_unlocked (instance=instance@entry=0x51a00001b2e0, signal_id=signal_id@entry=1, detail=detail@entry=1465, var_args=var_args@entry=0x7fffffffc9a0)
at ../glib/gobject/gsignal.c:3612
#22 0x00007ffff7a60c77 in g_signal_emit_valist (instance=0x51a00001b2e0, signal_id=1, detail=1465, var_args=var_args@entry=0x7fffffffc9a0) at ../glib/gobject/gsignal.c:3355
#23 0x00007ffff7a60d34 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3675
#24 0x00007ffff7a4c636 in g_object_dispatch_properties_changed (object=0x51a00001b2e0 [ThunarWindow], n_pspecs=<optimized out>, pspecs=<optimized out>) at ../glib/gobject/gobject.c:1427
#25 0x00007ffff7a52d0f in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x51a00001b2e0 [ThunarWindow]) at ../glib/gobject/gobject.c:1551
#26 g_object_notify (property_name=<optimized out>, object=0x51a00001b2e0 [ThunarWindow]) at ../glib/gobject/gobject.c:1601
#27 g_object_notify (object=0x51a00001b2e0 [ThunarWindow], property_name=<optimized out>) at ../glib/gobject/gobject.c:1578
#28 0x0000555555e23d51 in thunar_window_set_current_directory (window=0x51a00001b2e0 [ThunarWindow], current_directory=0x51100008bc80 [ThunarFile]) at thunar-window.c:5233
#29 0x00007ffff7a416c0 in g_closure_invoke (closure=0x5070001583f0, return_value=0x0, n_param_values=2, param_values=0x7fffffffd030, invocation_hint=0x7fffffffcf80)
at ../glib/gobject/gclosure.c:832
#30 0x00007ffff7a6fa36 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7fffffffd120, detail=detail@entry=0, instance=instance@entry=0x51a0000a5a70, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffd030) at ../glib/gobject/gsignal.c:3980
#31 0x00007ffff7a60a42 in signal_emit_valist_unlocked (instance=instance@entry=0x51a0000a5a70, signal_id=signal_id@entry=363, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd280)
at ../glib/gobject/gsignal.c:3612
#32 0x00007ffff7a60c77 in g_signal_emit_valist (instance=0x51a0000a5a70, signal_id=363, detail=0, var_args=var_args@entry=0x7fffffffd280) at ../glib/gobject/gsignal.c:3355
#33 0x00007ffff7a60d34 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3675
#34 0x0000555555c40948 in thunar_navigator_change_directory (navigator=0x51a0000a5a70, directory=0x51100008bc80 [ThunarFile]) at thunar-navigator.c:223
#35 0x0000555555e1e26b in thunar_window_update_directories (window=0x51a00001b2e0 [ThunarWindow], old_directory=0x5110000da740 [ThunarFile], new_directory=0x51100008bc80 [ThunarFile])
at thunar-window.c:2989
#36 0x0000555555d56384 in thunar_standard_view_current_directory_destroy (current_directory=0x5110000da740 [ThunarFile], standard_view=0x51a0000a5a70 [ThunarDetailsView])
at thunar-standard-view.c:2363
#37 0x00007ffff7a416c0 in g_closure_invoke (closure=0x5070002525c0, return_value=0x0, n_param_values=1, param_values=0x7fffffffd860, invocation_hint=0x7fffffffd7b0)
at ../glib/gobject/gclosure.c:832
#38 0x00007ffff7a6fa36 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7fffffffd930, detail=detail@entry=0, instance=instance@entry=0x5110000da740, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffd860) at ../glib/gobject/gsignal.c:3980
#39 0x00007ffff7a60a42 in signal_emit_valist_unlocked (instance=instance@entry=0x5110000da740, signal_id=signal_id@entry=280, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffda90)
at ../glib/gobject/gsignal.c:3612
#40 0x00007ffff7a60c77 in g_signal_emit_valist (instance=0x5110000da740, signal_id=280, detail=0, var_args=var_args@entry=0x7fffffffda90) at ../glib/gobject/gsignal.c:3355
#41 0x00007ffff7a60d34 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3675
#42 0x0000555555b88fc4 in thunar_file_dispose (object=0x5110000da740 [ThunarFile]) at thunar-file.c:468
#43 0x00007ffff7a4f900 in g_object_run_dispose (object=0x5110000da740 [ThunarFile]) at ../glib/gobject/gobject.c:1447
#44 g_object_run_dispose (object=0x5110000da740 [ThunarFile]) at ../glib/gobject/gobject.c:1440
#45 0x0000555555b825f5 in thunar_file_destroy (file=0x5110000da740 [ThunarFile]) at thunar-file.c:4378
#46 0x0000555555b96748 in thunar_folder_monitor
(monitor=0x507000152250 [GInotifyFileMonitor], event_file=0x5030000043c0, other_file=0x0, event_type=G_FILE_MONITOR_EVENT_MOVED_OUT, user_data=0x50c000411a00) at thunar-folder.c:1007
#51 0x00007ffff7a60d34 in <emit signal 'changed' on instance 0x507000152250 [GInotifyFileMonitor]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>)
at ../glib/gobject/gsignal.c:3675
#47 0x00007ffff709a559 in _g_cclosure_marshal_VOID__OBJECT_OBJECT_ENUMv
(closure=0x5070001522d0, return_value=<optimized out>, instance=0x507000152250, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x503000441e80)
at ../glib/gio/gmarshal-internal.c:1382
#48 0x00007ffff7a60b73 in _g_closure_invoke_va
(param_types=0x503000441e80, n_params=<optimized out>, args=0x7fffffffe0e0, instance=0x507000152250, return_value=0x0, closure=0x5070001522d0) at ../glib/gobject/gclosure.c:895
#49 signal_emit_valist_unlocked (instance=instance@entry=0x507000152250, signal_id=signal_id@entry=409, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffe0e0)
at ../glib/gobject/gsignal.c:3516
#50 0x00007ffff7a60c77 in g_signal_emit_valist (instance=0x507000152250, signal_id=409, detail=0, var_args=var_args@entry=0x7fffffffe0e0) at ../glib/gobject/gsignal.c:3355
#52 0x00007ffff715ef2c in g_file_monitor_source_dispatch (source=0x51000004b340, callback=<optimized out>, user_data=<optimized out>) at ../glib/gio/glocalfilemonitor.c:582
#53 0x00007ffff6f34f69 in g_main_dispatch (context=0x50f000000310) at ../glib/glib/gmain.c:3476
#54 0x00007ffff6f933a7 in g_main_context_dispatch_unlocked (context=0x50f000000310) at ../glib/glib/gmain.c:4284
#55 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x50f000000310, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
#56 0x00007ffff6f33162 in g_main_context_iteration (context=context@entry=0x50f000000310, may_block=may_block@entry=1) at ../glib/glib/gmain.c:4414
#57 0x00007ffff7106b66 in g_application_run (application=0x514000000930 [ThunarApplication], argc=<optimized out>, argv=0x7fffffffe5d8) at ../glib/gio/gapplication.c:2577
#58 0x0000555555a63dcc in main (argc=2, argv=0x7fffffffe5d8) at main.c:86
Version: 421d2e67
Recently i found out i could bookmark it to Thunar's sidebar, which is useful in that it does retain both adress and my username and password, but is not easily understandable, nor explained, and can easily be overlooked
Not sure which version of thunar you are running … though I think meanwhile adding a bookmark is rather prominent in the menus:
My suggestion as the title states is that Thunar remembers previously accessed remote folders: folders you've already accessed through Thunar would appear in the left-side panel under the "Network" category.
Sorry, but no. At work, I have to browse many different remote folders and different systems. I really don't want to get my shurtcut-pane messed with all of these.
Possibly you are using thunar 4.16.x, where bookmarking indeed was a bit hidden. Since thunar 4.18 this should not be a problem anymore. --> closing
I'm trying to use Thunar to access a remote folder through WebDAV, on which i store some data that is important in my daily routine. Unfortunately, every time i restart my computer i have to enter the WebDAV URI in Thunar's adress bar again to access my remote folder. Recently i found out i could bookmark it to Thunar's sidebar, which is useful in that it does retain both adress and my username and password, but is not easily understandable, nor explained, and can easily be overlooked (as is Thunar's WebDAV integration in general i believe cf. #64) Automount would clearly also help but this was already suggested in #1281
My suggestion as the title states is that Thunar remembers previously accessed remote folders: folders you've already accessed through Thunar would appear in the left-side panel under the "Network" category.
Thanks a lot again for reporting and the trace! It looks like you are pretty good at breaking things
Fixed with above commit (fixes as well some other occasions where a NULL display_name might be problematic.
I noticed this bug while retesting #1321.
mkdir crash
touch crash/testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttA
thunar crash
crash
directory
while [ 1 ] ; do mv testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttA testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttB; mv testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttB testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttA; done
(thunar-tree-view-model.c:2251):thunar_tree_view_model_dir_remove_file: code should not be reached
The crash occurs when thunar_file_get_display_name
returns NULL in _thunar_tree_view_model_matches_search_terms
:
2946 static gboolean
2947 _thunar_tree_view_model_matches_search_terms (ThunarTreeViewModel *model,
2948 ThunarFile *file)
2949 {
2950 gboolean matched;
2951 gchar *name_n;
2952
2953 name_n = (gchar *) thunar_file_get_display_name (file);
2954 name_n = thunar_g_utf8_normalize_for_search (name_n, TRUE, TRUE);
#2 0x0000555555de81e5 in _thunar_tree_view_model_matches_search_terms (model=0x50e000055700, file=0x51100074b980) at thunar-tree-view-model.c:2954
(gdb) p name_n
$2 = (gchar *) 0x0
This leads to a NULL pointer dereference:
Thread 1 "thunar" received signal SIGSEGV, Segmentation fault.
g_utf8_validate (str=0x0, max_len=-1, end=0x0) at ../glib/glib/gutf8.c:1755
(gdb) bt
#0 g_utf8_validate (str=0x0, max_len=-1, end=0x0) at ../glib/glib/gutf8.c:1755
#1 0x0000555555ba8f91 in thunar_g_utf8_normalize_for_search (str=0x0, strip_diacritics=1, casefold=1) at thunar-gobject-extensions.c:210
#2 0x0000555555de81e5 in _thunar_tree_view_model_matches_search_terms (model=0x50e000055700, file=0x51100074b980) at thunar-tree-view-model.c:2954
#3 0x0000555555de6910 in thunar_tree_view_model_update_search_files (model=0x50e000055700) at thunar-tree-view-model.c:3011
#4 0x0000555555de621b in _thunar_tree_view_model_search_finished (job=0x50e000577700, model=0x50e000055700) at thunar-tree-view-model.c:1624
#5 0x00007ffff7a416c0 in g_closure_invoke (closure=0x50700079fde0, return_value=0x0, n_param_values=1, param_values=0x7fffffffdf30, invocation_hint=0x7fffffffde80)
at ../glib/gobject/gclosure.c:832
#6 0x00007ffff7a6fa36 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7fffffffe000, detail=detail@entry=0, instance=instance@entry=0x50e000577700, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffdf30) at ../glib/gobject/gsignal.c:3980
#7 0x00007ffff7a60a42 in signal_emit_valist_unlocked (instance=instance@entry=0x50e000577700, signal_id=signal_id@entry=449, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffe160)
at ../glib/gobject/gsignal.c:3612
#8 0x00007ffff7a60c77 in g_signal_emit_valist (instance=0x50e000577700, signal_id=449, detail=0, var_args=var_args@entry=0x7fffffffe160) at ../glib/gobject/gsignal.c:3355
#9 0x00007ffff7a60d34 in g_signal_emit (instance=instance@entry=0x50e000577700, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3675
#10 0x00007ffff7f47c90 in exo_job_finished (job=<optimized out>) at exo-job.c:437
#11 exo_job_async_ready (user_data=0x50e000577700) at exo-job.c:274
#12 exo_job_async_ready (user_data=0x50e000577700) at exo-job.c:255
#13 0x00007ffff6f34f69 in g_main_dispatch (context=0x50f000000310) at ../glib/glib/gmain.c:3476
#14 0x00007ffff6f933a7 in g_main_context_dispatch_unlocked (context=0x50f000000310) at ../glib/glib/gmain.c:4284
#15 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x50f000000310, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
#16 0x00007ffff6f33162 in g_main_context_iteration (context=context@entry=0x50f000000310, may_block=may_block@entry=1) at ../glib/glib/gmain.c:4414
#17 0x00007ffff7106b66 in g_application_run (application=0x514000000930, argc=<optimized out>, argv=0x7fffffffe5e8) at ../glib/gio/gapplication.c:2577
#18 0x0000555555a63c0c in main (argc=1, argv=0x7fffffffe5e8) at main.c:86
Version: 939876ab
Alexander Schwinn (421d2e67) at 25 Mar 20:26
Consider display_name=NULL cases (#1329)
I noticed this bug while retesting #1321.
mkdir crash
touch crash/testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttA
thunar crash
crash
directory
while [ 1 ] ; do mv testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttA testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttB; mv testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttB testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttA; done
(thunar-tree-view-model.c:2251):thunar_tree_view_model_dir_remove_file: code should not be reached
The crash occurs when thunar_file_get_display_name
returns NULL in _thunar_tree_view_model_matches_search_terms
:
2946 static gboolean
2947 _thunar_tree_view_model_matches_search_terms (ThunarTreeViewModel *model,
2948 ThunarFile *file)
2949 {
2950 gboolean matched;
2951 gchar *name_n;
2952
2953 name_n = (gchar *) thunar_file_get_display_name (file);
2954 name_n = thunar_g_utf8_normalize_for_search (name_n, TRUE, TRUE);
#2 0x0000555555de81e5 in _thunar_tree_view_model_matches_search_terms (model=0x50e000055700, file=0x51100074b980) at thunar-tree-view-model.c:2954
(gdb) p name_n
$2 = (gchar *) 0x0
This leads to a NULL pointer dereference:
Thread 1 "thunar" received signal SIGSEGV, Segmentation fault.
g_utf8_validate (str=0x0, max_len=-1, end=0x0) at ../glib/glib/gutf8.c:1755
(gdb) bt
#0 g_utf8_validate (str=0x0, max_len=-1, end=0x0) at ../glib/glib/gutf8.c:1755
#1 0x0000555555ba8f91 in thunar_g_utf8_normalize_for_search (str=0x0, strip_diacritics=1, casefold=1) at thunar-gobject-extensions.c:210
#2 0x0000555555de81e5 in _thunar_tree_view_model_matches_search_terms (model=0x50e000055700, file=0x51100074b980) at thunar-tree-view-model.c:2954
#3 0x0000555555de6910 in thunar_tree_view_model_update_search_files (model=0x50e000055700) at thunar-tree-view-model.c:3011
#4 0x0000555555de621b in _thunar_tree_view_model_search_finished (job=0x50e000577700, model=0x50e000055700) at thunar-tree-view-model.c:1624
#5 0x00007ffff7a416c0 in g_closure_invoke (closure=0x50700079fde0, return_value=0x0, n_param_values=1, param_values=0x7fffffffdf30, invocation_hint=0x7fffffffde80)
at ../glib/gobject/gclosure.c:832
#6 0x00007ffff7a6fa36 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7fffffffe000, detail=detail@entry=0, instance=instance@entry=0x50e000577700, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffdf30) at ../glib/gobject/gsignal.c:3980
#7 0x00007ffff7a60a42 in signal_emit_valist_unlocked (instance=instance@entry=0x50e000577700, signal_id=signal_id@entry=449, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffe160)
at ../glib/gobject/gsignal.c:3612
#8 0x00007ffff7a60c77 in g_signal_emit_valist (instance=0x50e000577700, signal_id=449, detail=0, var_args=var_args@entry=0x7fffffffe160) at ../glib/gobject/gsignal.c:3355
#9 0x00007ffff7a60d34 in g_signal_emit (instance=instance@entry=0x50e000577700, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3675
#10 0x00007ffff7f47c90 in exo_job_finished (job=<optimized out>) at exo-job.c:437
#11 exo_job_async_ready (user_data=0x50e000577700) at exo-job.c:274
#12 exo_job_async_ready (user_data=0x50e000577700) at exo-job.c:255
#13 0x00007ffff6f34f69 in g_main_dispatch (context=0x50f000000310) at ../glib/glib/gmain.c:3476
#14 0x00007ffff6f933a7 in g_main_context_dispatch_unlocked (context=0x50f000000310) at ../glib/glib/gmain.c:4284
#15 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x50f000000310, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
#16 0x00007ffff6f33162 in g_main_context_iteration (context=context@entry=0x50f000000310, may_block=may_block@entry=1) at ../glib/glib/gmain.c:4414
#17 0x00007ffff7106b66 in g_application_run (application=0x514000000930, argc=<optimized out>, argv=0x7fffffffe5e8) at ../glib/gio/gapplication.c:2577
#18 0x0000555555a63c0c in main (argc=1, argv=0x7fffffffe5e8) at main.c:86
Version: 939876ab
I'm trying to use Thunar to access a remote folder through WebDAV, on which i store some data that is important in my daily routine. Unfortunately, every time i restart my computer i have to enter the WebDAV URI in Thunar's adress bar again to access my remote folder. Recently i found out i could bookmark it to Thunar's sidebar, which is useful in that it does retain both adress and my username and password, but is not easily understandable, nor explained, and can easily be overlooked (as is Thunar's WebDAV integration in general i believe cf. #64) Automount would clearly also help but this was already suggested in #1281
My suggestion as the title states is that Thunar remembers previously accessed remote folders: folders you've already accessed through Thunar would appear in the left-side panel under the "Network" category.
GitBot (939876ab) at 25 Mar 11:46
I18n: Update translation pt_BR (100%).
File-monitoring during search in place again (was removed as a side effect of !429 (merged)) --> closing
mkdir job-error
touch job-error/deleteme
thunar job-error
deleteme
filedeleteme
file from the search resultsERROR: AddressSanitizer: heap-buffer-overflow on address 0x50b00011bb90 at pc 0x555555b3979a bp 0x7fffffffd150 sp 0x7fffffffd148
READ of size 1 at 0x50b00011bb90 thread T0
#0 0x555555b39799 in thunar_dialogs_show_job_error /home/s/code/thunar/thunar/thunar-dialogs.c:1075:11
#1 0x555555c87068 in thunar_progress_view_error /home/s/code/thunar/thunar/thunar-progress-view.c:529:3
#2 0x7ffff7a426bf in g_closure_invoke (/usr/lib/libgobject-2.0.so.0+0x146bf)
#3 0x7ffff7a70a35 (/usr/lib/libgobject-2.0.so.0+0x42a35)
#4 0x7ffff7a61a41 (/usr/lib/libgobject-2.0.so.0+0x33a41)
#5 0x7ffff7a61c76 in g_signal_emit_valist (/usr/lib/libgobject-2.0.so.0+0x33c76)
#6 0x7ffff7a61d33 in g_signal_emit (/usr/lib/libgobject-2.0.so.0+0x33d33)
#7 0x7ffff7f47d4d in exo_job_error /home/s/code/exo/exo/exo-job.c:418:3
#8 0x7ffff7f47d4d in exo_job_async_ready /home/s/code/exo/exo/exo-job.c:267:9
#9 0x7ffff7f47d4d in exo_job_async_ready /home/s/code/exo/exo/exo-job.c:255:1
#10 0x7ffff6f34f68 (/usr/lib/libglib-2.0.so.0+0x59f68)
#11 0x7ffff6f933a6 (/usr/lib/libglib-2.0.so.0+0xb83a6)
#12 0x7ffff6f33161 in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x58161)
#13 0x7ffff7106b65 in g_application_run (/usr/lib/libgio-2.0.so.0+0xdfb65)
#14 0x555555a637fb in main /home/s/code/thunar/thunar/main.c:86:3
#15 0x7ffff6d1eccf (/usr/lib/libc.so.6+0x25ccf)
#16 0x7ffff6d1ed89 in __libc_start_main (/usr/lib/libc.so.6+0x25d89)
#17 0x5555558edd44 in _start (/usr/local/bin/thunar+0x399d44)
#9 0x0000555555b3979a in thunar_dialogs_show_job_error (parent=0x5170002968e0 [ThunarProgressDialog], error=0x5020004af830) at thunar-dialogs.c:1075
1075 if (separator[strlen (separator - 1)] != '.')
(gdb) p separator
$1 = (const gchar *) 0x50b00011bb76 "No such file or directory"
(gdb) p (size_t)strlen(separator)
$2 = 25
(gdb) p (size_t)strlen(separator - 1)
$3 = 26
Version: 75c803af