Xfce 4.8pre1 Changelog
Extension Library (exo)
The API version of exo has been changed from 0.3 to 1, to make it easier to bump minor and major version numbers in future releases. To compile against this version of exo, you have to change exo-0.3 to exo-1 in your configure file. This backwards-incompatible change has also been used to remove deprecated APIs or APIs that are now provided by Gtk 2.14 or Glib 2.18.
Removed or incompatibly changed classes/enums/functions:
- Renamed exo_url_about_dialog_hook() to exo_gtk_url_about_dialog_hook().
- Exo(Mutual)Binding structures are now private.
- Removed exo_icon_view_{set,get}_{text,markup,pixbuf}_column().
- Removed ExoPangoEllipsizeMode and related functions.
- Removed exo_md5_*() functions and ExoMd5Digest.
- Removed exo_intern_string() and exo_intern_static_string().
- Removed ExoEllipsizedLabel has been entirely removed.
- Removed exo_gtk_object_ref_sink() and exo_gtk_radio_action_set_current_value().
- Removed exo_url_show() and exo_url_show_on_screen().
- Removed ExoMountPoint API.
- Removed ExoHal API.
New classes/functions:
- ExoJob and ExoSimpleJob for handling threaded/asynchronous jobs.
- exo_str_is_empty(), exo_str_looks_like_an_uri().
Other changes:
- GIO module for handling URIs that are known by the preferred applications framework.
- Only add sync mount option to devices with no volume.
- Use the GIO code for reading mount points in exo-mount.
- Make GIO-Unix an optional dependency.
- Fix the Python bindings (bug #6186, bug #6187 and bug #6188).
- Add support for editing .directory files in exo-desktop-item-edit.
- Add desktop files for the exo-open types.
- Fix link problem with --no-add-needed (bug #5951).
- Add working directory support to exo-desktop-item-edit (bug #5692).
- Make the treeview work again with gtk 2.20 (bug #6230).
- Fix compilation error (bug #6421).
- Updated translations.
Widget Library (libxfce4ui)
Initial version of the library. The intention of this new library is a cleanup of the old libxfcegui4 library to remove the deprecated code and get rid of netk (since 4.6 we use libwnck for that).
- New session management client.
- Improved code for spawing applications.
- New dialog functions.
- Support for glade-3's GtkBuilder implementation.
- New function xfce_spawn_on_screen_with_child_watch().
- Allow icon names in xfce_gtk_button_new_mixed().
- Add key binding to popup Xfdesktop menu (bug #4994).
- Fix bold labels in xfce_gtk_frame_box_new().
- Test if working directory exists before spawning command.
- Add startup notification support for shortcuts.
- Updated translations.
Utility Library (libxfce4util)
- Fix broken translations in applications using libxfce4util (bug #5842).
- Performance optimizations.
- Improve xfce_expand_variables to expand ~ in more cases (bug #6742).
- Deprecate XfceDesktopEntry.
- Updated translations.
File Manager (thunar)
- Replace ThunarVFS with GIO. All functionality previously based on ThunarVFS is now implemented on top of GIO and GVfs. This means that remote filesystems can be accessed via SFTP, FTP, SMB etc. For this as well as the trash feature GVfs is required. Thunar does not depend on it because GVfs is a set of GIO extensions and there is no guarantee for those to be available at runtime if they are installed at buildtime. This is left for distributions to set up properly.
- Thumbnails are now generated using the thumbnail management D-Bus specification. One implementation of this specification is Tumbler which is released independently.
- Bump the API version of Thunarx to 2 because symbols related to ThunarVFS were removed and replaced by new symbols dealing with GIO. This requires all existing plugins to be updated and linked against thunarx-2 instead of thunarx-1.
- Show "Network" item in the side pane and the "Go" menu if the network:// URI scheme is supported by GIO (via an extension). Make the "Trash" item optional too.
- Use a single shared progress dialog for file operations instead of individual dialogs for each operation. The visual information in this shared dialog still has to be improved (work on this has been started in an experimental branch).
- Use g_utf8_strlen to calculate the side pane width (bug #3965, bug #5390).
- Add startup ID parameter to the BulkRename and LaunchFiles D-Bus methods in order to support startup notification over D-Bus.
- Avoid requesting drag data if the drag target is GDK_NONE (bug #5771).
- Add startup notification support to the custom actions plugin.
- Use install-exec-hook for installing the thunar symlink (bug #5835).
- Use libxfce4ui instead of libxfcegui4.
- Depend on xfce4-dev-tools >= 4.7.2 to get rid of custom configure code.
- Depend on exo-1 >= 0.5.1.
- Port the code related to thunar-volman to udev. This is an optional part of Thunar. The consequences are that instead of calling thunar-volman with HAL UDIs, we'll now call thunar-volman with sysfs paths. For this to work, a more recent version of thunar-volman is required: 0.5.0.
- Re-implement mount/eject notifications based on libnotify. Notifications were gone after the port to GIO because we no longer used exo-mount to mount or eject devices.
- Fix segfaults when loading image icons.
- Force a folder reload when the new_file closure is finished (bug #6409).
- Update the trash panel plugin to the new panel framework.
- Create status icon for file operations only when we're actually going to display it.
- Change current working directory before spawning applications in ThunarLauncher.
- Fix browsing shortcuts and mountables in ThunarLauncher.
- Synchronize ThunarListModel sorting with detailed list view captions.
- Fix sorting by type in ThunarListModel (bug #6143).
- Refilter the tree model when a hidden dir is entered/left (bug #6142).
- Properly update the cursor when a row is deleted (bug #5361).
- Use stock icons and standard icon names where appropriate (bug #6133).
- Move the trash panel plugin to $(libdir)/xfce4/panel/plugins.
- Move the LaunchFiles() D-Bus method to the org.xfce.FileManager interface.
- Remove README.volumes and ThumbnailersCacheFormat as those are specific to thunar-vfs.
- Display content type in the file properties dialog tooltip (bug #2369).
- Properly hide partitions that are not mountable by the user.
- Add new D-Bus methods: Execute(), CreateFileFromTemplate(), CreateFile(), RenameFile()., CopyTo, CopyInto, MoveInto, LinkInto and UnlinkFiles.
- Properly remember the default handler for a file / content type (bug #6167).
- Replace - with _ in parameter names of the D-Bus API.
- Do not display shadowed mounts.
- Provide an eject button for removable and present volumes in the side pane (bug #3658).
- Auto-select previously selected subdirectories when walking through the history (bug #5538).
- Delay applying the file selection until folders have finished loading.
- Fix broken compilation with -Wl,-z,defs and -Wl,--as-needed.
- Updated translations.
Utilities (xfce-utils)
- Fix gpg/ssh-agent startup for users with pam_ssh installed.
- $dbuslaunch var isn't used anymore (bug #5863).
- Start ssh-agent before dbus so dbus has the env vars set.
- Port to libxfce4ui.
- Add slock functionality (bug #6253).
- Add desktop files for the applications in the Xfce menu.
- Avoid /usr/local/share being added to XDG_DATA_DIRS more than once.
- Hide xfconf-query warnings when properties do not exist.
- Launch xfce4-session with ck-launch-session if installed.
- Use right comment character in Xft.xrdb (bug #6314).
- Also kill ssh-agent in bash like environment (bug #6476).
- Spawn dbus-launch before the dbus users (bug #5576).
- Don't set /usr/share twice in XDG_DATA_DIRS (bug #5151).
- Startxfce4 doesn't handle empty client options (bug #5382).
- Fix some bashism in xinitrc (bug #5557).
- Make xinitrc work with Solaris (bug #5557).
- Remove deprecated encoding key from desktop files.
- Add support for starting gpg-agent.
- Add ability to enable/disable or change the type of screensaver and ssh-agent using xfconf.
- Drop ck-launch-session as CK is handled in xfce4-session (bug #6684).
- Fix Alt conversion in migration script (bug #4811).
- Restore xfrun4's terminal checkbox state on launch.
- Expand command to handle ~ in xfrun4 (bug #4041).
- Use '#' as a shortcut to open man pages using xfrun4 (bug #5984).
- Save the command the user typed in xfrun4, not the expanded one.
- Fallback to exo-open when failure in xfrun4 (bug #4985 and bug #2506).
- Remove run argument feature in xfrun4.
- Fix handling of CLI arguments when opening in terminal with xfrun4 (bug #5478).
- Update CSS based on Mike Massonnet's work (bug #5255).
- Fix incorrect (negative) exit values in xfmountdev4.
- Updated translations.
Application Finder (xfce4-appfinder)
- Remove deprecated encoding key from desktop file.
- Rename "Execute" button to "Launch".
- Port the libxfce4menu code to garcon.
- Use GTK+ API for the entry icon, if available.
- Port to libxfce4ui and GIO.
- Rework the tooltip string code a little.
- Don't watch category changes in xfconf (bug #6043).
- Launch items with startup notification.
- Implement monitoring by reloading all contents on menu change events.
- Updated translations.
Panel (xfce4-panel)
- Almost a complete rewite of the code. Everything is now written in GObjects. This makes each individual part easier to understand. All plugins are ported to GObject-based plugins and use Xfconf for storing their information (apart from desktop-files of launcher).
- Interfaces are all created by GtkBuilder.
- Ported to new Libxfce4ui (4.7.1) and Garcon (0.1.1) libraries. Other dependencies include Gtk+ 2.14, Glib 2.18, Xfconf 4.7.2, Exo 0.5.1, DBus-Glib 0.73 and Libwnck 2.22.
- On first startup a dialog will appear to migrate old panel config, start with the default setup or one empty panel.
- Panels can be dragged around the screen and snapped to every panel edge. Each panel also has a setting to control the window length (%).
- Possibility to lock panels. This will fix the position and hides the handles of the window.
- Alpha backgrounds.
- Item (plugin) editor in the preferences dialog, so you can easily add, move, delete and edit plugins that are sometimes hard to reach.
- Using Xfconf for storing the panel settings. Panels also watches the Xfconf channel for changes, except for adding and removing panels.
- New code for monitor/screen positioning. This should work a lot better with randr.
- DND of desktop-files on the panel to create new launchers.
- Possibility to add new plugins from the command line, including startup arguments.
- External plugins are automatically restarted if they have not crashed in the last 60 seconds. If they crash more then once in this time window, the user is asked what to do (restart or remove).
- Gtk style properties for popup/popdown delay (bug #5707).
- Hidden option to disable struts for windows on a screen edge, so the space is used by the window manager for other windows.
- Plugin API should still be the same, however the ABI changed so you need to recompile plugins against this version of the panel.
- New way to run plugins compiled as modules externally. Whether a plugin runs internal or external is controlled by a boolean in the desktop-file of the plugin. This does not affect the 'old' external plugins that are compiled as binaries, it is however recommended to port plugins to this new framework (only Makefile and macro change) since it is more flexible.
- Communication between the panel and wrapper (that embeds plugins to run external) is handled through D-Bus.
- New way to build plugins as GObjects with XfcePanelPlugin as parent type. This gives all advantages of GObject like type checking.
- New settings dialog for the actions plugin that allows one or two actions in the plugin in each order you want.
- New application menu plugin.
- New fuzzy clock mode and improved vertical orientation for the clock plugin.
- New directory menu plugin: menu that provides a directory tree in a menu. It allows to quickly open a Terminal or File Manager for some directory.
- Support to create a launcher from the command line with a number of desktop files as argument.
- New dialogs to configure launchers, with an application finder like interface to add new applications and using the Exo item editor for modifying launchers.
- Button to quickly access the Xfwm4 workspace settings in the pager plugin preferences.
- Support for transparent tray icons (requires at least Gtk 2.16).
- Option to only show icons in the Windows Button plugin. This drops the Icon Box plugin.
- If the windows list becomes too crowded windows will show up in an overflow menu, similar to what a menu bar does.
- Option to set the sort mode of the tasklist.
- Draw wireframe of the window on mouse hover, similar to the Alt+Tab wireframe in Xfwm4.
- Vertically orientated Windows buttons for vertical panels.
- Support for dragging menu items to create launchers (bug #2896).
- Fix segfault when directory is NULL (bug #6336).
- Restore button label binding in applications menu (bug #6277).
- Give the wrapper a widget name for theming (bug #6268).
- Add existing windows in the tasklist (bug #6273).
- Store the drop highlight position (bug #6270).
- Add option to application menu to show tooltips.
- Use exo desktop file names in default config.
- Set desktop type when migrating 4.6 launchers.
- Fix icon button allocation in tasklist (bug #6269).
- Restart external plugins on compositing changes.
- Give panel windows good theming names (bug #6268).
- Add Mallard page for theming (only reminder for now).
- Fix handling of custom menu items.
- Make the always group functionality work.
- Properly rebuild tasklist if a windows' workspace changed.
- Support remote event replies from the wrapper.
- Restore old workspace scroll behaviour (bug #6271).
- Handle pager orientation.
- Improve debugging in external plugins.
- Fix expand overflow (bug #6312).
- Add drag activate for window buttons in the tasklist.
- Add scroll support to switch between windows in tasklist.
- Handle window autohide blocking in application.
- Change order of plugin signals on startup.
- Add option to fix the length of the panel.
- Set icon geometries for the tasklist buttons.
- Add support to run plugins in valgrind.
- Add a pager mode with normal buttons.
- Fix menu positioning with autohide panels.
- Allow to quit the panel if no session manager is running.
- Fix typos in translated strings (bug #6350).
- Fix rounding issues in panel borders.
- Load the xfce-applications.menu as default.
- Add support for more background options (bug #1731).
- Improved debugging support using the PANEL_DEBUG environ variable.
- Add LIBXFCE4PANEL_VERSION.
- Link tasklist plugin to x11 (bug #6471).
- Add support for X-XFCE-Unique=SCREEN.
- Make sure there are not 2 active windows on ws-changes (bug #6474).
- Make the systray takeover selection.
- Ask to start panel when opening preferences without instance.
- Add logout to plugin menu and drop quit and restart.
- Add separator between help and logout in window menu.
- Improve and cleanup code for external plugins (bug #6358).
- Change colormap handling (bug #6358).
- Add debug mode to run plugins in gdb (export PANEL_DEBUG=gdb, logs in /tmp directory).
- Use activate signal for launcher menu items (bug #6485).
- Fix launching from primary clipboard (bug #6488).
- Add support for menu monitoring.
- Allow translations of the "Xfce Panel" string.
- Fix accelerator key conflict (bug #6765).
- Updated translations.
Session Manager (xfce4-session)
- Query HAL to be sure suspend and hibernate are supported. If not, don't even show the buttons (bug #4952).
- Allow xfce4-tips to work when 'fortune' is not installed (bug #2871).
- Allow clients to set arbitrary custom SM properties.
- Support _GSM_DesktopFile and use it in the settings dialog to display an icon and localized app name if available.
- Add org.freedesktop.PowerManagement support for logout actions.
- Add panel plugin that lists shutdown/logout actions.
- Huge refactoring of how SM properties are handled.
- Display richer information if the SM knows the client's .desktop file.
- If it looks like the helper got killed, just return success (bug #4849).
- Fix crash when properties are freed in failure handler (bug #5797).
- Port code to libxfce4ui and drop deprecated Gtk code.
- Fix error when running --help or --version (bug #6169).
- Fix changing the restart style (bug #5768).
- Add some additional checks for bug #5233.
- Allow slashes in the application name (bug #3995.
- Handle OnlyShowIn GNOME or KDE when compat is set.
- Don't save settings dialogs when saving session (bug #5113).
- A lot of compiler warnings got fixed and build improvements.
- Use ConsoleKit for shutdown and restart.
- Use Upower for suspend and hibernate.
- Use gtk_init_with_args in xfce4-session-logout.
- Add a desktop file for xfce4-session-logout.
- Remove deprecated encoding key from desktop files.
- Add support for new gnome-keyring (bug #5912') ?>, bug #5137 and bug #6073') ?>).
- Fix typo in xflock4 error message.
- Don't use consolekit when it's not enabled.
- Remove consolekit session creation in xfce4-session.
- Use cairo to draw the fadeout.
- Remove obsolete gtk_tooltip_* calls and other < gtk 2.14 code.
- Fix the check for legacy sm.
- Fix configure build options.
- Print build config after running configure.
- Various code cleanups.
- Translation updates.
Settings Manager (xfce4-settings)
- Add clipboard manager to xfce4-settings-helper (bug #4333).
- Port to libxfce4ui.
- Port to exo 0.5.
- Fix possible crash in the clipboard manager (bug #6125).
- Allow the user to edit, reset and create properties using xfce4-settings-editor.
- Allow the user to reset channels in xfce4-settings-editor.
- Edit properties when doubled-clicked in xfce4-settings-editor.
- Revert properties when DEL is pressed in xfce4-settings-editor.
- Plug some leaks in xfce4-settings-editor.
- Do not draw a gradient on xfce4-settings-editor's toolbar.
- Respect HIG in xfce4-settings-editor's dialogs.
- Remember the geometry of xfce4-settings-editor's window.
- Monitor the existing properties in xfce4-settings-editor.
- Rework the randr support in xfce4-settings, this requires randr 1.2 or higher.
- Add a minimal dialog for quick display setup (--minimal, -m).
- Port to libxklavier 5.0 API.
- Require the correct version of xi and inputproto (bug #6033).
- Fix the old shortcut duplicate after editing a command.
- Set value after setting the range and digits.
- Don't save settings dialogs when saving session (bug #5113).
- Release the current editor channel on exit.
- Allow resizing of the edit property dialogs.
- Fix linking issues (bug #6236).
- Fix pluggable dialogs (bug #6138).
- hange the way workspace names are handled.
- Remove deprecated encoding key from desktop files.
- Make the display settings dialog pluggable (bug #6524).
- Speedup startup of the keyboard settings dialog (bug #6661).
- Add startup notification support for keyboard shortcuts.
- Process xmodmap file at startup and on layout change (bug #5094).
- Save and restore numlock state (bug #3098).
- Ignore virtual XTEST mouse (bug #6735).
- keyboard: Fix handling of empty variants (bug #6727).
- Double click a keyboard layout/variant to edit it.
- Show xklavier descriptions instead of language codes.
- Scroll to the active gtk, icon or mouse theme.
- Use selected keyboard layout on session startup (bug #5270).
- Select first available keyboard layout when deleting the active one.
- Add X11/keysym.h include to keyboards.c (bug #6778).
- Fix compilation without Randr 1.3 (bug #6779).
- Updated translations.
Configuration Manager (xfconf)
- Add prefetching and caching support to XfconfChannel. Should speed things up a bit on app startup, and avoid blocking waiting on DBus in other cases.
- New simpler (internal) handling of property bindings.
- Remove dangling nodes from the tree after a recursive remove.
- Use a seconds timeout to reduce system wakeups.
- Only print debug messages when compiled with debugging.
- Merge xml files in reversed order (bug #6079).
- Disable cache singletons and improve some code now we know the tree is always empty during prefetch. This is only a disadvantage when creating multiple new channels with the same name, but in that case channels singletons should be used.
- Lots of memory leaks plugged. Valgrind log is clean now.
- Fix memory corruption during file loading and use mmap.
- Properly handle dirty channels in the daemon and avoid excessive saving of channels.
- Steal values during cache prefetch to avoid a lot of copying.
- Updated translations.
Desktop Manager (xfdesktop)
- Port xfdesktop to GIO and drop the dependency on thunar-vfs.
- Make heavy use of new Thunar D-Bus methods in order to re-use Thunar's dialogs and file operation algorithms.
- Port xfdesktop to thunarx-2, new updated extension library of Thunar.
- Properly hide partitions that cannot be mounted by the user (bug #6771).
- Depend on exo-1.
- Drop dependencies on libxfcegui4 and use libxfce4ui.
- Remove the menu panel plugin, this is now included in the panel.
- Remove various .desktop files for the menu, those are now included in the packages they belong to (exo, utils and session).
- Remove the .directory files, those are now shipped with Garcon.
- Drop the libxfce4menu dependency and use Garcon.
- Build documentation during make dist.
- Allow DnD to image list in settings dialog (bug #4337).
- Refactor drawing routines in XfdesktopIconView to remove most flicker and most if not all repaint glitches.
- Use cairo to draw the rounded text label background instead of the hacky PNG composition method.
- Make the text label corner roundness configurable via a gtkrc style property.
- Call to org.xfce.FileManager.DisplayFileProperties() for the full-featured file properties dialog before falling back to our own (bug #5622).
- Updated translations.
Window Manager (xfwm4)
- Fix window positioning problem when output it removed (bug #6209).
- Do not clear the show desktop flag upon activation of already visible windows.
- Transition fullscreen windows back to their original layer when another window is activated (bug #3551') ?>).
- Add new keyboard shortcut to switch between windows of the same application.
- Add new keyboard shortcut to switch between windows of different applications only.
- Port to libxfce4ui + GtkBuilder and drop libxfcegui4 dependency.
- Display an application switcher window per physical monitor (bug #5229).
- Fix opacity for newly mapped window not focused by default (bug #5706).
- Add new option "cycle_apps_only" to switch between regular toplevels only (avoiding dialogs - This option coupled with the new shortcut allows for faster window selection through keyboard).
- Implement prelinminary support for snap on resize.
- Implement a workaround to avoid loosing key release events.
- Add linkage to libm when compositor is used (bug #6231).
- Check for invalid type for GValue to avoid a crash (bug #6195).
- Don't save the settings dialogs when saving the session.
- Watch workspace changes in wnck and update treeview accordingly.
- Various theme updates.
- Updated translations.