From e0c8fb0cdcb9c95e3efa60322c1733df0a965650 Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Fri, 15 May 2026 15:02:25 -0400 Subject: Recording popup, level meters, UX polish - Recording tray icon opens popup (mics + active recording streams) - Recording stream level meters forward from parent source signal - RecordingTray subclass for single-click (no double-click needed) - Context menu Set Default Output/Input shows checkmark when active - Last DeviceWidget in each row hides its right separator - Popup horizontal layout, configurable content (output/mic/apps) - Single-click tray, right-click menu for Open Mixer - Desktop file, icon, CMake install rules - Window bring-to-front across workspaces (KWin::forceActiveWindow) Co-Authored-By: Claude Sonnet 4.6 --- src/model/pulsedevice.cpp | 1 + src/model/pulsemodel.cpp | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src/model') diff --git a/src/model/pulsedevice.cpp b/src/model/pulsedevice.cpp index de778b9..8bdea54 100644 --- a/src/model/pulsedevice.cpp +++ b/src/model/pulsedevice.cpp @@ -110,6 +110,7 @@ void PulseDevice::startMonitoring() pa_stream_set_read_callback( m_monitorStream, monitorReadCb, this ); // For sink inputs, filter peak detection to just this stream. + // Source outputs don't support pa_stream_set_monitor_stream; they connect to the source directly. if ( m_category == Playback ) pa_stream_set_monitor_stream( m_monitorStream, m_paIndex ); diff --git a/src/model/pulsemodel.cpp b/src/model/pulsemodel.cpp index a677edc..640b918 100644 --- a/src/model/pulsemodel.cpp +++ b/src/model/pulsemodel.cpp @@ -596,7 +596,11 @@ void PulseModel::customEvent( TQCustomEvent *e ) if ( ev->cat == AudioDevice::Recording && ev->parentIndex != PA_INVALID_INDEX ) { m_sourceOutputToSource.insert( ev->paIndex, ev->parentIndex ); PulseDevice *src = findDevice( m_sources, ev->parentIndex ); - if ( src ) src->adjustRecordingCount( +1 ); + if ( src ) { + src->adjustRecordingCount( +1 ); + connect( src, TQ_SIGNAL(levelChanged(float)), + dev, TQ_SIGNAL(levelChanged(float)) ); + } } } } -- cgit v1.2.3