applications-menu
applications-menu copied to clipboard
File Roller not showing up in the Applications
What Happened?
I have the elementary version of file-roller installed, but it's not showing up in the Applications. It's properly installed afaik.
I later installed the deb version from the repo, and the same problem occured: no icon in the Applications to launch it.
I installed the menu editor app, and it does show File Roller there.
If this is hard coded to not show up in the Applications, I think it's a bad decision, and I'd like to see it reversed.
Steps to Reproduce
File roller
Expected Behavior
To show up in the Apps list
OS Version
8.x (Circe)
Session Type
Secure Session (Wayland)
Software Version
Latest release (I have run all updates)
Log Output
Hardware Info
No response
If this is hard coded to not show up in the Applications, I think it's a bad decision, and I'd like to see it reversed.
It seems to be hidden intentionally for some reason.
https://github.com/elementary/applications-menu/blob/6ad22d84e3a7ea59fc856319e150d71cd8fcf2f4/src/Backend/AppSystem.vala#L155
It was hidden because it pretty much exists to be a utility for the file browser and its important actions are available as menu items in Files. Most people are either compressing a selection (and this is a tiny minority) or uncompressing an archive they downloaded (the vast majority use case). So much so that I think in some other desktops they don't even ship a separate archive manager but just add these actions to the file browser. (Which tbh we should probably do this as well)
I hope this changes, because today I booted again on ElementaryOS, and unless I'm blind, I can't find a way to compress files from Files. I open the file manager, I select a file, and I right click. No menu item to compress anything. So I'm not sure what you're referring to. Maybe there's some other button that does that, but it was not immediately obvious to me.
@eugenialoli There should be a "Compress" item at the bottom of the context menu (below "Send by Email" and color tag chooser). This item is provided by the "Contractor" plugin which shows which contracts are installed in /usr/share/contractor. You should see usr/share/contractor/io.elementary.contractor.file-roller-compress.contract' and a similar extract-here contract,
The compress contract is:
[Contractor Entry]
Name=Compress
Icon=add-files-to-archive
Description=Create a compressed archive with the selected objects
MimeType=!archive;inode/blockdevice;inode/chardevice;inode/fifo;inode/socket;
Exec=flatpak run org.gnome.FileRoller --add %U
Gettext-Domain=file-roller
So you need the Flatpak version of file roller installed and the selected files must match one of the specified MimeTypes.
I suggest you open Terminal and use flatpak list to check that you have the flatpak installed. If so you could try running flatpak run org.gnome.FileRoller --add <insert-path-to-file> to check it is working properly.
Note this only works with the elementary file manager. If you are using a different one then it may provide this facility in another way.
This works OK for me on OS8 although there is a noticeable delay before the flatpak fires up for the first time.
I thought I was crazy, but I'm not... the option is not there for me. @danirabbit
I think it's because I have also installed file-roller from the ubuntu repo too (because I couldn't see it in the menu, I decided to install the native package instead). But that shouldn't have done that anyway.
@eugenia Yes, this should work out of the box - elementary should come with file-roller pre-installed. I am pretty sure it did for me.
It did for me too. The flatpak is installed. It's just that the compress option is not there.
Can you confirm whether the expected contractor entries are present in /usr/share/contractor please? If so you can open them in Code to check whether the contents are correct.
Contractor entries aren't/can't be shipped with the flatpak. They're shipped separately in the deb package org.gnome.fileroller https://github.com/elementary/fileroller/tree/deb-packaging
I have installed both packages, both the flatpak, and the file-roller from the repo (sudo apt install file-roller). Both are present. So I don't know why it doesn't show up.
@eugenialoli this is a third package called org.gnome.fileroller from apt, not file-roller
Well, I don't know why it's not there then. Maybe it got de-installed automatically when I installed org.gnome.fileroller, due to a conflict or something. Regardless, I did it because the icon was missing in the app menu. I expected the utility to be there.
@eugenialoli can you confirm that the package org.gnome.fileroller is installed with the command sudo apt-cache policy org.gnome.fileroller?
and if it is, can you then confirm whether or not you have the contract files installed to /usr/share/contractor as requested in this comment: https://github.com/elementary/applications-menu/issues/638#issuecomment-2939427900
org.gnome.fileroller says: Installed: [None]
As for /usr/share/contractor/, the folder does not exist at all.
@danirabbit
Contractor entries aren't/can't be shipped with the flatpak. They're shipped separately in the deb package org.gnome.fileroller https://github.com/elementary/fileroller/tree/deb-packaging
If file compression/decompression is hidden from the Applications menu because it is expected to available in Files then shouldn't the install process set things up so that it works oob? I thought it did. Something is off if the user needs to install both the Flatpak (from AppCenter - because the contract references it) and the deb (to install the contract). Or am I misunderstanding?
@eugenialoli If /usr/share/contractor is missing then you will also be missing the "Print" contract. What do you see in the context menu for a text file? I notice you do have the the "Send Files by Bluetooth" contract though. Not sure where this is stored if /usr/share/contractor is missing. Do you have ~/.local/share/contractor (where ~ represents your home folder)? Note that this is a hidden file so you need to have "Show Hidden" on.
@eugenialoli this is the package that supplies the contract files. So you need to install it with sudo apt install org.gnome.fileroller
@jeremypw Yes, the package org.gnome.fileroller which installs the contract files is supposed to be installed by default. But this is indeed really fragile. I think a better solution would be to either just hardcode file roller support in Files or do the same as GNOME Files and just handle it ourselves: https://razvanchitu.wordpress.com/2016/07/14/extraction-support-in-nautilus/
There is no more print contract. It's been replaced by the print portal
@danirabbit
There is no more print contract. It's been replaced by the print portal
I still have a print contract on my install of OS8 but if it is discontinued then I guess Files will need updating accordingly.
I think the only other contract still in use is "Send by Bluetooth" (installed by io.elementary.bluetooth) so I guess we still need the contractor plugin.
I think a better solution would be to either just hardcode file roller support in Files or do the same as GNOME Files and just handle it ourselves
Looks like libarchive already has a Vala binding so it should be possible to handle it internally at the cost of another dependency.
I still have a print contract on my install of OS8
@jeremypw oh you know what, I'm thinking of the email contract we replaced with the portal. I think we didn't replace the print contract yet maybe 🤔 but there is a portal for that these days