Today I whipped up a small Emacs minor-mode to interface with KDE's ActivityManager system. It's my first minor-mode and it's janky as fuck right now, but I'm going to expand on it to eventually be able to filter, for example, to just buffers that are linked to your current activity, pushing me towards a long-standing goal of mine to create a system which flows with what I'm doing, rather than forcing me in to its workflow.
For those out of the know, KDE's got this neat as frick concept called Activities where you can connect windows and files -- and other resources such as web pages -- to an arbitrary UUID, which is then attached to a workspace in KDE Plasma. Think of them as Virtual Desktops that you can shut off, in essence. When I used KDE, this was a super powerful idea, and a really wonderful system, but back then, and even now, it just doesn't play with the wider ecosystem. Unless you use Konqueror, your browser doesn't support it without terrible hacks, your editor probably doesn't support it, unless you're using Ivan's Vim plugins, &c. That'll change soon, I'm pushing my weird little Lisp operating system in to a level of deep system integration and fluidity.
At any rate, if you want to play with this, it's on my public cgit which unfortunately lacks an easy way to git-clone 'cause I'm too lazy to fix git-daemon to properly export the repositories over the public net. For now, curl that file, add it to your
load-path and then:
(add-to-list 'load-path "/path/to/kamd.el/") (require 'kamd) (kamd-global-mode)
Let me know if it causes any issues for you; currently it pulls the D-BUS session bus out of the environment, if that doesn't work, it'll probably just silently fail.