lxde / libfm Goto Github PK
View Code? Open in Web Editor NEWCore library of PCManFM file manager
License: GNU General Public License v2.0
Core library of PCManFM file manager
License: GNU General Public License v2.0
We started building glib with Cocoa on MacOS, which makes it not build gio/gdesktopappinfo.h
header:
Unfortunately, this also broke libfm, which depends on the header:
CC base/libfm_la-fm-app-info.lo
base/fm-app-info.c:40:10: fatal error: 'gio/gdesktopappinfo.h' file not found
#include <gio/gdesktopappinfo.h>
^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[4]: *** [Makefile:2325: base/libfm_la-fm-app-info.lo] Error 1
make[4]: Leaving directory '/private/tmp/nix-build-libfm-1.3.1.drv-0/libfm-1.3.1/src'
make[3]: *** [Makefile:2767: all-recursive] Error 1
make[3]: Leaving directory '/private/tmp/nix-build-libfm-1.3.1.drv-0/libfm-1.3.1/src'
make[2]: *** [Makefile:1133: all] Error 2
make[2]: Leaving directory '/private/tmp/nix-build-libfm-1.3.1.drv-0/libfm-1.3.1/src'
make[1]: *** [Makefile:567: all-recursive] Error 1
make[1]: Leaving directory '/private/tmp/nix-build-libfm-1.3.1.drv-0/libfm-1.3.1'
make: *** [Makefile:469: all] Error 2
builder for '/nix/store/vch36j0g1smn9j6ycchjv5n7wmq3sdzi-libfm-1.3.1.drv' failed with exit code 2
Since you use autotools, perhaps you need to do the same thing glibmm does:
Downstream report: NixOS/nixpkgs#54428 (comment)
Hello developers and maintainers of libfm/PCManFM/LXDE.
It looks like several useful, and probably relatively safe, contributions have gone untouched for months. I noticed this when I went to file an issue for "terminal is not known" and found that a pull request to fix it (#49) has been sitting since May without comments, and it seems fairly safe.
So I am creating this issue to ask:
That is all. No offense of course, I appreciate all of the work that has been put in to deliver us this software.
I'm not sure if this is a libfm issue or a pcmanfm issue, but if you are on Details List view you can't use mouse back/forward buttons. I tried this on many distros and the behavior is always the same.
PCmanfm is the best file manager, only one thing that makes it inconvenient is that it is slow to read directories that contain a lot of files (e.g. /usr/bin)
Dolphin and Thunar can quickly read directories that contain many files.
Thanks.
When you're trying to launch a program, DISPLAY is incorrectly getting set to "wayland-0", which is supposed to be for WAYLAND_DISPLAY.
So any X11 programs that get launched would fail to open the X11 display (with Xwayland) and exit.
The offending lines would be:
Lines 734 to 736 in 9ce974e
Line 671 in 9ce974e
I'm not sure what the purpose of setting DISPLAY like this is, but it seems like g_app_launch_context_get_display
is returning WAYLAND_DISPLAY in a wayland session.
Upcoming gcc14 now defaults to -Werror=incompatible-pointer-types
, and compiling libfm git head with gcc14 produces the following errors:
/buildroot/libfm-1.3.2/_BUILDDIR_gtk2/../src/gtk/exo/exo-icon-view.c: In function ‘exo_icon_view_key_press_event’:
/buildroot/libfm-1.3.2/_BUILDDIR_gtk2/../src/gtk/exo/exo-icon-view.c:2822:25: error: assignment to ‘GdkWindow *’ {aka ‘struct _GdkDrawable *’} from incompatible pointer type ‘GObject *’ {aka ‘struct _GObject *’} [-Werror=incompatible-pointer-types]
2822 | new_event->key.window = g_object_ref (G_OBJECT (gtk_widget_get_window (icon_view->priv->search_entry)));
| ^
/buildroot/libfm-1.3.2/_BUILDDIR_gtk2/../src/gtk/exo/exo-icon-view.c: In function ‘exo_icon_view_rows_reordered’:
/buildroot/libfm-1.3.2/_BUILDDIR_gtk2/../src/gtk/exo/exo-icon-view.c:4608:38: warning: ‘*list_array’ may be used uninitialized [-Wmaybe-uninitialized]
4608 | icon_view->priv->items = list_array[0];
| ~~~~~~~~~~^~~
/buildroot/libfm-1.3.2/_BUILDDIR_gtk2/../src/gtk/fm-dnd-dest.c: In function ‘_ask_action_on_drop’:
/buildroot/libfm-1.3.2/_BUILDDIR_gtk2/../src/gtk/fm-dnd-dest.c:461:13: error: assignment to ‘GtkMenu *’ {aka ‘struct _GtkMenu *’} from incompatible pointer type ‘GtkWidget *’ {aka ‘struct _GtkWidget *’} [-Werror=incompatible-pointer-types]
461 | ri.menu = g_object_ref(gtk_ui_manager_get_widget(ui, "/popup"));
| ^
/buildroot/libfm-1.3.2/_BUILDDIR_gtk2/../src/gtk/fm-standard-view.c: In function ‘create_icon_view’:
/buildroot/libfm-1.3.2/_BUILDDIR_gtk2/../src/gtk/fm-standard-view.c:640:23: error: assignment to ‘FmCellRendererText *’ {aka ‘struct _FmCellRendererText *’} from incompatible pointer type ‘GtkCellRenderer *’ {aka ‘struct _GtkCellRenderer *’} [-Werror=incompatible-pointer-types]
640 | fv->renderer_text = g_object_ref_sink(render);
| ^
I use the following command line to compile libfm (master version):
./configure \ --without-gtk \ --disable-gtk-doc \ --disable-udisks \ --enable-actions \ --prefix="/usr" \ --sysconfdir="/etc" \ --disable-debug \ --disable-exif && make
build fails with error:
VALAC libfmactions_la_vala.stamp condition.vala:149.18-155.34: warning: unhandled errorGLib.Error'
condition.vala:192.8-193.40: warning: unhandled error GLib.SpawnError' action.vala:81.4-81.30: error: usenew' operator to create new objects
FileAction.from_keyfile(kf);
^^^^^^^^^^^^^^^^^^^^^^^^^^^
action.vala:144.4-144.34: error: use new' operator to create new objects FileActionMenu.from_keyfile(kf); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ action.vala:185.28-185.31: warning: Argument 1: Cannot pass null to non-null parameter type cached_children.append(null); ^^^^ action.vala:177.8-177.82: warning: unhandled errorGLib.SpawnError'
if(Process.spawn_command_line_sync(command, out output, null, out exit_status)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
action.vala:238.21-238.24: warning: Argument 1: Cannot pass null to non-null parameter type
children.append(null);
^^^^
action.vala:334.10-334.40: warning: unhandled error GLib.KeyFileError' if(kf.load_from_file(full_path, 0)) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Compilation failed: 2 error(s), 6 warning(s)
vala version is 0.36.4
Title. 'Create' items work fine after right button mouse click, but don't work after pressing Ctrl+Key_Menu.
libfm/src/gtk/fm-app-chooser-dlg.c
Line 234 in 695d3e8
- file = fm_select_file(GTK_WINDOW(data->dlg), NULL, "/usr/bin", TRUE, FALSE, filter, NULL);
+ file = fm_select_file(GTK_WINDOW(data->dlg), NULL, "/usr/bin", TRUE, FALSE, NULL, NULL);
Thanks!
pcmanfm 1.3.1, with libfm 1.3.1 on debian bullseye/sid, linux 5.7.0-2-amd64
I noticed that pcmanfm would sometimes not terminate or exit after closing the window. i.e., multiple pcmanfm processes would appear in htop and unable to be terminated via SIGTERM (SIGKILL required). This issue only seems to appear when I load a directory with a significant number of image files or pdf files, and then close the window while the thumbnails for those files are loading. If I wait (10-15 seconds) for all of the thumbnails to finish loading, then the pcmanfm process exits cleanly and there is no issue.
I ran gdb and these traces are from a process that does not exit.
Thread 1 "pcmanfm" received signal SIGINT, Interrupt.
syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38 ../sysdeps/unix/sysv/linux/x86_64/syscall.S: No such file or directory.
─── Assembly ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
0x00007ffff7271a79 ? cmp $0xfffffffffffff001,%rax
0x00007ffff7271a7f ? jae 0x7ffff7271a82 <syscall+34>
0x00007ffff7271a81 ? retq
0x00007ffff7271a82 ? mov 0xc53e7(%rip),%rcx # 0x7ffff7336e70
0x00007ffff7271a89 ? neg %eax
0x00007ffff7271a8b ? mov %eax,%fs:(%rcx)
0x00007ffff7271a8e ? or $0xffffffffffffffff,%rax
0x00007ffff7271a92 ? retq
0x00007ffff7271a93 ? nopw %cs:0x0(%rax,%rax,1)
0x00007ffff7271a9d ? nopl (%rax)
─── Registers ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
rax 0xfffffffffffffe00 rbx 0x000000000000006e rcx 0x00007ffff7271a79 rdx 0x000000000000006e rsi 0x0000000000000080
rdi 0x00007ffff7708a28 rbp 0x00007ffff7708a30 rsp 0x00007fffffffe0c8 r8 0x0000000000000000 r9 0x00007ffff7708a30
r10 0x0000000000000000 r11 0x0000000000000246 r12 0x00007ffff7708a28 r13 0x0000000000000000 r14 0x0000000000000000
r15 0x0000000000000000 rip 0x00007ffff7271a79 eflags [ PF ZF IF ] cs 0x00000033 ss 0x0000002b
ds 0x00000000 es 0x00000000 fs 0x00000000 gs 0x00000000
─── Source ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Cannot display "syscall.S"
─── Stack ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[0] from 0x00007ffff7271a79 in syscall at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
[1] from 0x00007ffff73fc8ef in g_cond_wait
[2] from 0x00007ffff76e882f in _fm_thumbnail_loader_finalize+175 at base/fm-thumbnail-loader.c:793
[3] from 0x00007ffff76d1bbb in fm_finalize+107 at fm.c:163
[4] from 0x000055555556a741 in main+513 at pcmanfm.c:307
─── Threads ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[14] id 377742 name loader from 0x00007ffff7271a79 in syscall at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
[5] id 377733 name pool-pcmanfm from 0x00007ffff7271a79 in syscall at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
[3] id 377730 name gdbus from 0x00007ffff726c4bf in __GI___poll+79 at ../sysdeps/unix/sysv/linux/poll.c:29
[2] id 377729 name gmain from 0x00007ffff726c4bf in __GI___poll+79 at ../sysdeps/unix/sysv/linux/poll.c:29
[1] id 377727 name pcmanfm from 0x00007ffff7271a79 in syscall at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
>>> thread 5
[Switching to thread 5 (Thread 0x7fffef7fe700 (LWP 377733))]
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38 in ../sysdeps/unix/sysv/linux/x86_64/syscall.S
>>> bt
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007ffff73fca12 in g_cond_wait_until () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff73815c1 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff7381bb2 in g_async_queue_timeout_pop () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007ffff73d9e29 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff73d951d in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007ffff7346ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7 0x00007ffff7276eaf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
>>> thread 14
[Switching to thread 14 (Thread 0x7fffeffff700 (LWP 377742))]
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38 in ../sysdeps/unix/sysv/linux/x86_64/syscall.S
>>> bt
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007ffff73fc8ef in g_cond_wait () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff76e763f in run_thumbnailer (thumbnailer=thumbnailer@entry=0x7fffe800d6a0, task=task@entry=0x555555816f80, output_file=<optimized out>, size=size@entry=128) at base/fm-thumbnail-loader.c:1127
#3 0x00007ffff76e7ee5 in generate_thumbnails_with_thumbnailers (task=0x555555816f80) at base/fm-thumbnail-loader.c:1155
#4 generate_thumbnails (task=0x555555816f80) at base/fm-thumbnail-loader.c:815
#5 load_thumbnail_thread (user_data=<optimized out>) at base/fm-thumbnail-loader.c:488
#6 0x00007ffff73d951d in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#7 0x00007ffff7346ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8 0x00007ffff7276eaf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thumbnails generated by other thumbnailers like ffmpegthumbnailer are still saved there, but no the ones for regular image files done by pcmanfm. Other file managers don't have any issues with this so it is not a permissions issue, and pcmanfm can happily read the images generated by thunar, but it does not save its own in the thumbnail cache.
Having a custom list of opening and closing arguments for every possible terminal seems an overkill to me, since some terminals like Wayland-based 'foot' use a double-dashed separator (optionally) as an opening argument instead, throwing an error.
If having an extra 'libgtk*-bin' dependency is a "no-no" — let user set a terminal emulator without default optional arguments, as an optimal solution.
Dyakuyu.
I am using PCManFM in an Openbox environment, version 1.3.2 with libfm-gtk4 1.3.2-1 amd64 in Ubuntu 22.04. Each time I try to access the content of my Android branded smartphone by pluging it in the computer throught USB, I get the message The object does not exist at « /org/gtk/vfs/mount/1
(I get it in French: L’objet n’existe pas à l’emplacement « /org/gtk/vfs/mount/1
).
This happens with the choice for File transfer
, in the smartopphone. I could however access to pictures with PTP
. Obviously, I need also to access to other files. (gvfs and gvfs-backends are installed, so I would have expected it to just work).
I had been living with this issue for quite some time, when I noticed in an Xfce environment that I didn't meet with this issue. From that moment I installed Thunar in my Openbox setup on the computer where I had hit this issue, and with Thunar, it just works, even in my Openbox environment. Therefore I thought I should report it.
it resulted in thumbnails were not created for jpg files that have width of 3000px and height of 3000px and file size 2.9 MB. However, thumbnail_max option in the pcmanfm settings was set to 4096 KB.
Dear LXDE Developers,
I am user of Lubuntu 18.04.5 and I have problem with mouse sensitivity. I can do changes in GUI but after do it I can't see any difference. My mouse is still too fast. In default settings my mouse are too fast and I want to make it slower but this is not working in LXDE environment. On GNOME environment on Ubuntu 18.04 or 20.04 I don't have this problem. This is problem on each mouse. I tried a lot of model of mouses but this not help. Bug still exist. Can you fix it? I know that this bug is for lxinput program but I can't see option to create topic on "Issues" section because it not exists. I am new on github so I don't know if it is possible to create this section so it is why I created topic on "libfm".
I have also question to LXDE. This still use GTK2? I found on some websites that GTK2 is dead now because GTK4 is available and GTK2 was dropped. Is this true? If yes this means that LXDE is not safe anymore? Maybe some people from LXDE can answer me? Second question to the project is who is the leader of the project (I did research and I think that this is @LStranger) and how much coders work on LXDE project? I contacted with some members mentioned here and they told me that they are not working in LXDE project so maybe you should update that list? This is link: https://github.com/orgs/lxde/people
I will be apreciate for answer and help. I hope that @LStranger will answer me.
P.S. I can see that Fedora 34 Spin have LXDE. This run with Wayland or X.ORG? If wayland is run this is experimental way? How it is work? I can see that Lubuntu 20.04 don't use LXDE so I must migrate to Debian or Fedora? LXDE packages for Ubuntu 20.04 are maintained by someone from LXDE project? It will be updated? Of course LXDE packages from Lubuntu 18.04 will be not updated? I can see that now they are not supported.
this case need g_convert(buf,-1,"UTF-8","",NULL,NULL,NULL)
** (pcmanfm:1979): WARNING **: 20:37:07.609: terminal kitty isn't known, consider report it to LibFM developers
Get the following message so thought I should report it.
From here:
Line 824 in 5d03c2d
This seems to trigger every single time I open any libfm app, even if I properly set the variable.
Googling the warning, it's all over the place in every single pcmanfm startup log etc. Something seems wrong. I'm not sure it ever even worked? Either way, the warning should either be fixed, take a default or go away...
Right-click on folder/file → Compress is broken for xarchiver versions 0.5.4.9 or newer due to changed command-line arguments in ib/xarchiver@d0575bc
xarchiver: Unknown option --add-to
Try xarchiver --help to see a full list of available command line options.
Tested using PCManFM 1.2.5 and xarchiver 0.5.4.12 (newest Arch Linux packages).
libfm and friends use intltool. This hasn't had a release since 2015 and modern gettext can replace it entirely:
Launching pcmanfm reports deprecation warning:
(pcmanfm:19197): Gtk-WARNING **: 15:49:46.158: Theme parsing error: <data>:2:27: The style property GtkWidget:focus-padding is deprecated and shouldn't be used anymore. It will be removed in a future version
(pcmanfm:19197): Gtk-WARNING **: 15:49:46.158: Theme parsing error: <data>:3:30: The style property GtkWidget:focus-line-width is deprecated and shouldn't be used anymore. It will be removed in a future version
Dear Sir/Madam,
Please include an option the menu when right clicked in the open folder / window in PcManFM that allows users to change their folder view mode easily (icons / compact / list / etc). This is more convenient than going to View -> Folder View Mode each time!
Make this change for PcManFM for all platforms if possible!
Thanks!
$ xdg-mime query default inode/directory
pcmanfm.desktop
Any ideas? Thanks for your time.
if(!dd->waiting_data) { ... }
branch when either dest
or dest_path
is zero prevents the symptom from occuring. However, I am totally unfamiliar with the drag-and-drop protocols, and therefore unsure whether this fixes the root cause of this issue and does not cause undesirable side effects.Almost every partition (other than root and home) can be unmounted and they're treated as removable media.
If I check the option Preferences -> Behaviour -> Erase files on removable media instead of "trash can" creation
then I am unable to use trash even on my HDD and SSD partitions which are essentially on the same disk as my root and home partitions.
Change this line : https://github.com/lxde/libfm/blob/master/src/job/fm-file-ops-job-delete.c#L351
to something that can detect the underlying disk as removable or not...
I don't know if it is possible or not...
Thanks!
Please ask if additional information is needed.
I was just bugfixing the xsession, and i can not do anything about this.
.xsession-errors output
** (pcmanfm:638): WARNING **: 13:34:20.238: terminal st isn't known, consider report it to LibFM developers
Please, add this terminal.
PCManFM stores thumbnails in $HOME/.thumbnails
. According to XDG specification it should store it in "$XDG_CACHE_HOME/thumbnails"
( $HOME/.cache/thumbnails
by default).
See also lxqt/pcmanfm-qt#1523
I'm not sure if this is the right place, but considering that the sourceforge issue tracker of pcmanfm appears to be mostly dead, I'm opening the issue here.
Looking at data/archivers.list, none of the archiver integrations ensure a containing directory when extracting an archive.
For a GUI file manager like pcmanfm, (in my opinion) this is unexpected behaviour because it has the potential to pollute the current working directory. Currently, there doesn't seem to be an option in pcmanfm/libfm to configure the archiver to extract to a subdirectory by default.
Opening pcmanfm from the terminal in alacritty reports:
** (pcmanfm:5232): WARNING **: 14:23:26.868: terminal alacritty isn't known, consider report it to LibFM developers
I've been using Germinal for a while now, it's an ultra simple VTE-based terminal:
https://github.com/Keruspe/Germinal
One can configure the startup command to be any shell or program, default is tmux but I just have zsh.
The main reason I'm creating this issue is because I cannot use the "open this folder in terminal" feature by pressing F4, it justs open a terminal to my $HOME.
Here's the warning message:
** (pcmanfm:4380): WARNING **: 01:00:33.762: terminal germinal isn't known, consider report it to LibFM developers
I can help if needed.
I am using Arch Linux, with Xmonad, and a couple of other WM also installed, I use pcmanfm-gtk3
from the standard Arch repos, pcmanfm
sometimes shows weird blue highlights or whatever they are called on the right and bottom side, it doesn't always shows, but it shows sometimes then I can go forward a directory its fine and so on. Attaching a screenshot to explain better.
Cygwin (Linux on Windows) distribution default terminal is mintty
using only Windows GUI calls and Cygwin calls for pty handling, and very xterm
compatible including Tek support, with options to allow X window compatibility (ShortLongOpts but default false). Project @mintty is here on github with mintty(1), code, and wiki.
Please add to libfm/data/terminals.list:
[mintty]
open_arg=-e
noclose_arg=--hold always -e
desktop_id=mintty.desktop
Options may be:
-e, --exec PROGRAM [ARG ...]
-h, --hold a[lways]|e[rror]|n[ever]|s[tart]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.