udda/multiload-ng

mate-panel: custom colors not restored

spvkgn opened this issue ยท 26 comments

User-defined colors not restored on logout MATE session or with mate-panel --replace, as follows:

Set custom background colors: 1
After logout or restart mate-panel background displays in default color: 2

Same with xfce4-panel. Problem exists for current version of xfce4-mjultiload-ng-plugin in the ppa:nilarimogard/webupd8 repository, and prior two versions.

(It's annoying enough that I'm going to invest about 30-40 minutes finding a previous version (the one with the previous style settings dialog did preserve color settings), or just give up on this magnificent and promising project for a while and check back later :-(

udda commented

No need to give up, I am already working at this for about an hour ;)

Some additional information could be useful:

  • does it happen only with background colors or with all colors?
  • does setting a color scheme (without editing it) work?

Awesome!

All colors are affected, even border and background. The most recent version (from ppa:nilarimogard/webupd8) does actually remember colors set from a pre-defined color theme, just not custom colors. (Whatever version I had before however did not even remember that - so, progress!)

It appears that an issue I filed a few weeks ago on this has disappeared. In it I provided a million thanks for this project. So I'll reiterate that this little applet has single-handedly allowed me to migrate away from Gnome2/MATE, which I've been wanting to do for at least a decade but couldn't give up the CPU/memory graphs! So, thank you.

One more edit: I'm on v1.4.0

udda commented

@doublemeat: it's not disappeared! I answered you, made some changes and marked it as closed.
If you missed it, click on #22 ๐Ÿ˜„

udda commented

Little update

I was not able to reproduce the problem in my machine.
After a few failed color changes (like you described) everything is working regularly now. Also, only MATE plugin shows this problem.

However, I am using Multiload-ng on the main development machine (where I frequently mix different versions, test new settings, and so on), so my experience may not reflect the one of final users.

So, I confirm that there is a problem, but it's so much harder to debug and fix something that I can't see. I hope you understand that.

Little help

Could you test it again, and provide every piece of information you find relevant? In particular, please try following these steps:

  1. change color(s)
  2. close preferences dialog (this triggers settings save)
  3. restart only the panel (via killall mate-panel && mate-panel and xfce4-panel -r) and check colors
  4. change again colors(s) and close preferences dialog
  5. this time logout and log back in, and check again

I need to find the situation that causes the issue. Any little difference is useful.

change color(s)

Set custom color scheme based on 'Multiload-ng' scheme and change background color.

close preferences dialog (this triggers settings save)
restart only the panel (via killall mate-panel && mate-panel and xfce4-panel -r) and check colors

The changed background color resets to default. In custom color scheme prefs the colors resets too. However, in gsettings org/mate/panel/objects/object_9/prefs/ the changed color codes preserves.

change again colors(s) and close preferences dialog
this time logout and log back in, and check again

The same results here as well I see. v1.4.2, MATE 1.8.2

udda commented

Other settings working?

Setting color scheme without edition works - it preserves. I don't fully understand what else I could check.

udda commented

Sorry, I meant other settings like size, interval, command line, tooltips, etc...
I now suppose that they do work properly.

I am coming back to this issue in a couple of hours. If I don't get to the source of the problem, I will inject some debug code.

There seems no issue with other settings as far as I can see.

udda commented

I have another little request: can you try removing Multiload-ng applet and adding a new one? Does the issue still persist?

Yes, It's still persist. Also, I've tried with xfce4-panel and the same issue occurs.

udda commented

Ok Maybe I fixed it. Just tested in Arch and Ubuntu and it works well.

I need you to test lastest version in order to confirm the fix and close the issue. This version has not yet been packaged by WebUpd8, so if you want to help, you have two options:

  • Build multiload-ng from git source (preferred method, if you are able to)
  • If you are using Ubuntu/Mint (just tell me the version) I can try to provide you a .deb to install with dpkg

EDIT: @spvkgn I do remember that you are on Ubuntu 12.04, but I meant to include @doublemeat too in this request. I can provide simple instructions for building from source, if needed.

I have some error when building git snapshot, please see http://pastebin.com/i9fWzZsQ

udda commented

Seems easily solvable. Could you please post your config.log?

Edit: forget it, I already spotted the problem. Try again with lastest code.

With latest git some other error appears: http://pastebin.com/5YYJFep7
config.log http://pastebin.com/uGcMDinr

udda commented

I'm sorry, this kind of things just happens with development code...

I fixed this one too, please try again with lastest code

I tested it and it seems it works like a charm now. Thank you so much!

udda commented

Very happy to know that ๐Ÿ˜„

I'm on Xubuntu 16.04. I just got a new laptop so dev environment not set up yet - if you happen to have a .deb laying around, I'll install and test it!

udda commented

I'm rather new to Debian packaging, but I'm trying to make a deb for you in a few hours ๐Ÿ˜Ž

Anyway, the problem seems to be solved (albeit I'm waiting for your confirmation too), but this will give you a taste of the newer features!

udda commented

Here are two deb files I created with Multiload-ng builtin package generator. I have no means of testing them, but other people previously reported that packages generated this way do work well.

  • the first was created within Ubuntu 16.04 (32 bit)
  • the second was created within Gentoo (64 bit), but should be installable in 64 bit *Ubuntu without any problem

Choose the one that suits your architecture. I hope these work! I can't test them since I am not using Ubuntu.

multiload-ng_1.4.2.20161030-1_i386.deb
multiload-ng_1.4.2.20161030-1_amd64.deb

Note: these packages are not redistributable! These were created to test a development version, these are simply not ready for release, just for testing purposes.
Before installing, you might need to uninstall any other release package of Multiload-ng (including WebUpd8 ones), and then when you are reinstalling WebUpd8 official packages, remove the one you installed from here. (preferences are not removed with the package)

FYI - I couldn't get your multiload-ng_1.4.2.20161030-1_amd64.deb above to install. So I deconstructed it and rebuilt it, it seems to work. (Link below.)

Some background on the problems I had with your version:

My version info: Xubuntu 16.04.1, x86_64, kernel 4.4.0-47-generic.

The Ubuntu "Software" manager, upon trying to open it, would give the error: "Sorry, this did not work", "no file_to_app results to show".

It loaded without complaint in gdebi (graphical deb installer), and when you click "Install", it seems to - but doesn't. (And normally the "Install" button goes away upon success, replaced by "Reinstall" and "Uninstall", but doesn't.) If you click on the Lintian output tab, you see this:

dpkg-deb: error: file '/home/user/Downloads/multiload-ng_1.4.2.20161030-1_amd64.deb' is not a debian binary archive (try dpkg-split?)
/bin/tar: This does not look like a tar archive
/bin/tar: *control: Not found in archive
/bin/tar: Exiting with failure status due to previous errors
Skipping /home/user/Downloads/multiload-ng_1.4.2.20161030-1_amd64.deb: could not read control data in /home/user/Downloads/multiload-ng_1.4.2.20161030-1_amd64.deb: at /usr/share/perl5/Lintian/ProcessablePool.pm line 91.

Lintian finished with exit status 2

So I rebuilt the deb. Steps:

The gdebi Lintian output wasn't flawless, but seemed like minor problems, and it seems to have installed fine.

(And yes, it's now Spanish, while I'm a native EN-US speaker. I can get along OK in Spanish so that's fine, and I already know what everything is supposed to do and say anyway ;-)

Here's the new deb file - specifically for XFCE4 x86_64 (english users will see spanish text):

multiloadng_1.4.2.20161030_doublemeat.deb

Thanks again for the good work!

I should also add that this version does seem to fix this specific logged issue. Custom colors are restored. Yea!

udda commented

That .deb file was simply badly generated :hurtrealbad: I told you that I am not good with Debian packaging...

You can just ignore that file, there is a new release and I'm sure that Andrew @ WebUpd8 is already at work to add to its PPA.

The important thing is that it solved the issue for you! :feelsgood:

Well done on the Doom Guy! ;-)