DockbarX 0.90.2 cannot handle chromium webapps correctly

Bug #1069460 reported by Philipp Specht
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
DockbarX
New
Undecided
Unassigned

Bug Description

When starting a chromium web app (chromium-browser --app=url), the chromium icon isn't shown. I think it has something to do with the icon dockbarX is trying to show. Here's the debug output:

DockbarX 0.90.2
DockbarX init
DockbarX reload
Xlib.protocol.request.QueryExtension
Traceback (most recent call last):
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/dockbar.py", line 489, in __on_window_opened
    self.__add_window(window)
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/dockbar.py", line 637, in __add_window
    desktop_entry=desktop_entry)
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/dockbar.py", line 561, in __make_groupbutton
    group = Group(self, identifier, desktop_entry, pinned)
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/groupbutton.py", line 175, in _init_
    self.button = GroupButton(self)
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/groupbutton.py", line 1475, in _init_
    self.drag_source_set_icon_pixbuf(self.icon_factory.get_icon(32))
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/iconfactory.py", line 129, in get_icon
    return self.__find_icon_pixbuf(size)
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/iconfactory.py", line 534, in __find_icon_pixbuf
    if self.icon_theme.has_icon(icon_name):
TypeError: Gtk.IconTheme.has_icon() argument 1 must be string without null bytes, not str
Traceback (most recent call last):
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/dockbar.py", line 468, in __on_active_window_changed
    active_group = self.groups[active_group_name]
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/dockbar.py", line 96, in _getitem_
    raise KeyError, item
KeyError: 'chromium-browser-https://web.tweetdeck.com\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Traceback (most recent call last):
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/dockbar.py", line 468, in __on_active_window_changed
    active_group = self.groups[active_group_name]
  File "/home/drc/Apps/dockbarx_0.90.2/dockbarx/dockbar.py", line 96, in _getitem_
    raise KeyError, item
KeyError: 'chromium-browser-https://web.tweetdeck.com\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

Tags: amd64 quantal
summary: - DockbarX 0.92 cannot handle chromium webapps correctly
+ DockbarX 0.90.2 cannot handle chromium webapps correctly
tags: added: amd64 quantal
Revision history for this message
Riot T. (tearfall) wrote :

I confirm. Xubuntu 14.04 + XFCE 4.12 - the same behaviour.

Revision history for this message
Mezzo (mezzoman) wrote :

Interestingly, if you make a .desktop file that contains the chromium-browser --app command and attempt to drag/pin it to the dockbar, you get a different traceback like this:

| Traceback (most recent call last):
ERROR | 2015-03-08 20:14:51,541 | File "/usr/lib/pymodules/python2.7/dockbarx/dockbar.py", line 124, in do_drag_data_received
ERROR | 2015-03-08 20:14:51,541 | self.dockbar_r().launcher_dropped(path, "after")
ERROR | 2015-03-08 20:14:51,542 | File "/usr/lib/pymodules/python2.7/dockbarx/dockbar.py", line 1145, in launcher_dropped
ERROR | 2015-03-08 20:14:51,542 | app = cmd.split("--app=")[-1][:-1].translate(None,"\"")
ERROR | 2015-03-08 20:14:51,542 | TypeError: translate() takes exactly one argument (2 given)

To fix this, you simply remove "None" from line 1145, and then you can pin chromium apps to the dockbar if you have created a .desktop file for them (I created mine in /usr/share/applications/) and explicitly named the Icon in there with a line like this:

Icon=thunderbird

That however, does not solve the problem above, where after it launches, it fails to stay "launched" because it still can't parse the icon string for some reason.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.