The update checker didn't work and could not be built on any recent
Linux distribution. Linux updates are handled by Flatpak or the
distribution.
configure.py will error out if the --disable-gtk-update-checks
flag is used. This is to avoid the flag being passed to make and
giving an error anyway.
* LinGUI: Bump GTK 3 minimum version to 3.22
Should be available in all currently supported distributions.
Also removed conditionals that are no longer needed.
* LinGUI: Bump GTK 4 minimum version to 4.4
GTK 4 support is currently based on a beta version and doesn't work
due to deprecations in the release versions. Further changes are
needed before it will build successfully.
* LinGUI: Use GtkFileChooserNative
When xdg-desktop-portal is available, a dialog native to
the desktop environment is used instead of the GTK one.
Fixes#4700
* LinGUI: Refactor Add Multiple dialog
Moves all the code for the Add Multiple dialog from
queuehandler.c to title-add.c and renames functions and
actions to match. This will help make the code easier to
maintain and allow for further improvements.
* LinGUI: Add menu option to Add All items
Adds all titles to the queue immediately. If the destination
filenames are not unique, opens the Add Multiple dialog instead.
Also stops adding items if an error occurs instead of continuing
and creating repeated error messages (Fixes#4438).
* LinGUI: Drag and drop support for videos
Drag a video or folder onto the HandBrake window and it will be
scanned as if it had been opened through the file dialog. Works
with most file managers (Nautilus, Dolphin, Nemo, Thunar etc.)
Closes#969
* LinGUI: Rearrange Filter tab to match other platforms
* LinGUI: Add XML chapter import and export
- Imports chapter titles only
- Exports full chapter details including time stamps
- Supports the Matroska XML chapter format
- Reads chapters from the default EditionEntry
- Uses the first ChapterString found for each chapter
* LinGUI: Fix symbolic icons on old GTK versions
* LinGUI: Fix function prototype warnings
Fixes most warnings caused by old-style function declarations
and non-static functions with no header declarations.
Warnings were found by compiling in GCC 12 with the flags:
-Wmissing-declarations
-Wmissing-parameter-type
-Wmissing-prototypes
-Wold-style-declaration
-Wold-style-definition
-Wstrict-prototypes
* LinGUI: Use structured logging
Replaces the custom logging functions with standard GLib ones,
using the __func__ macro introduced in C99 for function names.
Instead of using the --debug argument, debug messages are shown if
the environment variable G_MESSAGES_DEBUG is set to 'ghb' or 'all'.
* Linux: Add more diagnostic info to log
Prints the current operating system, kernel version and data
directories to the activity log.
* LinGUI: Use native paths for dropped files
Try to get a native path instead of a URI for files added via
drag and drop so that libhb can access them through GVFS.
* Fix warning if dialog is created with no OK button
* LinGUI: Automatic pause to save battery power
- Listens on DBus for battery status events
- Pauses encoding if unplugged or entering power save mode
- Resumes when power is restored or exiting power save mode
- Encodes can still be started while on battery power
- Doesn't resume when plugged in if paused manually
- Preferences option for pause on unplug
* LinGUI: Run autoupdate to fix configure.ac warnings
* LinGUI: New auto-naming options
{codec} - The codec of the encoded video (such as H.264)
{bit-depth} - The bit depth for the encoded video as an integer
{width} - The storage width of the encoded video
{height} - The storage height of the encoded video
{modification-date} - The modification date of the source file
{modification-time} - The modification time of the source file
* LinGUI: Update translation template
- Rename metainfo template so that gettext recognizes it
* LinGUI: Removed leftover version guards
* Linux: Add CPU info to activity log
- Remove temp dir info as it is often inaccurate
* LinGUI: Miscellaneous fixes
- Free unneeded filename
- Fix XML chapter export crash
- Replace unneeded printf calls with g_debug
- Update deprecated margin-left property
* LinGUI: Access D-Bus asynchronously
* LinGUI: Option to pause on entering power save
* LinGUI: Pause encoding when battery is low
* LinGUI: Tweak power save options
Although there's no option for it in the UI, adding LowBatteryLevel
to preferences.json will set the level at which encoding is paused.
* LinGUI: Update translation files
The fallback permission allows X11 to be used when Wayland isn't
available. As a GTK3 appplication, HandBrake is already running
under Wayland whenever possible, so this will not make any practical
difference apart from removing an unnecessary permission warning.
The old org.freedesktop.PowerManagement interface was removed,
which meant that shutdown and suspend didn't work on many
distributions. The new equivalent uses org.freedesktop.login1.
To make it work in Flatpak, the --system-talk-name permission
is required.
Fixes https://github.com/HandBrake/HandBrake/issues/4002
I took a shortcut when adding libass for flatpaks by putting the build
instructions in the flatpak manifest. It's been a maintenance problem
ever since keeping them in sync. This puts everything back into the
hands of HandBrake's build system.
flatpak-builder uses the module name for the directory name where it
builds modules. When doing parallel make, the gui and cli modules were
conflicting and causing failed builds.