new rhythmbox 3.4 released


Unusually early this time, Rhythmbox 3.4 has been released.

Its available for Yakkety users – but I’ve done some judicious hacking and its now also available for 16.04 users as well.

ubuntu xenial (before 10.2.6) [Running] - Oracle VM VirtualBox : 1_043

(screenshot taken with rhythmbox 3.4 + my alternative-toolbar plugin)

Thanks to the key Rhythmbox maintainer Jonathan Matthew we have a good release that incorporates a variety of fixes and improvements over the rhythmbox 3.3 available in xenial by default.

This version contains the following:

Overview of changes in Rhythmbox 3.4

  • New web-control plugin –> I couldn’t get this to work in Yakkety nor Xenial so lets skip over this bit…
  • Grilo plugin now uses Grilo 0.3 –> only relevant to Yakkety, downgraded in Xenial due to the older Grilo available
  • Soundcloud plugin fetches more search results and allows pausing
  • No longer uses webkit (partly due to OpenBSD W^X enforcement)–>my plugin coverart browser is broken due to GTK3.18 changes in xenial.  This webkit change basically will necessitate a rewrite😦
  • Slightly better handling of keyboard shortcuts for playback
  • Core and some plugin data files compiled into binaries using GResources
    Bugs fixed:
    
    703910  Entering then leaving Party Mode breaks the app menu; Party Mode status incorrectly reported
    721926  TerraParser (lyric's plugin) is not fetching lyrics correctly
    759589  grilo: Port to 0.3.0
    765833  [regression] Cover art shown superposed over the song titles and artist names when cover art is 
    disabled
    766584  Referenced website replaygain.org is not about ReplayGain
    767318  Use correct pkg-config binary
    767466  daap: Fix warnings when configuring music sharing
    767524  "To translators: the context is" doesn't continue the sentence
    768545  Cannot change MP4 encoder settings
    769404  Memory leak

Stock Ubuntu 16.04 users should definitely benefit for 12+ months worth of bug-fixes and refinements.

IMPORTANT:

If you are using my plugin alternative-toolbar this version of rhythmbox introduces a nasty regression and breaks the plugin.  I’ve fixed this now for xenial users and is available in my rhythmbox-plugins PPA or via GitHub.  I’ve uploaded a fix to Debian Unstable and have created a bug-report on launchpad requesting a resync from Debian for Yakkety.

If you are looking to have the latest, I’ve packaged this together and is now available in my Rhythmbox PPA. This PPA contains the existing Ubuntu patchwork – hide on close, support for local and global menu etc. N.B. – I tend to update my PPA as and when I’m investigating what is new in upstream Rhythmbox.

sudo add-apt-repository ppa:fossfreedom/rhythmbox
sudo apt-get update
sudo apt full-upgrade

Note: sometimes the upgrade doesn’t quite work.  If you get a segmentation fault repeatedly on startup then uninstall and reinstall rhythmbox

sudo apt-get purge rhythmbox rhythmbox-plugins rhythmbox-data librhythmbox-core10
sudo apt-get update
sudo apt-get install rhythmbox

 

budgie-remix 16.04.1 released


Actually we released last week but since this is my first Planet Ubuntu blog seems like an opportune moment😉

Using the superb Budgie Desktop, we are pleased to follow the official Ubuntu and community flavour release cadence and offer up a new release incorporating the mass of updates since 16.04 in April. Download links are here.

Our first release was released immediately after 16.04 – built from scratch in less than two months!  This time,  16.04.1 is actually not just a standard point release though. We now build budgie-remix in an automated repeatable manner based on the iso-builder from the Elementary team.

sleeping_beauty_by_jordan-whitt.jpg

Sleeping beauty (above) is just part of a new selection of wallpapers – thanks to Jeremy Bicha for supporting and guiding us – this package has been submitted to the Ubuntu 16.10 proposed queue.

We’ve included the very latest budgie-desktop available (10.2.6) – the same package that I submitted to Debian, together with Moka, Faba and Arc-Theme packages (all submitted to Debian and now available in Stretch as well as Yakkety).

The budgie-remix team have developed for this release a welcome app to introduce new users to the desktop and offer advice to get the best out of the distro.

Screenshot of Budgie Remix Welcome App

All the remaining packages that make up budgie-remix have also been submitted for review.  The goal is to ensure all packages are in the Ubuntu repo’s … we aim to demonstrate that the budgie-remix team can support its software on an ongoing basis through official distribution procedures.  Maybe also in the future become an official community flavour😉

David

budgie-remix project team lead

 

Rhythmbox Alternative-Toolbar goes dark…


Taking some time-out from budgie-remix matters, I’ve released an update to my plugin for rhythmbox called alternative-toolbar.

For those not in the know, this plugin gives rhythmbox a stylish makeover – introduces a compact bar for most desktops and a headerbar for GNOME based desktops.

In this release the following changes have been made:

  • Option for dark theme
  • Display Browse Categories horizontally or vertically
  • Display app-menu correctly in budgie-desktop
  • Updated translations from Launchpad.net
  • correctly toggle search button via CTRL+F
  • option to force the display of the app-menu if required

For a full list of extras that are available for rhythmbox users via this plugin have a look a the README.

But lets have some pretty pictures to explain what’s new.

Dark-theme – For those that like their media players with a dark-style there is a new option in the plugin-preferences.

Screenshot from 2016-05-19 19:45:28

Normally Rhythmbox displays its filter options above the music.  For those of us without much vertical space to play with this doesnt allow us to see as much music in the grid-list.  This new option allows for the filter options to be displayed on the left hand-side of the music list making much more use of a normal widescreen display.

Screenshot from 2016-05-19 19:46:55

For budgie-desktop users you may have noticed that the App-menu was not displayed in the same position as other GNOME apps … well that’s been fixed.

ubuntu xenial [Running] - Oracle VM VirtualBox : 1_029

… and as an aside, there is a gsettings value to force the display of the app-menu if required.

The search button is now correctly toggle-able via the CTRL+F keystroke.

This version has also been accepted into Debian – so Yakkety users will see the plugin in the main repo soon.

For all 14.04, 15.10 and 16.04 users this version can be installed via my rhythmbox-plugins PPA:

sudo add-apt-repository ppa:fossfreedom/rhythmbox-plugins
sudo apt update
sudo apt install rhythmbox-plugin-alternative-toolbar

 

Writing Python Applets for the budgie-desktop


Well here is my first budgie-desktop applet:

ubuntu xenial [Running] - Oracle VM VirtualBox : 1_027

Seen this before?  Well yes – this is the Indicator SysMonitor app-indicator which has been updated to support budgie-desktop.

In-fact … it works much better under budgie because you don’t have to fiddle with applet ordering to stop applets jumping around with the SysMonitor label values grow/shrink in size. Just use Raven to order the applet correctly.

This is just a workout – to see what changes I need to do to get an existing python based app-indicator to natively work under budgie-desktop.

The changes were remarkably small.

Lets dive in.

First grab the source-code and install

sudo apt-get install python3-psutil curl git
mkdir -p ~/.local/share/budgie-desktop/modules
cd ~/.local/share/budgie-desktop/modules
git clone https://github.com/fossfreedom/indicator-sysmonitor.git budgiesysmonitor
nohup budgie-panel --replace &

Then use Raven to add the “Panel Sys Monitor” applet


Ok – so what did I do to convert the existing app-indicator to work under budgie?

All local installed applets need to be installed into a subfolder of ~/.local/share/budgie-desktop/modules.  An applet basically consists of two key files – “.plugin” which is the control file containing the description & Icon you see in Raven together with the name of the python module where budgie & Peas (the library that does all the clever stuff for the display of the applet) has the entry point to “run with”.

TIP: make the module name in the .plugin name the same as the folder name – its case-sensitive.  So in this case the python module is “budgiesysmonitor.py” – so the module name is “budgiesysmonitor” and the folder name containing all the source is also “budgiesysmonitor”

TIP: make the .plugin filename the same as the Class entry point in budgiesysmonitor – so the filename is “BudgieSysMonitor.plugin” and the class entrypoint is “class BudgieSysMonitor(GObject.GObject, Budgie.Plugin):

First comment out/delete the AppIndicator specifics – the gi.repository import AppIndicator statement etc.

Replace a line like “appindicator.Indicator.new(…)” with a Gtk container equivalent such as a button e.g. “button = Gtk.Button.new()

Connect the signals that updates the Button Icon and/or label – for this applet sysmonitor just changes the label – there is no icon to display.

Add a test application wrapper :

# testing
win = Gtk.Window()

...
# setup an instance with config
win.add( button )
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

Run your new python app and make sure it works as you expect – click stuff, menu’s, display etc.

Then when you are happy, comment out the test app portion and just top and tail with the Applet specifics for Budgie i.e. the correct import:

import gi
gi.require_version('Budgie', '1.0')
from gi.repository import Budgie, GObject

The magic is this bit – two classes – the Peas entry point “BudgieSysMonitor” and the Panel Applet – our button is created here:

class BudgieSysMonitor(GObject.Object, Budgie.Plugin):
    """ This is simply an entry point into the SysMonitor applet
    Note you must always override Object, and implement Plugin.
    """

    # Good manners, make sure we have unique name in GObject type system
    __gtype_name__ = "BudgieSysMonitor"

    def __init__(self):
        """ Initialisation is important.
        """
        GObject.Object.__init__(self)

    def do_get_panel_widget(self, uuid):
        """ This is where the real fun happens. Return a new Budgie.Applet
        instance with the given UUID. The UUID is determined by the
        BudgiePanelManager, and is used for lifetime tracking.
        """
        return BudgieSysMonitorApplet(uuid)

class BudgieSysMonitorApplet(Budgie.Applet):
    """ Budgie.Applet is in fact a Gtk.Bin """

    button = None

    def __init__(self, uuid):
        Budgie.Applet.__init__(self)

        # Add a button to our UI
        self.button = Gtk.Button.new()
        self.button.set_relief(Gtk.ReliefStyle.NONE)
        self.add(self.button)
        self.show_all()

Test your new applet – you’ll need to shout at budgie-panel to make it recognise your new applet:

budgie-panel --replace &

See – easy!

P.S. before you complain – yes I should be using a Popover to display the menu when clicking the applet but that’s for another day.

Source – Ikey’s plugin examples – for C and Vala hackers there are similar example plugins in the linked github repo

 

budgie-remix 16.04 is now out!


The budgie-remix team are proud to announce the 16.04 release of budgie-remix.

Built upon the superb 16.04 Ubuntu LTS package archive, this is our very first full release using the excellent budgie-desktop from the Solus Project team.

64bit and 32bit ISO’s are available as well as bittorrents for these ISO’s – remember to keep seeding please!

Captura de tela de 2016-04-20 08-33-08We have a fantastic and enthusiastic growing community on both Google+ and Reddit – thank you for supporting us through testing and providing valuable feedback.  Some pictures from the community are shown in this post. More details on our support-us page on how to help budgie-remix.

Screenshot from 2016-04-14 13-50-50The budgie-remix team has grown from just myself, to the irrepressible HEXcube, the on-the-ball SpotTech, the enthusiastic Ploctaux, eagle-eyed Foggalong and our newest design recruit udara-u3.  It has been a pleasure working with you all🙂

Working with upstream guys like Horst3180, Ikey Doherty, Pinguy and others has been great.  Cheers!

2016-04-14-143643_1920x1080_scrotWe have come a long way in a very short time.

It doesn’t end here.  The team has lots of stuff lined up and we’ll announce these in the next days and weeks.  From the fantastic Solus Project team – we look forward to the forthcoming new releases of budgie-desktop this year and we’ll bring these updates to you our 16.04 members as soon as possible.

Moreover – we have lots of opportunities for you as well to get involved.  It is this part we are most excited about.  We need your help to achieve our number one goal – to become an official member of the Ubuntu family.  Please look out for these announcements and don’t be afraid to step forward!

Next step will be the 16.04.1 release of budgie-remix in approximately three months time.

Likewise we’ll be publishing our first alpha 16.10 builds in July, looking forward to the 16.10 release in October.

budgie-remix release candidate 1


As we march madly onwards towards the 16.04 release of budgie-remix, I’m pleased to announce our first release candidate.  Please grab these from our download site and give these a good workout.

ubuntu budgie 32bit (before testbudgie ppa) [Running] - Oracle VM VirtualBox_009

Have a look at the README – the known issues should be looked at.

Feedback any issues on our launchpad bug-tracker, discuss via our google+ and reddit communities.

As always – many thanks to the thousands of testers who have downloaded budgie-remix.

On behalf of the development team (Hexcube, Foggalong, Ploctaux, Spottech, myself) lets make one more push to make budgie-remix ready for the wider community.

cheers