[pulseaudio-discuss] [PATCH pavucontrol] ellipsize labels to fix window resizing
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Fri Dec 13 02:28:08 PST 2013
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
More information about the pulseaudio-discuss
mailing list