In the GTK+ world, we have many lightweight music players, such as Audacious. While migrating to Qt, some people might want a Qt-based alternative for use in LXDE-Qt. Fortunately, we have Qmmp. Here are screenshots from their website. They provides the old-school WinAmp-like skins, or you can install the qmmp-plugin-pack to get the foobar2000-like simple UI.
Winamp like UI
Foobar like simple UI
The music player looks very suitable for LXDE-Qt, but it has some known problems, one of which is higher CPU usage then similar music players (mainly Audacious). To improve that, I spent two days hacking and found some potential solutions so I share them here.
- Install qmmp-plugin-pack and use mpg123 plugin for playing mp3 files instead of the default libmad plugin. Mpg123 is highly optimized and can use CPU features when available, such as SIMD. This can be changed in the preferences dialog. Just turn off the libmad plugin and turn on the mpg123 one. This greatly reduced the CPU usage while playing mp3 files. Qmmp by default give libmad higher priority, so you have to turn off libmad. Otherwise mpg123 won’t be used.
- Apply these 2 patches I created and recompile qmmp from source. The subversion r4265 code of qmmp should be used. Detailed information about the bugs they fixed is in the bug report 685. I already send the patches to the upstream, but they’re not yet applied. I post them here so other qmmp users can try them.
- Turn off the visualizer (spectrum visualizer) if you’re using the simple UI (the second screenshot above). It’s the main cause of high CPU usage. Turning it off can decrease CPU usage to some degree. With the second patch I provided, you can get rid of the CPU usage completely when the visualizer is off.
If you love qmmp, try to see if the solutions provided here solve your problems.
The LXQt project is steadily developed. While the image viewer lximage-qt just got some polishing lately, the Qt port of PCManFM file manager also reaches a quite usable state.
Some notable changes are:
- Add dir tree to the side pane
- Improved file popup menu
- Able to open the selected files with arbitrary apps
- Improved handling when trying to open an executable file.
- Improved statusbar info
- Many bug fixes
Though we don’t have a stable release yet, basically the feature set of the Qt port is quite close to the earlier 1.0 version of the gtk+ version. Users interested to the project are encouraged to test the latest code in our git repo. Patches are always welcomed!
Here is a guide for building lxqt components from git.
The image viewer of LXQt (LXDE-Qt) has been improved much recently. Here is the latest screenshot.
Here is a brief list of recent changes:
- Printing support added
- Thumbnail preview (the bottom pane on the screenshot)
- Built-in tool to take a screenshot
- Slide show support
- Improved fullscreen support
- Improved preference dialog
- File properties dialog added
The image viewer is fully functional and usable now. At the same time, other LXQt components are getting some more updates as well. Though there are no formal releases of LXQt yet, the latest code in git already works pretty well. Please stay tunned!
Hard at work and huge changes were served. Below you’ll find the NEWS files for PCManFM and libfm, usually we post the git log and link the commit IDs to the log but that is not possible this time, the NEWS files combined are 4800 words!
pcmanfm-1.2.0.tar.xz, sha1: d2a72a25d1f5a9fd6a245bfe5a8723969fa27e9a
libfm-1.2.0.tar.xz, sha1: f4da9f73111364291501bfc752c50d43a17f17cf
PCManFM – full git log
- Implemented accessibility for the desktop managed by pcmanfm.
- Added missing accessibility relations between main window parts.
- Added tooltips for desktop items. Tooltips contain full file names, while desktop text shows them truncated in case of long names.
- For LibFM version 1.2.0 (and newer) show version of LibFM in the About window as well, not just PCManFM version.
- Added support for configuration options of LibFM 1.1.0 and 1.2.0 into Preferences dialog.
- Adopted new LibFM APIs and disabled all the deprecated calls.
- Implemented separated desktop configuration for each monitor. The Desktop Preferences dialog will be applied only to current monitor.
If no setup was ever done for secondary monitor then setup will be copied from primary one. Configuration will be converted into new style
from old one on the first start of PCManFM desktop manager. The new configuration will be not known to old version of PCManFM so if you
start old one again, it will gain default configuration for the desktop instead.
- Changed representing of sort mode in config file: instead of numerics ‘sort_type’ and ‘sort_by’ it’s saved as ‘sort=’ text setting. Thus it is possible to save extended modes such as ‘case’ or ‘mingle’ and save sort by extended columns (see LibFM new APIs).
- Implemented saving of columns (works for Detailed List View mode). The list of columns is represented as [:<width]. This feature will work with LibFM 1.0.2 or newer. The LibFM 1.1.x will get some
benefit only, the PCManFM can load that list from config. The possibility to catch columns change is available since LibFM 1.2.0 so this feature will work in full only with LibFM 1.2.0 or newer.
- Changed strings to follow common Human Interface Guidelines for strings capitalization.
- New tab with Search Results now opened in Detailed List View mode with columns: Name, Description, Location, Size, Modified. Since Search Results is a special folder, its layout should be other than default.
- The ‘Tools’->’Open Current Folder as Root’ menu item is removed along with ‘su_cmd’ configuration option. That mode is too much dangerous and appropriate functionality can be achieved using DES-EMA extension for context menu, no need to hardcode it into PCManFM.
- Added support for extended sort modes into main menu.
- If used with LibFM 1.2.0 or newer then list of view modes in the main menu will be not hardcoded but list of supported view modes retrieved from FmStandardView widget.
- Added support for per-folder configurations: sort mode, show_hidden, and view mode. The settings will be loaded from the file .directory if it exists, the file ~/.config/pcmanfm//dir-settings.conf will be used otherwise (and if linked with LibFM 1.2.0 or newer then the file
~/.config/libfm/dir-settings.conf will be used instead by the LibFM). Those settings will be saved not for each of the visited folders but only if ‘View’->’Save for This Folder’ checkbox in the main menu is checked, and will be forgotten after it’s unchecked.
- Changed representing of view mode in config file: instead of numeric ‘view_mode’ it is saved in portable way as string defined by widget FmStandardView.
- Changed representing of side pane mode in config file: instead of numeric ‘side_pane_mode’ it is saved now in portable way as string defined by widget FmSidePane.
- Implemented Dual Pane mode which can be toggled on anytime. If there is some tab next to current then it will be used for inactive pane, and if there is only one
tab present in the window then new tab will be created (for the same directory as current view). When tab that is shown in inactive pane is closed then Dual Pane mode
is terminated and may be toggled on again by user if needed. The Dual Pane mode can be toggled either via the main menu or by pressing a key ‘F3′.
- Added icon size manipulations (increase, decrease, normalize size) into View menu. New size will be remembered in config for the appropriate type of icons.
- Added configuration for toolbar: it can be now hidden, and elements on it (New Tab, navigations, Home) can be hidden individually as well.
- Added menu option ‘Go’->’Connect to Server…”. If selected it opens a dialog window to select type of remote folder and few parameters (host, port, path, login) for the connection. If not cancelled then selected remote folder will be opened in new tab.
- Implemented new config option ‘media_in_new_tab’, defaulted to false. If set then automounted folder will be opened in new tab instead of new window.
- Implemented new config option ‘desktop_folder_new_win’, defaulted to false. If set then folder from desktop will be opened in new window instead of new tab.
- Context menu options to open folder in new window / tab / terminal now available also for side pane items’ context menu if used with LibFM 1.2.0 or newer.
- If used with libfm 1.2.0 or newer then option ‘mingle’ will be included into default sort modes for the Desktop. This is expected by most of users – we add something to Desktop, then we see it after all already added items, not after other folders.
- Implemented handling for extra items on the desktop:
- Trash Can
- “Documents” folder
- external media
Those items have not be in the Desktop folder, they will be added to the view by desktop manager internally. Corresponding config options are ‘show_trash’, ‘show_documents’, ‘show_mounts’ – those are set in
the desktop config for each monitor. Default is true for ‘show_trash’ and false for other items. Note that all those items are not links of any kind but folders itself so weird operations with them may lead to weird results. This feature will work only if linked against libfm 1.2.0 or newer.
- Folder view modes moved to separate submenu to make View menu shorter.
- Reordered View, Bookmarks, and Go menus placement in menu bar to follow common order used by other applications and file managers.
- The menu items ‘Go’->’Applications’ and ‘Tools’->’Find Files…’ should become insensitive now if appropriate modules were not loaded.
- Added new section ‘autorun’ into config where last choices made by user for some kind of inserted media is remembered. Added a checkbutton
‘Always perform this action on this media type’ into the dialog where user selects an action so user can remember the choice and never ask again
for that kind of media. The button is not available for unknown or mixed media types. The ‘do nothing’ kind of choice is allowed to remember as well
if user selects not ask again and press the ‘Cancel’ button in the dialog. The choice ‘not ask’ is saved in config file as asterisk (*) prepended to application ID. The choice of view in the PCManFM itself is saved as pseudo-ID “pcmanfm”.
- The menu option ‘Edit’->’Delete’ is split to two: ‘Move to Trash’ and ‘Delete’ because some users with disabilities may not be able to use keybinding Shift+Del therefore should be a possibility to do exact action by mouse only.
- Added new menu option ‘File’->’Folder Properties’ which duplicates the folder context menu option for those who cannot use the context menu.
- Added new menu option ‘Edit’->’Properties’ from the selection context menu for those who cannot use the context menu.
- Added new menu option ‘Edit’->’Open’ to launch selection for those who can use neither keyboard nor selection context menu.
- Added new config option ‘show_statusbar’ with default to true which defines should status bar be shown or hidden. It’s controllable via menu ‘View’->’Show Status Bar’.
- Added new menu option ‘File’->’Create Link…’ to create link(s) on the selected file(s) into some directory.
- Implemented a runtime option to open Find Files dialog window. It will not replace any other options, i.e. if used alone and no other window nor desktop manager is active, it will open new default window.
It will not open any additional window if used when an other window or desktop manager is active though.
- When wallpaper mode is color-only, the file chooser for wallpaper image is not clickable anymore because it has no reasons to be clickable.
- Implemented the interactive search for desktop contents. It is similar to that in GtkTreeView and ExoIconView, activated by just typing or pressing Ctrl+F. This small search entry window is
opened at the top right corner of workspace. It supports the same shortcuts as those GtkTreeView – Ctrl+G for “find next” or “Shift+Ctrl+G for backward, scroll gestures also possible.
- Added new menu option ‘View’->’Filter…’ which allows to apply shell pattern to files currently shown in the view. The pattern is case insensitive.
- After creation of new tab using keyboard Ctrl+T (or main menu option) the Location Bar of new created tab will be focused to allow easy change path. Any other created new tabs will have the focus as usual.
- Added new config option ‘change_tab_on_drop’, defaulted to true to keep old behavior: when you drag file(s) on tab label then tab will be
unfolded so you can drop files into folder view. If set to false (new behavior) then the tab will be not unfolded but you can drop files directly on tab label using any wanted gestures and files will end up in the folder that tab label points to.
- Added new menu option ‘Edit’->’Copy Path(s)’ to copy text paths for the selection into clipboard.
- Added new config option ‘home_path’ (unset by default) which defines the file path or URI string to open when ‘Home Folder’ is activated in side pane, toolbar, or menu. Available only with LibFM 1.2.0 or newer.
- Added new config option ‘focus_previous’ defaulted to false (preserving old behavior) which allows select and focus the folder where we came from when we go into parent directory. It’s available only with LibFM 1.2.0 or newer.
- Added new config option ‘close_on_unmount’ defaulted to true. If set to true then tab containing a folder that is vanished (that happens if the folder either
was deleted or was renamed or was unmounted) will be closed. If set to false then such tab will go to the ‘Home Folder’ instead (with respect to ‘home_path’ config option).
- Implemented possibility to set custom folder to display on desktop. It is saved in monitor config option ‘folder’. If that config
option is unset that implies default desktop folder. If that config option is set to empty string then desktop icons support and drag&drop support will be disabled for that monitor. Otherwise mentioned path will be used to display on the desktop instead of Desktop Folder.
- Changed saving option ‘wallpaper_mode’ into desktop config, it will be saved as text instead of number to allow further improvements.
- Added new wallpaper mode ‘crop’ that will scale image proportionally to match the monitor size fut in difference to the ‘fit’ mode the scaled image will fill whole monitor area and will be cropped if it’s bigger than the monitor.
- Added new wallpaper mode ‘screen’ that will scale image to fill the entire screen size and display appropriate part on the monitor it is configured for.
This mode is useful when people have an appropriate wallpaper and want their screen composed of two monitors to show the whole image – a part on first monitor and other part on second.
- Added alternative to Location Bar – implemented FmPathBar support with switching via menu ‘View’->’Path Bar’->… radio buttons. The path bar mode is applied to windows opened after change, the same way as the side bar change is applied.
- Added optional ‘New Window’ button to the toolbar left to ‘New Tab’ one to those who don’t like tabbed view.
- The statusbar can show total size of selected files if some conditions are met. Conditions are:
- number of selected files should be less than 1000;
- selection should contain no directories.
Those limitations are due to lightweight nature of the file manager and otherwise counting will take too much resources.
- Added API to create third-party plugins that may append own text to the statusbar text for selected files. The plugins should be installed into $(libdir)/pcmanfm folder and use “#include” directive in the code.
- Added new menu option ‘Tools’->’Run a Command in Current Folder’ to run an arbitrary command line from the folder opened in current tab. This option works only with LibFM 1.2.0 or newer.
- A whole lot of bugfixes.
libfm – full git log
An unusual update. Andriy posted a note to the pcmanfm development list about the upcoming release of PCManFM and libfm components. He has been hard at work closing bugs and adding features and in hopes to release in time for the next Ubuntu freeze we’ve now entered soft string freeze. This means that no new features will be added and most strings are stable enough to be translated. In about two weeks a solid freeze happens and no strings will change (hopefully we’ve found all hard to translate cases by then). If you want to help test drive the new code (build from source: pcmanfm-1.2.0-beta1.tar.xz libfm-1.2.0-beta4.tar.xz) or add to the translation effort we do welcome that.
If nothing very evil happens a new and shiny PCManFM 1.2.0 will be out early February.
And not every day the release and log sync works as expected. The early testing did not reveal that we had a horrible bug in the settings dialog. This is the only real change since 0.5.4.
lxappearance-0.5.5.tar.xz, sha1sum: 5497886d84bfdac0c18709e076b4acd96caba912
Changelog (except translations)
58b13aa – Fix crash: button id ‘enable_antialising’ not found in UI.
Welcome to an important bugfix release of LXAppearance. There was a missing newline in the theme file created by the application and that file was then unusable. Another minor thing is that we’ve switched to xz as default compressions (for all components).
lxappearance-0.5.4.tar.xz, sha1sum: e9b5f4704f2947aac5cec2bfbaeb376b548148ea
Changelog (except translations)
cc57437 – Correct spelling for “antialiasing”.
f63c857 – Fix ~/.icons/default/index.theme saving file – it wasn’t correct keyfile.
53c66db – Distribute tarballs in XZ format instead of GZIP by default.
The look and feel configuration tool LXAppearance was just released. Mostly internal fixes for build systems. The more externally interesting changes are support for non-lxsession environments, compile with –enable-dbus to use this.
lxappearance-0.5.3.tar.gz, sha1sum: d0342072512107bfcbe0465e27678e71a34c6733
Changelog (except translation changes)
8f02080 – Correct xml_purge_SOURCES in src/Makefile.am to contain relative path.
af8a1e4 – Lower autoconf version required – it works with 2.64 just fine.
caa1029 – debian: run autogen.sh to generate the automake files
5a2b99d – debian: fix the build to avoid empty packages.
1cbf9c8 – Change in configure.ac for compatibility with automake 1.14
0e89eec – debian: remove libmenu-cache1-dev from build dependencies, it isn’t needed.
a50b8ed – Fix support for non-lxsession environnement when compiled with –enable-dbus
b4389f7 – debian: resync with Debian
6a425f6 – Update build system
3aa02c9 – debian : Add also the build-depends on dbus-glib.
819549f – debian: Add –enable-dbus to make it work with new lxsession
6235bf2 – Fix NotShowIn (#3537354) and categories for consistency
The image viewer application GpicView have been updated; GTK3, minor refactoring and some updates to the infrastructure for building.
gpicview-0.2.4.tar.gz, sha1: 423143c850390db9784ad9812b9f929c18dd51ea
5e5b7ae – Modernize autotools
3204817 – Remove gtk-doc stuff in autogen
2c7cec9 – Fix autogen with new versions of automake
2ca2926 – Install the icon in the hicolor directory, and use a themed icon when available.
f06a367 – Update .gitignore
404abde – Update .pot file
45dc7d2 – Show images from current directory when run with no arguments.
5f02823 – Show/hide toolbar. Handle case “gpicview path/to/some/directory/”.
3c2f1a2 – do not reset zoom mode on prev/next actions
840219a – Some refactoring of zoom and scale switching code. Also fixes glitches of “Fit Image” button state.
c09b934 – fix “Fit Image” with Gtk3
88e76ee – fix scrolling when scale == 1
83a5589 – fix displaying images with gtk3
71574c7 – Fix compilation with GTK3 for image-view.c. Ok, the program builds succussfully with GTK3 (but does not show any images, however), it is time to do something useful.
b6074e6 – Fix compilation with GTK3 for main-win.c
987e384 – allow automake 1.12
The OpenBox Configurator plugin to LXAppearance was just released. Grab the file from sourceforge.
This release is mostly a maintenance release, making sure the code base builds and keeping it in sync and working with both OpenBox 3.5.0 and 3.5.2.
lxappearance-obconf-0.2.1.tar.gz, sha1: 13ef5ab481f72b9782a22486df9b133554af92fa
1b3ebd4 – config.h should be included by src/preview.c to get its defines.
c9d5ca6 – Make it compilable with both Openbox 3.5.0 and 3.5.2.
06fe6ce – Update autogen.sh to build with newer autotools
2449b84 – Keep depending on openbox lib 3.5, the version didn’t change with openbox 3.5.2
c8f0cd4 – Fix building with openbox 3.5.2, and increase the depends (fix 3614951)