opened
tobes
username_0
#859 should be fixed by this.

I can't reproduce the issue but looking at the code this makes sense as to why we get the traceback @username_1 reported there.
fix group width issue when no output
issue
created
lasers
username_1
Tested okay. Thanks.
comment
created
ultrabug
username_2
Thanks @username_0 but it does not work for me.

I have modules depending on the network to be up (graphite ones mostly) and when they can't connect I get an error on the bar (the new way) which enlarges the space those modules usually consume.

When I connect back to the network, they catch up and start working again but when they do, the width allocated to the modules does not shrink back.

Example output with lots of blank space : http://username_2.fr/py3status/2017-04-10-084809_212x30_scrot.png
comment
created
lasers
username_1
This fixes (Bug 1) in my findings. I got exception log to prove it. Yours is (Bug 3).
comment
created
tobes
username_0
@username_2 do you use `fixed_width = True`?
comment
created
ultrabug
username_2
no I don't

what's funny is that after some time, the size shrinks back to fit the modules output
comment
created
tobes
username_0
@username_2 I have made a change to this PR that I hope will fix the issue for you.  It is not the correct fix but should help track down the issue.  If it doesn't that still helps find the real cause.

If you could test that would be great
comment
created
lasers
username_1
@username_0 I test this too... I think for username_2's Bug 3. Does not work. Also, I got error.
```
2017-04-10 15:40:03 INFO Traceback
IndexError: list index out of range
  File "/home/chris/src/py3status/py3status/module.py", line 709, in run
    response = method()
  File "/home/chris/src/py3status/py3status/modules/group.py", line 218, in group
    current_output = self._get_output()
  File "/home/chris/src/py3status/py3status/modules/group.py", line 180, in _get_output
    current[0]['full_text']
```
comment
created
tobes
username_0
@username_2 Have you got a minimal config where you still have issues?  I've tried everything to try to reproduce this.
comment
created
lasers
username_1
```
username_1~/src/py3status/py3status/modules git:(master✗) git diff
 diff --git a/py3status/modules/bluetooth.py b/py3status/modules/bluetooth.py
 index b73d4eac..7ed9b632 100644
 --- a/py3status/modules/bluetooth.py
 +++ b/py3status/modules/bluetooth.py
 @@ -98,10 +98,7 @@ class Py3status:
              self.py3.log(msg)

      def bluetooth(self):
 -        try:
 -            devices = get_connected_devices()
 -        except dbus.DBusException:
 -            self.py3.error(STRING_NOT_STARTED)
 +        devices = get_connected_devices()

          if devices:
              data = []
 diff --git a/py3status/modules/group.py b/py3status/modules/group.py
 index 1210f4cd..accad73b 100644
 --- a/py3status/modules/group.py
 +++ b/py3status/modules/group.py
 @@ -101,7 +101,7 @@ class Py3status:
      button_toggle = 1
      click_mode = 'all'
      cycle = 0
 -    fixed_width = False
 +    fixed_width = True
      format = None
      format_button_closed = u'+'
      format_button_open = u'-'
```
```
    group uptime {
        format = "up {output}"
        bluetooth{
        }
        uptime {
            format = '[\?if=weeks {weeks} weeks ][\?if=days {days} days ][\?if=hours {hours} hours ][\?if=minutes {minutes} minutes]'
        }
        uptime {
            format = '[\?if=weeks {weeks}w ][\?if=days {days}d ][\?if=hours {hours}h ][\?if=minutes {minutes}m]'
        }
        uptime {
            format = '[\?if=days {days}, ][\?if=hours {hours}:][\?if=minutes {minutes:02d}]'
        }
    }
```
comment
created
ultrabug
username_2
No couldn't find the time to get a simple and repeatable example yet I'm sorry
comment
created
ultrabug
username_2
@username_1 @username_0 can I merge this ? I think it fixes at least @username_1 bug 1, and I tried but failed to find a reproductible example so for now we can go foward
comment
created
tobes
username_0
yeah it fixes a problem even if not your one :)
comment
created
lasers
username_1
@username_2 Can you share the `group` config and a list of modules in that `group`? That might get us somewhere. Is this reproducible if you used `bluetooth` (code below) to throw an exception? Can we have a screenshot of `graphite` in same working state? Could it be a `graphite` issue? 

```
diff --git a/py3status/modules/bluetooth.py b/py3status/modules/bluetooth.py
index e4c22884..1402e3c0 100644
--- a/py3status/modules/bluetooth.py
+++ b/py3status/modules/bluetooth.py
@@ -124,10 +124,7 @@ class Py3status:
             self.py3.log(msg)
 
     def bluetooth(self):
-        try:
-            devices = get_connected_devices()
-        except dbus.DBusException:
-            self.py3.error(STRING_NOT_STARTED)
+        devices = get_connected_devices()
 
         if devices:
             data = []
```
comment