You are not logged in.
Here's another little tool for TDE: qsuperl
A lightweight, specialized fork of xcape for Q4OS TDE, enhancing the Super_L (Windows) key to mimic Windows 10 functionality. Maps Super_L to custom key combinations (e.g., Ctrl_L+Super_L+Z) for menu shortcuts, allowing single Super_L presses to open the menu (set Super_L as a dead key in TDE) and Super_L+ combinations for other actions (e.g., Super_L+R to run programs). Integrates theasmitkid's window tiler (now named "xakar") for Super_L-based window tiling. Designed for TDE but compatible with other X11 desktop environments. No external hotkey daemons required.
Features:
Custom Super_L key mappings (e.g., Super_L to Ctrl_L+Super_L+Z for menu shortcuts)
Optional Ctrl+Shift+Esc and Ctrl+Alt+Del interception to launch custom binaries or commands
Integrated window tiler with Super_L+Enter, Super_L+Space, and Super_L+Arrow bindings
Additional functions added to the original tiler:
Super_L+<plus key (+) on numeric pad>: Increase window size by 10%
Super_L+<minus key (-) on numeric pad>: Decrease window size by 10%
*For multiple display configurations (up to 3 physical screens):
Super_L+1: Send window to display '1' (works with regular '1' key or numeric pad '1')
Super_L+2: Send window to display '2' (if any) (works with regular '2' key or numeric pad '2')
Super_L+3: Send window to display '3' (if any) (works with regular '3' key or numeric pad '3')
+some bugfixes, now tiling is ok with multiple screen configuration too ![]()
Coded in c, lightweight, resource-efficient, no dependency on khotkeys or similar daemons. (but can work with khotkeys if you need it, just don't intercept the same keys with each program...)
*If any of the needed keys are already grabbed by another program (for example khotkeys or any other hotkeys daemon), an error message will be displayed in a simple X window, with the details of the key(s) grab failed; if all the needed keys are already grabbed, the program will exit (because it won't be able to do anything).
All credits goes to theasmitkid's for his excellent tiler, and his Super_L tweak for TDE ![]()
Arguments:
-e 'KEY_COMBINATION': Maps Super_L to a custom key combination (e.g., Control_L|Super_L|Z) for menu shortcuts
-x 'BINARY_PATH': Intercepts Ctrl+Shift+Esc to launch a specified binary (e.g., /usr/bin/htop for a task manager)
-c 'BINARY_PATH': Intercepts Ctrl+Alt+Del to launch a specified binary (e.g., /usr/bin/logout for a logout page)
-w: Enables the integrated window tiler with Super_L-based key bindings
-k: Launches applications specified with -x and -c using kstart (TDE/KDE only; useful to force the window manager to bring the application to the front in certain cases)
Usage (Example commands):
qsuperl -e 'Control_L|Super_L|Z' # Map Super_L to menu shortcut
qsuperl -e 'Control_L|Super_L|Z' -x /usr/bin/htop # Super_L + Ctrl+Shift+Esc
qsuperl -e 'Control_L|Super_L|Z' -w # Enable window tiler
qsuperl -e 'Control_L|Super_L|Z' -w -x /usr/bin/htop -c /usr/bin/logout -k # Map Super_L, enable window tiler, intercept Ctrl+Shift+Esc and Ctrl+Alt+Del, launch with kstart
**Binary in attachment (or you can grab the sources and compile it yourself, it's on github)
Resources:
Q4OS Forum: Menu Shortcuts
Q4OS Forum: Window Tiler
github sources
Last edited by seb3773 (2025-09-05 01:18)
Debian & Q4OS (TDE!!), low-level C, ASM (z80/68k/x86/ARM64), embedded systems, CPU architectures (RISC-V, binary formats, assembly), retro-computing, metal music, guitar and sci-fi.
Offline
Looks great~ btw tiler has been updated to Xakar, so I'd appreciate it if you could update your posts/README as well. Thankyou!
Well, I was scrolling through your code and I saw KSTART_ENABLED.. what does this flag do? I couldn't understand why you'd use kstart..
Also, I'm working on incorporating many more features in upcoming versions of Xakar(Including my own implementation of key binders)
Stay tuned~ ![]()
Coding & Robotics Enthusiast | Brave & Spck Editor @ Lenovo Tab 4 8 · Android 8.1 · 2GB · 16GB
Offline
Looks great~ btw tiler has been updated to Xakar, so I'd appreciate it if you could update your posts/README as well. Thankyou!
Done ![]()
Well, I was scrolling through your code and I saw KSTART_ENABLED.. what does this flag do? I couldn't understand why you'd use kstart.
Well, it's only used (if needed) for the ctrl+alt+shift & ctrl+alt+del combinations, which I use to run lxtask for the first combination and a similar screen win10 have for cad (so similar you can't tell it's not win10 ctrl+alt+suppr screen
I integrated password change, session switching and the other functions, lock etc... I can post the code if you want, to take a look it's not on github.. Or I can put it on github maybe). It works flawlessly, but I noticed that if I launch qsuperl from TDE autostart, for some reason, lxtask & my cad screen are not launched at "first plan", and do not have focus. I mean the lxtask window for example stay under the other windows if any opened.But this problem doesn't exist when qsuperl is launched from the console or win+r... I made some research and came to the conclusion that it's *maybe* because qsuperl has no window, it's just a daemon, and launching it at start prevent it to launch other binary and give focus to them. But it is not the case when I launch it from a console, I really don't know why. But I found when searching that other dev have had this problem, and using kstart for kde is a solution, as it "force" the graphical applications launched whith it to have focus and be at first plan. So, I included this option , hoping I will find a better solution later. (well, an obvious easy solution is to use system() to launch the apps, but I don't like it as it spawn a shell, it's not a good practice to use system(), fork() is a much better option, but in this specific case I need to find how to make it work to give focus to the gui launched... no success so far).
I need to test xakar, will do it soon
I saw you rewrote it in c++, which I think is a good thing. Once again, python is really good, but for this kind of desktop apps, which had to be light and efficient, I really think c (or c++) is a better option. (for example I'm using blueman applet for managing bluetooth, and I really hope I will have some time and motivation to write something equivalent in c one day, because it's coded in pyhton and it's using something like 90+40 Mo.... too much for this kind of program, and not really good on low end machines...And does not really fit the Trinity DE concept at my opinion: it's not light on ressources).
Right now I'm working on a big project at work, so not much time for my personnal projects, but I will have soon some interesting things to share
Especially a new version of lxtask, I have made so much modifications/improvements, I can't wait to finish it and post it here (by the way, it's now so different from the 'original' lxtask that I renamed my fork, it's now 'qxtask', and I'm sure you wil like it ^^ This will be another app for a new version of my win10 theming pack for tde, which I'm working on too, completly rewritten, much more modular and easy to install).... So much projects and so little time ^^
I'm thinking of another thing, maybe something to discuss in another thread, in developpment section, but I'm really interested in your remote screen viewer through network, I'm working too on an idea I had, about virtual display (not virtual desktops, but a virtual screen who is detected and act as a 'real' screen, hosted on another machine...well it needs explanation like I said, but I think your project can combine with mine)
And yes, I stay tuned
Really like your work ![]()
Last edited by seb3773 (2025-09-05 02:00)
Debian & Q4OS (TDE!!), low-level C, ASM (z80/68k/x86/ARM64), embedded systems, CPU architectures (RISC-V, binary formats, assembly), retro-computing, metal music, guitar and sci-fi.
Offline
Interesting~ Thankyou! I'd be looking forward to your new releases ^^
As for blueman, I'd love to see a non-gtk implementation— a tkinter port, to be specific, i tried once but things got too complex for me to understand which led me to giving up.. ![]()
As for lxtask, i really like the fork you've provided so I'd love an even improved version~ when I was new to linux, i really liked the app "Stacer" because it's gui was pretty cool.. but the heaviness led me to uninstalling it.. so i might make a tkinter equivalent too :3
I'm comparatively inexperienced in c/c++ so my code must have a couple flaws— let me know in development forum/tiler's post if you encounter any or have any improvements ^^
(Let's move to that dev forum for further discussion)
Talking about the remote screen viewer, I'd be releasing its backend as XVistar when I get time(that i barely get these days because of exams and all)
XVistar would have set of apps which use this backend, like the remote viewer and magnifier
Magnifier would have a dependency on Xakar v5 (or v4.5)... So many projects and so little time ![]()
Coding & Robotics Enthusiast | Brave & Spck Editor @ Lenovo Tab 4 8 · Android 8.1 · 2GB · 16GB
Offline