celluloid-player / celluloid

A simple GTK+ frontend for mpv
https://celluloid-player.github.io
GNU General Public License v3.0
1.13k stars 88 forks source link

Failed to guess content type & Calling org.freedesktop.portal.Inhibit.Inhibit failed #756

Closed 0pLuS0 closed 2 years ago

0pLuS0 commented 2 years ago

Overview Description:

When running celluloid from a term, I notice this output...

Steps to Reproduce:

  1. Open term and type celluloid to run. 2.terminal fills up with these messages.

Actual Results: Several messages appearing

Expected Results: Hoping to get rid of the messages?

Version: 0.22 - compiled on Slackware 15.0

Failed to guess content type for mount Filesystem fills up the terminal, is there something I can do so that either mount or celluloid recognizes the content type?

These are the content messages;

~ pts/1 foo ~ >celluloid

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount Filesystem root: mount doesn’t implement content type guessing

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount efi: mount doesn’t implement content type guessing

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount pts: mount doesn’t implement content type guessing

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount shm: mount doesn’t implement content type guessing

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount MyPassport: mount doesn’t implement content type guessing

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount MyPassport-2: mount doesn’t implement content type guessing

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount SlackDVD: mount doesn’t implement content type guessing

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount WD-Ext4: mount doesn’t implement content type guessing

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount WD-Ext4-2: mount doesn’t implement content type guessing

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount proc: mount doesn’t implement content type guessing

I am also getting this org.freedesktop warning;

(io.github.celluloid_player.Celluloid:2000): Gtk-WARNING **: 00:50:57.442: Calling org.freedesktop.portal.Inhibit.Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop

THANKS

0pLuS0 commented 2 years ago

When compiling the source, I haven't worked much with mesa, how can I disalbe the NLS support and just compile for EN with no /usr/share/locale?

In fullscreen it has like border edges on all 4 sides, is there a way to not have these border edges in fullscreen?

Thanks

gnome-mpv commented 2 years ago

(io.github.celluloid_player.Celluloid:2000): celluloid-WARNING **: 00:50:06.210: Failed to guess content type for mount Filesystem root: mount doesn’t implement content type guessing

I'm not entirely sure what's causing this, but I think installing GVFS could help if it's not already installed.

(io.github.celluloid_player.Celluloid:2000): Gtk-WARNING **: 00:50:57.442: Calling org.freedesktop.portal.Inhibit.Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Inhibit” on object at path /org/freedesktop/portal/desktop

This shows up if you're using a WM/DE that doesn't implement GNOME's idle inhibition protocol. It should go away if you have a sufficiently new version of GTK.

When compiling the source, I haven't worked much with mesa, how can I disalbe the NLS support and just compile for EN with no /usr/share/locale?

Should be enough to just comment out subdir('po') in the main meson.build.

In fullscreen it has like border edges on all 4 sides, is there a way to not have these border edges in fullscreen?

These are not supposed to show up, but you can disable CSD to get them to disappear. See #729.

0pLuS0 commented 2 years ago

GVFS, ok, I didn't install it, I could give it a try...

Slackware 15.0 uses;

gtk+2-2.24.33 gtk+3-3.24.31 gtk4-4.4.1

I assumed these GTK versions in the latest release of Slack would be recent enough, in regards to the org.freedesktop?

For the PO, I am building from a compile script, my build options, so nothing I can add to them?

CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ meson \ --prefix=/usr \ --libdir=lib${LIBDIRSUFFIX} \ build

"${NINJA:=ninja}" -C build DESTDIR=$PKG "$NINJA" -C build install

I see for the borders;

Disable/Uncheck "Enable client-side decorations"...

I never expected the look of the UI would change when unchecking the decorations.

THANKS

gnome-mpv commented 2 years ago

I assumed these GTK versions in the latest release of Slack would be recent enough, in regards to the org.freedesktop?

If you're not using GNOME, it would be best to get GTK >= 4.6.1. Older versions have a bug related idle inhibition.

For the PO, I am building from a compile script, my build options, so nothing I can add to them?

You can use sed to remove the line I mentioned: sed -i "/subdir('po')/d" meson.build.

0pLuS0 commented 2 years ago

I don't use Gnome and Slack 15.0 shipped with GTK4 4.4.1 and Pat knows what he's doing, so I'm not worried, if there is an issue he'll push a newer version update to Slack.

I also personally don't use GTK4 for anything.

As for GVFS since this project was formerly called Gnome Mpv, I'm assuming there's quite a bit of Gnome code in it?

I don't see the reason for needing GVFS in an app like this, MPV doesn't require it, I don't see the reasons for mount needing to be invoked on a Local Machine?

I have udisks udisks2, these should suffice, please try to get celluloid working with them.

Also I don't understand why celluloid is looking at efi, pts, shm, proc, I really don't get what any of this has to do with just loading a video and playing on a local machine, MPV doesn't work in this way. hmm

Thanks

gnome-mpv commented 2 years ago

I don't see the reason for needing GVFS in an app like this, MPV doesn't require it, I don't see the reasons for mount needing to be invoked on a Local Machine?

It's for optical media detection. You can safely ignore the warnings if you don't need that.

0pLuS0 commented 2 years ago

Do you have a compile option to disable the optical media detection?

Also, GTK4 isn't highly adpoted across Linux at the moment, of course it's only a matter of time before it gains wider adoption, but GTK3 still is higher, so it would be great if the latest versions weren't GTK4 dependant. I can't even compile 0.23 because Slack 15.0 uses GTK 4.4.1 which isn't that old, not all distros are going to be always running the latest of any apps/deps/libs.

I was really disappointed to see this in regards to GTK.

Everyone isn't running Arch, with the latest bleeding edge pkgs, please remember that, and in regards to what I am saying here, I've been running Linux 22 years, I know how it works across the board for Distros, there's a balance here, and you're pushing closer to the bleeding edge with the project, and you shouldn't, if you want to have a wider user-base.

The project should still have a GTK3 version with the latest versions.

All this also gets back to the GNOME's idle inhibition protocol, where a lot of Distros and users aren't running either Gnome or the latest version of GTK, and aren't affected by this, so maybe this can be cleaned up in the code, so we don't get this message, or a way to silence it from the code side, looking at this?

THANKS

gnome-mpv commented 2 years ago

Do you have a compile option to disable the optical media detection?

No. I don't think it would be a very useful option to have since all it would do is silence warnings. GVFS is already optional without any compile-time options.

and you're pushing closer to the bleeding edge with the project, and you shouldn't, if you want to have a wider user-base.

The requirement was bumped to 4.6.1 for this release because older versions of GTK crash on many WMs due to a bug. If you backport the patch and update the build script, you can probably get it to work with older GTK.

All this also gets back to the GNOME's idle inhibition protocol, where a lot of Distros and users aren't running either Gnome or the latest version of GTK, and aren't affected by this, so maybe this can be cleaned up in the code, so we don't get this message, or a way to silence it from the code side, looking at this?

The warning is useful here. It tells the user why idle inhibition isn't working, so I don't think it should be silenced.

If you don't need idle inhibition, you can comment out the gtk_application_inhibit() call in celluloid-application.c. Alternatively, you can just filter stderr with grep or just redirect it to /dev/null.

0pLuS0 commented 2 years ago

I'm not understanding, that if I just run mpv as standalone, there are no messages in regards to the optical media, so why should celluloid be calling this? I mean, celluloid is only suppose to be a UI/Frontend, and I assumed not really adding anything on top of what mpv does, just a simpler way to access it is all, so I'm not understanding the need for this.

So then your app should really require GVFS then? If this is true, I would greatly appreciate it if you could please have a option to disable the need for GVFS at compile time, for those that don't wish to use it. I also thought udisk would/could suffice instead?

THANKS

gnome-mpv commented 2 years ago

why should celluloid be calling this?

The detection is used to list playable discs in the menu. That way, you don't need to type out the path to your drive.

If this is true, I would greatly appreciate it if you could please have a option to disable the need for GVFS at compile time, for those that don't wish to use it.

Again, it's already optional. If you don't want to use GVFS, don't install it. Everything else will still work fine.

0pLuS0 commented 2 years ago

Ok thanks....