On Fri, 2013-12-06 at 20:02 +0600, Alexander E. Patrakov wrote: > 2013/12/5 Sebastian Wick <sebastian at sebastianwick.net>: > > ellipsize labels to make the window resizable even with long label text > > and add tooltips to provide a way to read the full text > > --- > > src/mainwindow.cc | 6 ++++++ > > src/pavucontrol.glade | 2 ++ > > 2 files changed, 8 insertions(+) > > > > diff --git a/src/mainwindow.cc b/src/mainwindow.cc > > index 6d629ad..5a19302 100644 > > --- a/src/mainwindow.cc > > +++ b/src/mainwindow.cc > > @@ -294,6 +294,7 @@ void MainWindow::updateSink(const pa_sink_info &info) { > > w->boldNameLabel->set_text(""); > > gchar *txt; > > w->nameLabel->set_markup(txt = g_markup_printf_escaped("%s", info.description)); > > + w->nameLabel->set_tooltip_text(info.description); > > g_free(txt); > > > > icon = pa_proplist_gets(info.proplist, PA_PROP_DEVICE_ICON_NAME); > > @@ -433,6 +434,7 @@ void MainWindow::updateSource(const pa_source_info &info) { > > w->boldNameLabel->set_text(""); > > gchar *txt; > > w->nameLabel->set_markup(txt = g_markup_printf_escaped("%s", info.description)); > > + w->nameLabel->set_tooltip_text(info.description); > > g_free(txt); > > > > icon = pa_proplist_gets(info.proplist, PA_PROP_DEVICE_ICON_NAME); > > @@ -549,6 +551,8 @@ void MainWindow::updateSinkInput(const pa_sink_input_info &info) { > > w->nameLabel->set_label(info.name); > > } > > > > + w->nameLabel->set_tooltip_text(info.name); > > + > > setIconFromProplist(w->iconImage, info.proplist, "audio-card"); > > > > w->setVolume(info.volume); > > @@ -596,6 +600,8 @@ void MainWindow::updateSourceOutput(const pa_source_output_info &info) { > > w->nameLabel->set_label(info.name); > > } > > > > + w->nameLabel->set_tooltip_text(info.name); > > + > > setIconFromProplist(w->iconImage, info.proplist, "audio-input-microphone"); > > > > w->updating = false; > > diff --git a/src/pavucontrol.glade b/src/pavucontrol.glade > > index 3077a88..ae8f09f 100644 > > --- a/src/pavucontrol.glade > > +++ b/src/pavucontrol.glade > > @@ -254,6 +254,7 @@ > > <property name="xalign">0</property> > > <property name="label" translatable="yes">Device Title</property> > > <property name="use_markup">True</property> > > + <property name="ellipsize">end</property> > > </object> > > <packing> > > <property name="expand">False</property> > > @@ -1199,6 +1200,7 @@ > > <property name="xalign">0</property> > > <property name="label" translatable="yes">Stream Title</property> > > <property name="use_markup">True</property> > > + <property name="ellipsize">end</property> > > </object> > > <packing> > > <property name="expand">False</property> > > -- > > 1.8.4.3 > > I have tested the patch. How did you apply the patch? By hand? It doesn't apply on my fresh checkout of the pavucontrol master branch. > It does what it says, but I found an ugly > effect. I don't know GTK+ enough to decide whether this is fixable. > > To reproduce: > > 1. Configure pulseaudio to use Built-In Audio Analog Stereo as the > fallback device. > 2. Load module-echo-cancel (just for a sink with a long name). > 3. Play something. It should go through "Built-In Audio Analog Stereo" > by default. > 4. Start pavucontrol, shrink its window. > 5. Using pavucontrol, move that stream to "Built-in Audio Analog > Stereo (echo cancelled with Built-in Audio Analog Stereo)". > > Result: the stream title ellipsized to just "...", and the combo box > that allows to select the device becomes wider than the window. I'd > argue that it either should be initially as wide as its widest item > (i.e. the widest sink name in this case), or that the sink names > should also be ellipsized. Can you file a bug about this? The patch probably does more good than harm (do you agree?), and since it's not clear how to fix the remaining issue, I think it's best to apply the patch (as soon as someone posts a patch that can actually be applied cleanly). -- Tanu