hi guys,
please see this repo and give feedback if you cane
it is a pulseaudio based mixer for TDE. it's similar to kmix but not identical. It's similar to pavucontrol-qt but not identical.
If you can build it, let me know, if you cannot build it, let me know
if you like it... let me know! maybe it could go upstream at some point into tdemultimedia, it would take work, translations, a help guide, probably minimally also an ALSA backend as well.
https://git.ceux.org/tmix.git/
thank you all
Calvin Morrison via tde-devels wrote:
hi guys,
please see this repo and give feedback if you cane
it is a pulseaudio based mixer for TDE. it's similar to kmix but not identical. It's similar to pavucontrol-qt but not identical.
If you can build it, let me know, if you cannot build it, let me know
if you like it... let me know! maybe it could go upstream at some point into tdemultimedia, it would take work, translations, a help guide, probably minimally also an ALSA backend as well.
https://git.ceux.org/tmix.git/
thank you all
Hi, very nice that you are contributing to the project. Why don't you create account on Gitea (TGW) and upload the code there in your repository? It would be easier to track. And BTW I guess we usually do not checkin the build directory.
I am very interested to test, but will have time to look into the code in detail end of next week. I was just curious if it would build from a start.
I tried now following:
$ mkdir build2 && cd build2 $ cmake ../ -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- Checking for module 'libpulse' -- Found libpulse, version 16.1 -- Configuring done -- Generating done -- Build files have been written to: /mnt/DEVELOPMENT/Projects/TDE/tmix/build2
$ make all [ 3%] Generating tmixtray.moc make[2]: /mnt/DEVELOPMENT/Projects/TDE/tmix/src/ui/tmixtray.h: Permission denied make[2]: *** [CMakeFiles/tmix.dir/build.make:110: tmixtray.moc] Error 127 make[1]: *** [CMakeFiles/Makefile2:82: CMakeFiles/tmix.dir/all] Error 2 make: *** [Makefile:136: all] Error 2
BR
deloptes,
yes i had a missing CMakeLists include. fix pushed. I need to figure out how to 'gitea' this
+find_package( TQt )
On Sat, May 16, 2026, at 5:09 AM, deloptes via tde-devels wrote:
Calvin Morrison via tde-devels wrote:
hi guys,
please see this repo and give feedback if you cane
it is a pulseaudio based mixer for TDE. it's similar to kmix but not identical. It's similar to pavucontrol-qt but not identical.
If you can build it, let me know, if you cannot build it, let me know
if you like it... let me know! maybe it could go upstream at some point into tdemultimedia, it would take work, translations, a help guide, probably minimally also an ALSA backend as well.
https://git.ceux.org/tmix.git/
thank you all
Hi, very nice that you are contributing to the project. Why don't you create account on Gitea (TGW) and upload the code there in your repository? It would be easier to track. And BTW I guess we usually do not checkin the build directory.
I am very interested to test, but will have time to look into the code in detail end of next week. I was just curious if it would build from a start.
I tried now following:
$ mkdir build2 && cd build2 $ cmake ../ -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- Checking for module 'libpulse' -- Found libpulse, version 16.1 -- Configuring done -- Generating done -- Build files have been written to: /mnt/DEVELOPMENT/Projects/TDE/tmix/build2
$ make all [ 3%] Generating tmixtray.moc make[2]: /mnt/DEVELOPMENT/Projects/TDE/tmix/src/ui/tmixtray.h: Permission denied make[2]: *** [CMakeFiles/tmix.dir/build.make:110: tmixtray.moc] Error 127 make[1]: *** [CMakeFiles/Makefile2:82: CMakeFiles/tmix.dir/all] Error 2 make: *** [Makefile:136: all] Error 2
BR
FCD6 3719 0FFB F1BF 38EA 4727 5348 5F1F DCFE BCB0
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
I 'created' the repo in gitea as well
https://mirror.git.trinitydesktop.org/gitea/ceux/tmix
thanks!
On Sat, May 16, 2026, at 7:38 PM, Calvin Morrison via tde-devels wrote:
deloptes,
yes i had a missing CMakeLists include. fix pushed. I need to figure out how to 'gitea' this
+find_package( TQt )
On Sat, May 16, 2026, at 5:09 AM, deloptes via tde-devels wrote:
Calvin Morrison via tde-devels wrote:
hi guys,
please see this repo and give feedback if you cane
it is a pulseaudio based mixer for TDE. it's similar to kmix but not identical. It's similar to pavucontrol-qt but not identical.
If you can build it, let me know, if you cannot build it, let me know
if you like it... let me know! maybe it could go upstream at some point into tdemultimedia, it would take work, translations, a help guide, probably minimally also an ALSA backend as well.
https://git.ceux.org/tmix.git/
thank you all
Hi, very nice that you are contributing to the project. Why don't you create account on Gitea (TGW) and upload the code there in your repository? It would be easier to track. And BTW I guess we usually do not checkin the build directory.
I am very interested to test, but will have time to look into the code in detail end of next week. I was just curious if it would build from a start.
I tried now following:
$ mkdir build2 && cd build2 $ cmake ../ -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- Checking for module 'libpulse' -- Found libpulse, version 16.1 -- Configuring done -- Generating done -- Build files have been written to: /mnt/DEVELOPMENT/Projects/TDE/tmix/build2
$ make all [ 3%] Generating tmixtray.moc make[2]: /mnt/DEVELOPMENT/Projects/TDE/tmix/src/ui/tmixtray.h: Permission denied make[2]: *** [CMakeFiles/tmix.dir/build.make:110: tmixtray.moc] Error 127 make[1]: *** [CMakeFiles/Makefile2:82: CMakeFiles/tmix.dir/all] Error 2 make: *** [Makefile:136: all] Error 2
BR
FCD6 3719 0FFB F1BF 38EA 4727 5348 5F1F DCFE BCB0
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
Calvin Morrison via tde-devels wrote:
I 'created' the repo in gitea as well
https://mirror.git.trinitydesktop.org/gitea/ceux/tmix
thanks!
Very good congrats!
Here some remarks:
1. generally we split the CMakeLists.txt in project specific and code specific part. Just open one project and have a look. It is more convenient, nothing against putting everything in one. 2. do not use hardcoded paths for example
include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${TQT_INCLUDE_DIRS} - /usr/include/tqt3 - /usr/include/tqt - ${TDE_INCLUDE_DIR} - /opt/trinity/include - ${PULSE_INCLUDE_DIRS} + ${CMAKE_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} + ${PULSE_INCLUDE_DIRS} )
3. At some point of time kuniqueapplication did change into tdeuniqueapplication
-#include <kuniqueapplication.h> +#include <tdeuniqueapplication.h>
So even changing 2, then 3, then 1, I couldn't build
$ make all [ 3%] Generating src/tmixtray.moc [ 7%] Generating src/audiodevice.moc [ 11%] Generating src/balanceknob.moc [ 14%] Generating src/devicespage.moc [ 18%] Generating src/devicewidget.moc [ 22%] Generating src/kledbutton.moc [ 25%] Generating src/mixerwindow.moc [ 29%] Generating src/preferencesdlg.moc [ 33%] Generating src/pulsedevice.moc [ 37%] Generating src/pulsemodel.moc [ 40%] Generating src/tmixapp.moc [ 44%] Generating src/tmixpopup.moc [ 48%] Building CXX object src/CMakeFiles/tmix.dir/main.cpp.o /mnt/DEVELOPMENT/Projects/TDE/tmix/src/main.cpp:1:10: fatal error: tdeuniqueapplication.h: No such file or directory 1 | #include <tdeuniqueapplication.h> | ^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated.
deloptes,
I pushed a few changes to the cmake lists, its split out so /src has its own cmakelists and i was missing some includes so i did some fresh builds and I get a full build now.
second point I do not know about the tdeuniqueapplication.h
I am building against the debian devel packages so i must be behind, but still, you'd think changing it would fix it.
ii tdelibs14-trinity-dev 4:14.1.6-0debian12.0.0+0 amd64 development files for the TDE core libraries
On Sat, May 16, 2026, at 9:10 PM, deloptes via tde-devels wrote:
Calvin Morrison via tde-devels wrote:
I 'created' the repo in gitea as well
https://mirror.git.trinitydesktop.org/gitea/ceux/tmix
thanks!
Very good congrats!
Here some remarks:
- generally we split the CMakeLists.txt in project specific and code
specific part. Just open one project and have a look. It is more convenient, nothing against putting everything in one. 2. do not use hardcoded paths for example
include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TQT_INCLUDE_DIRS}
- /usr/include/tqt3
- /usr/include/tqt
- ${TDE_INCLUDE_DIR}
- /opt/trinity/include
- ${PULSE_INCLUDE_DIRS}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
- ${PULSE_INCLUDE_DIRS}
)
- At some point of time kuniqueapplication did change into
tdeuniqueapplication
-#include <kuniqueapplication.h> +#include <tdeuniqueapplication.h>
So even changing 2, then 3, then 1, I couldn't build
$ make all [ 3%] Generating src/tmixtray.moc [ 7%] Generating src/audiodevice.moc [ 11%] Generating src/balanceknob.moc [ 14%] Generating src/devicespage.moc [ 18%] Generating src/devicewidget.moc [ 22%] Generating src/kledbutton.moc [ 25%] Generating src/mixerwindow.moc [ 29%] Generating src/preferencesdlg.moc [ 33%] Generating src/pulsedevice.moc [ 37%] Generating src/pulsemodel.moc [ 40%] Generating src/tmixapp.moc [ 44%] Generating src/tmixpopup.moc [ 48%] Building CXX object src/CMakeFiles/tmix.dir/main.cpp.o /mnt/DEVELOPMENT/Projects/TDE/tmix/src/main.cpp:1:10: fatal error: tdeuniqueapplication.h: No such file or directory 1 | #include <tdeuniqueapplication.h> | ^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated.
-- FCD6 3719 0FFB F1BF 38EA 4727 5348 5F1F DCFE BCB0
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
Calvin Morrison via tde-devels wrote:
deloptes,
I pushed a few changes to the cmake lists, its split out so /src has its own cmakelists and i was missing some includes so i did some fresh builds and I get a full build now.
second point I do not know about the tdeuniqueapplication.h
Hi Calvin, I managed to find time to pull the code from the TGW mirror and it looks nice. It also works nice :-) Kudos from me too. Is there a debian directory for the build somewhere? thank you
BR
On 6/10/26 2:57 PM, deloptes via tde-devels wrote:
Calvin Morrison via tde-devels wrote:
deloptes,
I pushed a few changes to the cmake lists, its split out so /src has its own cmakelists and i was missing some includes so i did some fresh builds and I get a full build now.
second point I do not know about the tdeuniqueapplication.h
Hi Calvin, I managed to find time to pull the code from the TGW mirror and it looks nice. It also works nice :-) Kudos from me too. Is there a debian directory for the build somewhere? thank you
BR
Wow,
You have been busy Calvin. I just did a fresh pull from the git.ceux.org repo and wow:
51 files changed, 3941 insertions(+), 479 deletions(-) create mode 100644 src/model/alsadevice.cpp create mode 100644 src/model/alsadevice.h create mode 100644 src/model/alsamodel.cpp create mode 100644 src/model/alsamodel.h create mode 100644 src/model/ossdevice.cpp create mode 100644 src/model/ossdevice.h create mode 100644 src/model/ossmodel.cpp create mode 100644 src/model/ossmodel.h create mode 100644 src/ui/alsa/alsadevicespage.cpp create mode 100644 src/ui/alsa/alsadevicespage.h create mode 100644 src/ui/alsa/alsadevicewidget.cpp create mode 100644 src/ui/alsa/alsadevicewidget.h create mode 100644 src/ui/alsa/alsamixerwindow.cpp create mode 100644 src/ui/alsa/alsamixerwindow.h create mode 100644 src/ui/alsa/alsapopup.cpp create mode 100644 src/ui/alsa/alsapopup.h create mode 100644 src/ui/alsa/alsatray.cpp create mode 100644 src/ui/alsa/alsatray.h create mode 100644 src/ui/backendcontroller.cpp create mode 100644 src/ui/backendcontroller.h create mode 100644 src/ui/oss/ossdevicewidget.cpp create mode 100644 src/ui/oss/ossdevicewidget.h create mode 100644 src/ui/oss/ossmixerwindow.cpp create mode 100644 src/ui/oss/ossmixerwindow.h create mode 100644 src/ui/oss/osspopup.cpp create mode 100644 src/ui/oss/osspopup.h create mode 100644 src/ui/oss/osstray.cpp create mode 100644 src/ui/oss/osstray.h
That's impressive by any measure. I'll finally figure out the Ksystrayapplication magic incantations.
oh me and the little AI elves... sorry the new upstream git repo is hosted on the TDE Gitea.
Calvin
On Thu, Jun 11, 2026, at 11:13 PM, David C Rankin via tde-devels wrote:
On 6/10/26 2:57 PM, deloptes via tde-devels wrote:
Calvin Morrison via tde-devels wrote:
deloptes,
I pushed a few changes to the cmake lists, its split out so /src has its own cmakelists and i was missing some includes so i did some fresh builds and I get a full build now.
second point I do not know about the tdeuniqueapplication.h
Hi Calvin, I managed to find time to pull the code from the TGW mirror and it looks nice. It also works nice :-) Kudos from me too. Is there a debian directory for the build somewhere? thank you
BR
Wow,
You have been busy Calvin. I just did a fresh pull from the git.ceux.org repo and wow:
51 files changed, 3941 insertions(+), 479 deletions(-) create mode 100644 src/model/alsadevice.cpp create mode 100644 src/model/alsadevice.h create mode 100644 src/model/alsamodel.cpp create mode 100644 src/model/alsamodel.h create mode 100644 src/model/ossdevice.cpp create mode 100644 src/model/ossdevice.h create mode 100644 src/model/ossmodel.cpp create mode 100644 src/model/ossmodel.h create mode 100644 src/ui/alsa/alsadevicespage.cpp create mode 100644 src/ui/alsa/alsadevicespage.h create mode 100644 src/ui/alsa/alsadevicewidget.cpp create mode 100644 src/ui/alsa/alsadevicewidget.h create mode 100644 src/ui/alsa/alsamixerwindow.cpp create mode 100644 src/ui/alsa/alsamixerwindow.h create mode 100644 src/ui/alsa/alsapopup.cpp create mode 100644 src/ui/alsa/alsapopup.h create mode 100644 src/ui/alsa/alsatray.cpp create mode 100644 src/ui/alsa/alsatray.h create mode 100644 src/ui/backendcontroller.cpp create mode 100644 src/ui/backendcontroller.h create mode 100644 src/ui/oss/ossdevicewidget.cpp create mode 100644 src/ui/oss/ossdevicewidget.h create mode 100644 src/ui/oss/ossmixerwindow.cpp create mode 100644 src/ui/oss/ossmixerwindow.h create mode 100644 src/ui/oss/osspopup.cpp create mode 100644 src/ui/oss/osspopup.h create mode 100644 src/ui/oss/osstray.cpp create mode 100644 src/ui/oss/osstray.h
That's impressive by any measure. I'll finally figure out the Ksystrayapplication magic incantations.
-- David C. Rankin, J.D.,P.E. ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
On 6/11/26 10:49 PM, Calvin Morrison via tde-devels wrote:
oh me and the little AI elves... sorry the new upstream git repo is hosted on the TDE Gitea.
Calvin
Oh, Thank You!
What are the little binary blobs gitea inserts with the .git/objects/xx/?, e.g.:
diff --git a/../../tmix/.git/objects/16/cf571ffad1908dafffe3b05983cc1011c644d7 b/../../tmix/.git/objects/16/cf571ffad1908dafffe3b05983cc1011c644d7 new file mode 100644 index 0000000..794b725 --- /dev/null +++ b/../../tmix/.git/objects/16/cf571ffad1908dafffe3b05983cc1011c644d7 @@ -0,0 +1 @@ ????6???t?(?-?*??????!??x?T[??????t??6?We]??????j?(8? ????O?tL?!_??}z]?J??? ?Y?,b?????k?E?4?y?~?f8??&?#8?o??????S??r?^f!?8vt.???`? \ No newline at end of file
Is that just something extra gitea inserts into the commit metadata to make it more useful or a different hash used? Most just list that the binary files differ.
So far it looks like there are only a few substantive commits that differ:
diff --git a/./src/ui/mixerwindow.cpp b/../../tmix/src/ui/mixerwindow.cpp index 3311b9c..2bc5b4c 100644 --- a/./src/ui/mixerwindow.cpp +++ b/../../tmix/src/ui/mixerwindow.cpp @@ -267,21 +267,6 @@ void MixerWindow::showDevices() bringToFront(); }
-void MixerWindow::showMixer() -{ - if ( m_devicesInTabs ) { - m_outerStack->raiseWidget( 0 ); - if ( m_tabs->currentPage() == m_devicesPage ) - m_tabs->showPage( m_output.scroll ); - } else { - m_outerStack->raiseWidget( 0 ); - updateDevicesButton(); - repositionDevicesBtn(); - m_devicesBtn->raise(); - } - bringToFront(); -} - void MixerWindow::showAbout() { TDEAboutData about( diff --git a/./src/ui/mixerwindow.h b/../../tmix/src/ui/mixerwindow.h index 0901099..170c4e8 100644 --- a/./src/ui/mixerwindow.h +++ b/../../tmix/src/ui/mixerwindow.h @@ -42,7 +42,6 @@ signals: public slots: void bringToFront(); void showDevices(); - void showMixer();
private slots: void onDeviceAdded( AudioDevice *dev ); diff --git a/./src/ui/tmixtray.cpp b/../../tmix/src/ui/tmixtray.cpp index 796cfae..c6d43c8 100644 --- a/./src/ui/tmixtray.cpp +++ b/../../tmix/src/ui/tmixtray.cpp @@ -250,7 +250,7 @@ void TmixTray::contextMenuAboutToShow( TDEPopupMenu *menu ) MixerWindow *win = static_cast<MixerWindow*>( parentWidget() );
menu->insertItem( SmallIcon("tmix"), i18n("&Open Mixer"), - win, TQ_SLOT(showMixer()) ); + win, TQ_SLOT(bringToFront()) ); menu->insertItem( i18n("&Open Devices"), win, TQ_SLOT(showDevices()) ); menu->insertSeparator();
That's it on the code changes between ceux and gitea. There are ways to synchronize the repositories if you are interested, but I'd have to go back and look it up :) I used to mirror repositories on different servers off-site just in case....
Thanks for your work on this, it will be a great tool for TDE and a go-by for my screen brightness app.
On 5/15/26 6:30 PM, Calvin Morrison via tde-devels wrote:
hi guys,
please see this repo and give feedback if you cane
it is a pulseaudio based mixer for TDE. it's similar to kmix but not identical. It's similar to pavucontrol-qt but not identical.
If you can build it, let me know, if you cannot build it, let me know
if you like it... let me know! maybe it could go upstream at some point into tdemultimedia, it would take work, translations, a help guide, probably minimally also an ALSA backend as well.
https://git.ceux.org/tmix.git/ https://git.ceux.org/tmix.git/
thank you all
Well done Calvin!
This is also a great example for use of ksystemtray.h which I had searched the old kde docs and not been able to find anything other than the class reference and its "very terse" set of notes on implementation.
Did you find any other docs that helped or did you use kmix or knemo or some similar app to sort this out?
(sorry for slight thread hijack, but a closely related tangent :)
On Sat, May 16, 2026, at 11:50 PM, David C Rankin via tde-devels wrote:
On 5/15/26 6:30 PM, Calvin Morrison via tde-devels wrote:
hi guys,
please see this repo and give feedback if you cane
it is a pulseaudio based mixer for TDE. it's similar to kmix but not identical. It's similar to pavucontrol-qt but not identical.
If you can build it, let me know, if you cannot build it, let me know
if you like it... let me know! maybe it could go upstream at some point into tdemultimedia, it would take work, translations, a help guide, probably minimally also an ALSA backend as well.
https://git.ceux.org/tmix.git/ https://git.ceux.org/tmix.git/
thank you all
Well done Calvin!
This is also a great example for use of ksystemtray.h which I had searched the old kde docs and not been able to find anything other than the class reference and its "very terse" set of notes on implementation.
one of the harder parts of the interface I felt to 'get right' went through about 4 or 5 iterations. the pulse stuff was working in my kmix branch, but to get tmix to 'work', and for something as important as a systray for volume it needs to 'just work' intutively... it was hard to get right. for example, i think the balance widget is intuitive but was not immediately obvious how to make it so.
Did you find any other docs that helped or did you use kmix or knemo or some similar app to sort this out?
The entire thing started as a fork of kmix but it got basically 'stuck'. KMix was designed in a way that i couldnt move past from, especially in regard to how available streams change so frequently with pulse having to reload / redraw the interface was funky.
On 5/17/26 7:30 AM, Calvin Morrison via tde-devels wrote:
Well done Calvin!
This is also a great example for use of ksystemtray.h which I had searched the old kde docs and not been able to find anything other than the class reference and its "very terse" set of notes on implementation.
one of the harder parts of the interface I felt to 'get right' went through about 4 or 5 iterations. the pulse stuff was working in my kmix branch, but to get tmix to 'work', and for something as important as a systray for volume it needs to 'just work' intutively... it was hard to get right. for example, i think the balance widget is intuitive but was not immediately obvious how to make it so.
This is where I got stuck with my display backlight program for integrated displays (laptops/all-in-one boxes). I had the dbus implementation done. I could use it from the command line or a small window with integrated slider/spinbox but wanted the kmix type implementation in systray so all you needed to do was roll the middle-mousewheel over the systray icon to alter backlight like you can do with volume in kmix.
Did you find any other docs that helped or did you use kmix or knemo or some similar app to sort this out?
The entire thing started as a fork of kmix but it got basically 'stuck'. KMix was designed in a way that i couldnt move past from, especially in regard to how available streams change so frequently with pulse having to reload / redraw the interface was funky.
Yep, been there. I used both kmix and knemo as examples that I worked to dissect, but pulling the basic ksystray implementation out of the set of split files and classes did not end well :)
I'll give it another go using tmix as a go-by and will hopefully have better luck. Thanks!
For completeness I added ALSA support and OSS support. I think OSS support would be most likely used by FreeBSD.
I tested alsa pretty thoroughly by turning off pulse and testing out ALSA over the weekend.
The OSS support was very lightly tested because I don't have FreeBSD access so i am using the alsa oss emulation module.
I have two branches out there
alsa-wip and-the-oss-you-rode-in-on
overall it adds complexity to support multiple backends, but if we support these 3 there are probably pretty few complaints about making it a full replacement.
Anyway, if someone has FreeBSD on the desktop with real audio cards that would be interesting to me - though the /dev/mixer and /dev/dsp interfaces are pretty simple themselves, I don't have complex real cards to test with.
I also have concerns around packaging; if I compile this with libpulse and those libraries arent available on a users server, it won't run the program... but I imagine some users won't have pulse installed. I don't know how packagers typically approach this. I'd prefer it be an optional dependnecy, but to manage that at runtime I would have to do runtime loading with dlopen.
Looking for feedback on the above sections
Thanks, Calvin
On Sun, May 17, 2026, at 7:12 PM, David C Rankin via tde-devels wrote:
On 5/17/26 7:30 AM, Calvin Morrison via tde-devels wrote:
Well done Calvin!
This is also a great example for use of ksystemtray.h which I had searched the old kde docs and not been able to find anything other than the class reference and its "very terse" set of notes on implementation.
one of the harder parts of the interface I felt to 'get right' went through about 4 or 5 iterations. the pulse stuff was working in my kmix branch, but to get tmix to 'work', and for something as important as a systray for volume it needs to 'just work' intutively... it was hard to get right. for example, i think the balance widget is intuitive but was not immediately obvious how to make it so.
This is where I got stuck with my display backlight program for integrated displays (laptops/all-in-one boxes). I had the dbus implementation done. I could use it from the command line or a small window with integrated slider/spinbox but wanted the kmix type implementation in systray so all you needed to do was roll the middle-mousewheel over the systray icon to alter backlight like you can do with volume in kmix.
Did you find any other docs that helped or did you use kmix or knemo or some similar app to sort this out?
The entire thing started as a fork of kmix but it got basically 'stuck'. KMix was designed in a way that i couldnt move past from, especially in regard to how available streams change so frequently with pulse having to reload / redraw the interface was funky.
Yep, been there. I used both kmix and knemo as examples that I worked to dissect, but pulling the basic ksystray implementation out of the set of split files and classes did not end well :)
I'll give it another go using tmix as a go-by and will hopefully have better luck. Thanks!
-- David C. Rankin, J.D.,P.E. ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
some updates
I merged the alsa backend into master
I merged the oss backend into master ( needs BSD testing )
master now builds against the current master of TDE upstream.
I added CMake checks to allow building with or without specific audio backends/libraries
I made some fixes to help build on BSD. Thank you to denk
I fixed a volume % rendering bug (thanks to pitriss)
Various build fixes, like using Qt and not TQT in spaces, added -Wall -Werr and fix some issues that were shown.
Slavek has built test packages for this for wider testing
"if you have the extra component specified in your apt configuration for PTB, or the extra-r14 component for PSB, you can see a package called tdemix-trinity "
Hi!
Anno domini 2026 Fri, 22 May 18:31:52 -0400 Calvin Morrison via tde-devels scripsit:
[...] Slavek has built test packages for this for wider testing
"if you have the extra component specified in your apt configuration for PTB, or the extra-r14 component for PSB, you can see a package called tdemix-trinity "
I've just tried "tdemixer-trinity" with ALSA - works like a charm :)
I have on gottcha: the volume keys do not work any more, instead of changing the volume I get a OSD message "kmix not running" (loosly translated from german). Any idea how to get the volume keys to use tmix?
Nik
Nik
i see - we have not implemented this. Looking at kmix they provide 3 global shortcuts (increase,decrease,mute). This is something we need to add.
Thank you Calvin
On Fri, May 29, 2026, at 4:07 AM, Dr. Nikolaus Klepp via tde-devels wrote:
Hi!
Anno domini 2026 Fri, 22 May 18:31:52 -0400 Calvin Morrison via tde-devels scripsit:
[...] Slavek has built test packages for this for wider testing
"if you have the extra component specified in your apt configuration for PTB, or the extra-r14 component for PSB, you can see a package called tdemix-trinity "
I've just tried "tdemixer-trinity" with ALSA - works like a charm :)
I have on gottcha: the volume keys do not work any more, instead of changing the volume I get a OSD message "kmix not running" (loosly translated from german). Any idea how to get the volume keys to use tmix?
Nik
-- Please do not email me anything that you are not comfortable also sharing with the NSA, CIA ... ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
Dr Klepp,
I have implemented global shortcuts. I tested on Pulse, ALSA and OSS. I pushed it in the latest commits.
Pulse also gets an extra global - mute the active mic. I use that a lot when i video conference.
Thanks for your input and idea
Calvin
On Fri, May 29, 2026, at 10:27 AM, Calvin Morrison via tde-devels wrote:
Nik
i see - we have not implemented this. Looking at kmix they provide 3 global shortcuts (increase,decrease,mute). This is something we need to add.
Thank you Calvin
On Fri, May 29, 2026, at 4:07 AM, Dr. Nikolaus Klepp via tde-devels wrote:
Hi!
Anno domini 2026 Fri, 22 May 18:31:52 -0400 Calvin Morrison via tde-devels scripsit:
[...] Slavek has built test packages for this for wider testing
"if you have the extra component specified in your apt configuration for PTB, or the extra-r14 component for PSB, you can see a package called tdemix-trinity "
I've just tried "tdemixer-trinity" with ALSA - works like a charm :)
I have on gottcha: the volume keys do not work any more, instead of changing the volume I get a OSD message "kmix not running" (loosly translated from german). Any idea how to get the volume keys to use tmix?
Nik
-- Please do not email me anything that you are not comfortable also sharing with the NSA, CIA ... ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
Hi Calvin,
I see the changes in the source file, but I still get the "kmix not running" OSD message. I have tdemix-trinity_4%3a14.2.0~pre38-0debian14.0.0+1~b_amd64.deb installed.
In the source files I see the hotkeys defined, but somehow they don't work. Any idea what to do?
Nik
Anno domini 2026 Fri, 29 May 23:05:12 -0400 Calvin Morrison scripsit:
Dr Klepp,
I have implemented global shortcuts. I tested on Pulse, ALSA and OSS. I pushed it in the latest commits.
Pulse also gets an extra global - mute the active mic. I use that a lot when i video conference.
Thanks for your input and idea
Calvin
On Fri, May 29, 2026, at 10:27 AM, Calvin Morrison via tde-devels wrote:
Nik
i see - we have not implemented this. Looking at kmix they provide 3 global shortcuts (increase,decrease,mute). This is something we need to add.
Thank you Calvin
On Fri, May 29, 2026, at 4:07 AM, Dr. Nikolaus Klepp via tde-devels wrote:
Hi!
Anno domini 2026 Fri, 22 May 18:31:52 -0400 Calvin Morrison via tde-devels scripsit:
[...] Slavek has built test packages for this for wider testing
"if you have the extra component specified in your apt configuration for PTB, or the extra-r14 component for PSB, you can see a package called tdemix-trinity "
I've just tried "tdemixer-trinity" with ALSA - works like a charm :)
I have on gottcha: the volume keys do not work any more, instead of changing the volume I get a OSD message "kmix not running" (loosly translated from german). Any idea how to get the volume keys to use tmix?
Nik
-- Please do not email me anything that you are not comfortable also sharing with the NSA, CIA ... ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
You need to update your global hotkeys it's probably still pointing at KMix
Calvin
On Tue, Jun 9, 2026, at 10:24 AM, Dr. Nikolaus Klepp via tde-devels wrote:
Hi Calvin,
I see the changes in the source file, but I still get the "kmix not running" OSD message. I have tdemix-trinity_4%3a14.2.0~pre38-0debian14.0.0+1~b_amd64.deb installed.
In the source files I see the hotkeys defined, but somehow they don't work. Any idea what to do?
Nik
Anno domini 2026 Fri, 29 May 23:05:12 -0400 Calvin Morrison scripsit:
Dr Klepp,
I have implemented global shortcuts. I tested on Pulse, ALSA and OSS. I pushed it in the latest commits.
Pulse also gets an extra global - mute the active mic. I use that a lot when i video conference.
Thanks for your input and idea
Calvin
On Fri, May 29, 2026, at 10:27 AM, Calvin Morrison via tde-devels wrote:
Nik
i see - we have not implemented this. Looking at kmix they provide 3 global shortcuts (increase,decrease,mute). This is something we need to add.
Thank you Calvin
On Fri, May 29, 2026, at 4:07 AM, Dr. Nikolaus Klepp via tde-devels wrote:
Hi!
Anno domini 2026 Fri, 22 May 18:31:52 -0400 Calvin Morrison via tde-devels scripsit:
[...] Slavek has built test packages for this for wider testing
"if you have the extra component specified in your apt configuration for PTB, or the extra-r14 component for PSB, you can see a package called tdemix-trinity "
I've just tried "tdemixer-trinity" with ALSA - works like a charm :)
I have on gottcha: the volume keys do not work any more, instead of changing the volume I get a OSD message "kmix not running" (loosly translated from german). Any idea how to get the volume keys to use tmix?
Nik
-- Please do not email me anything that you are not comfortable also sharing with the NSA, CIA ... ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
-- Please do not email me anything that you are not comfortable also sharing with the NSA, CIA ... ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
Hi Calvin,
Anno domini 2026 Tue, 09 Jun 10:27:17 -0400 Calvin Morrison via tde-devels scripsit:
You need to update your global hotkeys it's probably still pointing at KMix
fgrep did not find anything related to kmix in ~/.trinity , /root/.tinity, /etc/trinity or /opt/trinity/etc. I did not find any global hotkeys relatated to volume control in tcontrol (which is no big surprise - I never changed these). Maybe I'm missing something, but where could should I look?
Nik
Calvin
On Tue, Jun 9, 2026, at 10:24 AM, Dr. Nikolaus Klepp via tde-devels wrote:
Hi Calvin,
I see the changes in the source file, but I still get the "kmix not running" OSD message. I have tdemix-trinity_4%3a14.2.0~pre38-0debian14.0.0+1~b_amd64.deb installed.
In the source files I see the hotkeys defined, but somehow they don't work. Any idea what to do?
Nik
Anno domini 2026 Fri, 29 May 23:05:12 -0400 Calvin Morrison scripsit:
Dr Klepp,
I have implemented global shortcuts. I tested on Pulse, ALSA and OSS. I pushed it in the latest commits.
Pulse also gets an extra global - mute the active mic. I use that a lot when i video conference.
Thanks for your input and idea
Calvin
On Fri, May 29, 2026, at 10:27 AM, Calvin Morrison via tde-devels wrote:
Nik
i see - we have not implemented this. Looking at kmix they provide 3 global shortcuts (increase,decrease,mute). This is something we need to add.
Thank you Calvin
On Fri, May 29, 2026, at 4:07 AM, Dr. Nikolaus Klepp via tde-devels wrote:
Hi!
Anno domini 2026 Fri, 22 May 18:31:52 -0400 Calvin Morrison via tde-devels scripsit:
[...] Slavek has built test packages for this for wider testing
"if you have the extra component specified in your apt configuration for PTB, or the extra-r14 component for PSB, you can see a package called tdemix-trinity "
I've just tried "tdemixer-trinity" with ALSA - works like a charm :)
I have on gottcha: the volume keys do not work any more, instead of changing the volume I get a OSD message "kmix not running" (loosly translated from german). Any idea how to get the volume keys to use tmix?
Nik
-- Please do not email me anything that you are not comfortable also sharing with the NSA, CIA ... ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
-- Please do not email me anything that you are not comfortable also sharing with the NSA, CIA ... ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
Dr. Nikolaus Klepp via tde-devels wrote:
fgrep did not find anything related to kmix in ~/.trinity , /root/.tinity, /etc/trinity or /opt/trinity/etc. I did not find any global hotkeys relatated to volume control in tcontrol (which is no big surprise - I never changed these). Maybe I'm missing something, but where could should I look?
I just compiled and ran tmix. I have the same issue as you. I checked everywhere and there are no global settings for the vol up/down keys. I also removed kmilo-trinity completely and it did not change anything. I will reboot now and check again. May be it is cached somewhere. BRB
Anno domini 2026 Wed, 10 Jun 23:03:48 +0200 deloptes via tde-devels scripsit:
Dr. Nikolaus Klepp via tde-devels wrote:
fgrep did not find anything related to kmix in ~/.trinity , /root/.tinity, /etc/trinity or /opt/trinity/etc. I did not find any global hotkeys relatated to volume control in tcontrol (which is no big surprise - I never changed these). Maybe I'm missing something, but where could should I look?
I just compiled and ran tmix. I have the same issue as you. I checked everywhere and there are no global settings for the vol up/down keys. I also removed kmilo-trinity completely and it did not change anything. I will reboot now and check again. May be it is cached somewhere. BRB
I did some deeper digging. In the code kmilo is hardcoded to "kmix" and some very specific dcop magic involving stuff like kmix-mainwindow-something. Replacing "kmix" with "tmix" inside the code does at least start "tmix" kmilo when pressing VOLUME* the first time - but the dcop stuff naturally does not work and needs more attention.
Nik
OK... huh.
I do not have a laptop or use KMILO. I don't really understand what it's for but - if you get regular keyboard events via xev you should be able to see what key is mapped when you press the special laptop volume buttons.
To that end, what if you just configure it this way - inside TDE using the global shortcuts?
On Wed, Jun 10, 2026, at 5:29 PM, Dr. Nikolaus Klepp via tde-devels wrote:
Anno domini 2026 Wed, 10 Jun 23:03:48 +0200 deloptes via tde-devels scripsit:
Dr. Nikolaus Klepp via tde-devels wrote:
fgrep did not find anything related to kmix in ~/.trinity , /root/.tinity, /etc/trinity or /opt/trinity/etc. I did not find any global hotkeys relatated to volume control in tcontrol (which is no big surprise - I never changed these). Maybe I'm missing something, but where could should I look?
I just compiled and ran tmix. I have the same issue as you. I checked everywhere and there are no global settings for the vol up/down keys. I also removed kmilo-trinity completely and it did not change anything. I will reboot now and check again. May be it is cached somewhere. BRB
I did some deeper digging. In the code kmilo is hardcoded to "kmix" and some very specific dcop magic involving stuff like kmix-mainwindow-something. Replacing "kmix" with "tmix" inside the code does at least start "tmix" kmilo when pressing VOLUME* the first time - but the dcop stuff naturally does not work and needs more attention.
Nik
-- Please do not email me anything that you are not comfortable also sharing with the NSA, CIA ... ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
Calvin Morrison via tde-devels wrote:
OK... huh.
I do not have a laptop or use KMILO. I don't really understand what it's for but - if you get regular keyboard events via xev you should be able to see what key is mapped when you press the special laptop volume buttons.
I also do not have laptop, but my keyboard has multimedia keys. So after reboot without kmilo, the OSD is not working and if I remember correctly this is the reason to install kmilo back then.
To that end, what if you just configure it this way - inside TDE using the global shortcuts?
IMO we should either update kmilo or add the osd functionality to tmix.
Let me know about the debian directory, as I saw you have built a package. I would like to install the package with the icons.
BR
I need to learn more about kmilo. Is . I think mostly the way these are supposed to work is via the fancy XF86 keys these days - but the OSD seems to be the stickler.
XF86AudioRaiseVolume XF86AudioLowerVolume XF86AudioMute XF86MonBrightnessUp XF86MonBrightnessDown
Regarding that kmilo provides an OSD that is very nice, and i see they do it for brightness as well. However, should such things be centralized? i do not know. I dont have a good view on it. It seems nice that they would all act the same, brightness, volume, etc. Perhaps that should be more pluggable or maybe if we decide to drop kmixer as default we make kmilo focus on tmix.
It seems a lot to ask to add DCOP, then get tmix to listen to it etc, all just so a global hotkey which already works - works within kmilo.
I need outside help on this
On Wed, Jun 10, 2026, at 7:45 PM, deloptes via tde-devels wrote:
Calvin Morrison via tde-devels wrote:
OK... huh.
I do not have a laptop or use KMILO. I don't really understand what it's for but - if you get regular keyboard events via xev you should be able to see what key is mapped when you press the special laptop volume buttons.
I also do not have laptop, but my keyboard has multimedia keys. So after reboot without kmilo, the OSD is not working and if I remember correctly this is the reason to install kmilo back then.
To that end, what if you just configure it this way - inside TDE using the global shortcuts?
IMO we should either update kmilo or add the osd functionality to tmix.
Let me know about the debian directory, as I saw you have built a package. I would like to install the package with the icons.
BR
-- FCD6 3719 0FFB F1BF 38EA 4727 5348 5F1F DCFE BCB0
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
Calvin Morrison via tde-devels wrote:
Regarding that kmilo provides an OSD that is very nice, and i see they do it for brightness as well. However, should such things be centralized? i do not know. I dont have a good view on it. It seems nice that they would all act the same, brightness, volume, etc. Perhaps that should be more pluggable or maybe if we decide to drop kmixer as default we make kmilo focus on tmix.
Yes exactly the OSD is the sugar. I think both kmix and tmix should be supported by kmilo. I had a look at the code years ago :-) not too much in memory left.
It seems a lot to ask to add DCOP, then get tmix to listen to it etc, all just so a global hotkey which already works - works within kmilo.
adding a dcop binding is not that hard in fact. it mostly generates itself, but the bindings in the application are more work.
I need outside help on this
Can we create a feature request in TGW and work it out there? I mean feature request against kmilo.
BR
Anno domini 2026 Wed, 10 Jun 20:03:50 -0400 Calvin Morrison via tde-devels scripsit:
I need to learn more about kmilo. Is . I think mostly the way these are supposed to work is via the fancy XF86 keys these days - but the OSD seems to be the stickler.
XF86AudioRaiseVolume XF86AudioLowerVolume XF86AudioMute XF86MonBrightnessUp XF86MonBrightnessDown
Regarding that kmilo provides an OSD that is very nice, and i see they do it for brightness as well. However, should such things be centralized? i do not know. I dont have a good view on it. It seems nice that they would all act the same, brightness, volume, etc. Perhaps that should be more pluggable or maybe if we decide to drop kmixer as default we make kmilo focus on tmix.
kmilo handles these events. The problem is that it is not exactly modular and the DCOP architectre comes from a time when IPC was considerd not to be "cool" and everybody jumped on stuff like CORBA and built a different implementation of the very same idea. To make things worse AMD platforms now implement a different brightness setting API than intel, resulting in the odd problem that all brighness keys make the display darker but none to mke it brighter (note that this applies to all DEs, not only TDE). It's esy to fix using ACPI and a shell program, but that would requite to get rigd of kmilo all together - not the worst thing, if you ask me.
It seems a lot to ask to add DCOP, then get tmix to listen to it etc, all just so a global hotkey which already works - works within kmilo.
I need outside help on this
I would need it, too :)
Nik
On Wed, Jun 10, 2026, at 7:45 PM, deloptes via tde-devels wrote:
Calvin Morrison via tde-devels wrote:
OK... huh.
I do not have a laptop or use KMILO. I don't really understand what it's for but - if you get regular keyboard events via xev you should be able to see what key is mapped when you press the special laptop volume buttons.
I also do not have laptop, but my keyboard has multimedia keys. So after reboot without kmilo, the OSD is not working and if I remember correctly this is the reason to install kmilo back then.
To that end, what if you just configure it this way - inside TDE using the global shortcuts?
IMO we should either update kmilo or add the osd functionality to tmix.
Let me know about the debian directory, as I saw you have built a package. I would like to install the package with the icons.
BR
-- FCD6 3719 0FFB F1BF 38EA 4727 5348 5F1F DCFE BCB0
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
Hi Nik,
it seems to me that you have some script set there that handles the presses of the relevant keys - or acpi / hardware events, instead of it being about setting global keyboard shortcuts.
Cheers Slávek
Hi Slavec,
Anno domini 2026 Tue, 9 Jun 16:32:10 +0200 Slávek Banko via tde-devels scripsit:
Hi Nik,
it seems to me that you have some script set there that handles the presses of the relevant keys - or acpi / hardware events, instead of it being about setting global keyboard shortcuts.
acpi-support is installed but nothing has been changed. From what I see TDE gets the volume KEY_VOLUMEDOWN/KEY_VOLUMEUP via acpi just fine - please see the screenshot, it's TDEs osd (well, in german ...)
Nik
Cheers Slávek
Dne út 9. června 2026 Dr. Nikolaus Klepp via tde-devels napsal(a):
Hi Slavec,
Anno domini 2026 Tue, 9 Jun 16:32:10 +0200
Slávek Banko via tde-devels scripsit:
Hi Nik,
it seems to me that you have some script set there that handles the presses of the relevant keys - or acpi / hardware events, instead of it being about setting global keyboard shortcuts.
acpi-support is installed but nothing has been changed. From what I see TDE gets the volume KEY_VOLUMEDOWN/KEY_VOLUMEUP via acpi just fine - please see the screenshot, it's TDEs osd (well, in german ...)
Nik
Cheers Slávek
Hi Nik,
global hotkeys are subject to the settings of each specific application => when the application is not running, the global hotkeys are not registered by the application, so it does not respond to them.
Whereas in your case "something" reacts to the key and tries to call KMix in a targeted manner. That's why I say that this is not about setting the global keyboard shortcuts of a specific application. One thing come to my mind - are you using KMilo? Because kmilo could be the one responding to the keys and trying to call kmix.
Cheers Slávek --
Hi Slavek,
Anno domini 2026 Tue, 9 Jun 18:42:06 +0200 Slávek Banko via tde-devels scripsit:
Dne út 9. června 2026 Dr. Nikolaus Klepp via tde-devels napsal(a):
Hi Slavec,
Anno domini 2026 Tue, 9 Jun 16:32:10 +0200
Slávek Banko via tde-devels scripsit:
Hi Nik,
it seems to me that you have some script set there that handles the presses of the relevant keys - or acpi / hardware events, instead of it being about setting global keyboard shortcuts.
acpi-support is installed but nothing has been changed. From what I see TDE gets the volume KEY_VOLUMEDOWN/KEY_VOLUMEUP via acpi just fine - please see the screenshot, it's TDEs osd (well, in german ...)
Nik
Cheers Slávek
Hi Nik,
global hotkeys are subject to the settings of each specific application => when the application is not running, the global hotkeys are not registered by the application, so it does not respond to them.
Whereas in your case "something" reacts to the key and tries to call KMix in a targeted manner. That's why I say that this is not about setting the global keyboard shortcuts of a specific application. One thing come to my mind - are you using KMilo? Because kmilo could be the one responding to the keys and trying to call kmix.
kmilo is deactvated.
The thing is, "kmix" is not called in the sense of execute a binary. When I create a bash program in /opt/trinity/bin/kmix it is never called but I get the osd message that "kmix is not running" - which is kind of misleading, 'cause when kmix is intalled but not running then pressing e.g. "volumeup" starts kmix and the volume keys work. In that case both kmix and tmix are running.
So I'm kind of confused. Could "kmix" be started using dcop or some other tde specific mechanism?
Nik
Cheers Slávek
Anno domini 2026 Tue, 9 Jun 20:31:37 +0200 Dr. Nikolaus Klepp via tde-devels scripsit:
Hi Slavek,
Anno domini 2026 Tue, 9 Jun 18:42:06 +0200 Slávek Banko via tde-devels scripsit:
Dne út 9. června 2026 Dr. Nikolaus Klepp via tde-devels napsal(a):
Hi Slavec,
Anno domini 2026 Tue, 9 Jun 16:32:10 +0200
Slávek Banko via tde-devels scripsit:
Hi Nik,
it seems to me that you have some script set there that handles the presses of the relevant keys - or acpi / hardware events, instead of it being about setting global keyboard shortcuts.
acpi-support is installed but nothing has been changed. From what I see TDE gets the volume KEY_VOLUMEDOWN/KEY_VOLUMEUP via acpi just fine - please see the screenshot, it's TDEs osd (well, in german ...)
Nik
Cheers Slávek
Hi Nik,
global hotkeys are subject to the settings of each specific application => when the application is not running, the global hotkeys are not registered by the application, so it does not respond to them.
Whereas in your case "something" reacts to the key and tries to call KMix in a targeted manner. That's why I say that this is not about setting the global keyboard shortcuts of a specific application. One thing come to my mind - are you using KMilo? Because kmilo could be the one responding to the keys and trying to call kmix.
kmilo is deactvated.
The thing is, "kmix" is not called in the sense of execute a binary. When I create a bash program in /opt/trinity/bin/kmix it is never called but I get the osd message that "kmix is not running" - which is kind of misleading, 'cause when kmix is intalled but not running then pressing e.g. "volumeup" starts kmix and the volume keys work. In that case both kmix and tmix are running.
So I'm kind of confused. Could "kmix" be started using dcop or some other tde specific mechanism?
Ok, kmilo might be the culprit. It look like tde ignores the checkmark wether to use or not to use kmilo. When it's installed it's used - always. Without kmilo the volumekeys are not recognited (neither on my thinkpad nor on my desktop). With kmilo kmix is called, not tmix.
Nik
Nik
Cheers Slávek
KMix does have a dcop interface yes
On Tue, Jun 9, 2026, at 2:31 PM, Dr. Nikolaus Klepp via tde-devels wrote:
Hi Slavek,
Anno domini 2026 Tue, 9 Jun 18:42:06 +0200 Slávek Banko via tde-devels scripsit:
Dne út 9. června 2026 Dr. Nikolaus Klepp via tde-devels napsal(a):
Hi Slavec,
Anno domini 2026 Tue, 9 Jun 16:32:10 +0200
Slávek Banko via tde-devels scripsit:
Hi Nik,
it seems to me that you have some script set there that handles the presses of the relevant keys - or acpi / hardware events, instead of it being about setting global keyboard shortcuts.
acpi-support is installed but nothing has been changed. From what I see TDE gets the volume KEY_VOLUMEDOWN/KEY_VOLUMEUP via acpi just fine - please see the screenshot, it's TDEs osd (well, in german ...)
Nik
Cheers Slávek
Hi Nik,
global hotkeys are subject to the settings of each specific application => when the application is not running, the global hotkeys are not registered by the application, so it does not respond to them.
Whereas in your case "something" reacts to the key and tries to call KMix in a targeted manner. That's why I say that this is not about setting the global keyboard shortcuts of a specific application. One thing come to my mind - are you using KMilo? Because kmilo could be the one responding to the keys and trying to call kmix.
kmilo is deactvated.
The thing is, "kmix" is not called in the sense of execute a binary. When I create a bash program in /opt/trinity/bin/kmix it is never called but I get the osd message that "kmix is not running" - which is kind of misleading, 'cause when kmix is intalled but not running then pressing e.g. "volumeup" starts kmix and the volume keys work. In that case both kmix and tmix are running.
So I'm kind of confused. Could "kmix" be started using dcop or some other tde specific mechanism?
Nik
Cheers Slávek
-- Please do not email me anything that you are not comfortable also sharing with the NSA, CIA ... ____________________________________________________ tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...
Great job!
TMix seems to work great here and I like the user interface much better than both of KMix and pavucontrol.
I don't know about replacing KMix just yet, but I think that we do need a good PulseAudio mixer in tdemultimedia such as this one.
Some things are still missing (LICENSE/COPYING file, tray tooltip showing volume %, translations, etc.) but these are quite easy to solve.
It might be a good idea to go through the code a bit more carefully -just to be sure- since it seems that some of it was co-authored by a LLM model (and a lot of users have negative or conflicting feelings about "AI"), but you must have put in a reasonable amount of work to polish it to this extent and I think code LLMs *can* be a reasonable tool for aiding development, so I see no real issue here.
On a different note, I have accumulated some minor patches in order to improve compatibility with the master branch of TDE and I'd also like to add support for using icons from the user-selected icon theme as I previously did with KMix: https://mirror.git.trinitydesktop.org/gitea/TDE/tdemultimedia/pulls/31
Overall, I hope we could see this in R14.1.7.
-- Philippe M.
Saturday 16 May 2026 02:30:05 Calvin Morrison via tde-devels написал(а):
hi guys,
please see this repo and give feedback if you cane
it is a pulseaudio based mixer for TDE. it's similar to kmix but not identical. It's similar to pavucontrol-qt but not identical.
If you can build it, let me know, if you cannot build it, let me know
if you like it... let me know! maybe it could go upstream at some point into tdemultimedia, it would take work, translations, a help guide, probably minimally also an ALSA backend as well.
https://git.ceux.org/tmix.git/
thank you all
On Sun, May 17, 2026, at 7:52 AM, Philippe Mavridis via tde-devels wrote:
Great job!
TMix seems to work great here and I like the user interface much better than both of KMix and pavucontrol.
Thank you. this was very hard to get right to make it intutive and easy to use .
There's both a full mixer, and a mini-mixer.
It also for example pops an additional "recording" systray icon, an idea I stole from my wife's Mac. When recording it gives you a global icon so you know. in tmix - you can see if anything is recording globally and click on it to adjust inputs.
I also wanted to live up the spirit of TDE wherever I decided to make a design decision to offer both options. For example, you can the mixer in a tabbed mode (similar to pavucontrol) or in a non-tabbed mode where all interfaces are available at once (like a real mixer). You can show a the new recording bar feature or not. you can even just not use the minimixer and go into the full mixer by default.
I also wanted to go beyond what pavucontrol offered in terms of the device menu. We show not only profile input selection, but if there are options (Ex: use speakers OR headset for output on my intel card), and we show the plugged/unplugged status of each port on the audiocard. This was actually immediately helpful to me as my motherboard doesnt label the 6 different 3.5mm jacks and I always forget which is Line-Out.
I don't know about replacing KMix just yet, but I think that we do need a good PulseAudio mixer in tdemultimedia such as this one.
There's 2 options. one is keep kmix. Alsamixer still exists and works for example.
The latter is to write alsa into tmix, and then my concern is primarily for our friends who are using TDE on FreeBSD as I know very little about what people typically use on those systems.
It may behoove people to sometimes still use tmix with an alsa output because alsa has some additional settings occasionally that I think pulse may not bubble up around card settings. However, we could also show those probably in the pulse one, so yeah.
Some things are still missing (LICENSE/COPYING file, tray tooltip showing volume %, translations, etc.) but these are quite easy to solve.
Yes. I'm 'more of an ideas guy'...
It might be a good idea to go through the code a bit more carefully -just to be sure- since it seems that some of it was co-authored by a LLM model (and a lot of users have negative or conflicting feelings about "AI"), but you must have put in a reasonable amount of work to polish it to this extent and I think code LLMs *can* be a reasonable tool for aiding development, so I see no real issue here.
I profoundly agree with you here. I'm not shooting a slop PR into the master tdemultimedia. I wrote this using Claude. I directed the input but did not direct the output. I have been going over some of the code now to get acquainted and look at issues with it. Additionally I am concerned about my career prospects as AI continues to take away hard parts of my job.
On the other hand - I waited 15 years and now I have a pulse mixer for TDE in the matter of a few nights of work, something that would have probably taken me months and may never have gotten done.
In a way, lower labor costs for programming is a boon for niche environs, especially one where there is so much documentation as code from hundreds of other programs, libraries and models. Claude is able to effectively work as I once did, read other examples, and implement them.
On a different note, I have accumulated some minor patches in order to improve compatibility with the master branch of TDE and I'd also like to add support for using icons from the user-selected icon theme as I previously did with KMix: https://mirror.git.trinitydesktop.org/gitea/TDE/tdemultimedia/pulls/31
So Kmix and tmix both have a big set of hardcoded icons. icons i find to be retro, beautiful and charming (though ironically i dont like the primary tray icon). However I believe this is in violation of the larger theming standards that TDE apps should meet. Perhaps we can offer the default theme with the builtin icons, OR allow for the system icons.
Overall, I hope we could see this in R14.1.7.
If we can get people to test spin this on many cards, configurations and devices and would give detailed feedback about the UI/UX usability, I would be more comfortable with that idea. Right now I am 'comfortable' having this also be an independent project - another boon of AI, that anyone and everyone could have their own mixers they like in a day or two.
And not to throw the elephant in the room, I have a set of patches out there to kill ArtsD entirely, which maybe tmixer could come alongside and be released concurrently.
Regarding future proofing - pulse/pipewire is forward compatible at this point in time where pavucontrol works with pipewire, and ours will probably do so as well, but it may behoove use to build better and cooler interfaces for pipewire!
-- Philippe M.
Saturday 16 May 2026 02:30:05 Calvin Morrison via tde-devels написал(а):
hi guys,
please see this repo and give feedback if you cane
it is a pulseaudio based mixer for TDE. it's similar to kmix but not identical. It's similar to pavucontrol-qt but not identical.
If you can build it, let me know, if you cannot build it, let me know
if you like it... let me know! maybe it could go upstream at some point into tdemultimedia, it would take work, translations, a help guide, probably minimally also an ALSA backend as well.
https://git.ceux.org/tmix.git/
thank you all
tde-devels mailing list -- devels@trinitydesktop.org To unsubscribe send an email to devels-leave@trinitydesktop.org Web mail archive available at https://mail.trinitydesktop.org/mailman3/hyperkitty/list/devels@trinitydeskt...