An attempt at window tabbing for KWin. Currently in its initial stage of development and not yet usable.
Based on this TypeScript KWin scripting template and type definitions by RubixDev. Refer to their READMEs, especially section 5 of the template.
- Adding windows to a group using a shortcut.
- All windows in a group getting resized in unison.
- If you use nvm, there's an
.nvmrc. - Run
npm ito install the required dependencies. - The KWin script sources are in
contents/src. npm run dbus_printerwill start a DBus service the KWin script may print to usingdbg.log,dbg.infoordbg.debug.npm run startwill recompile/load the script.
Checks the source files for errors using tsc
Compiles the TypeScript source files to a single main.js without checking for errors
Packages the compiled script to a single .kwinscript file. Use the .pkgignore file to specify files and folders of the root level to exclude
Installs the packaged script to your system
Enables the installed script and starts it. The output can be seen via journalctl -f
Shows the current install & load status of the script.
Starts a DBus service that prints the messages it receives to the console. The source can be found here. To send messages to it from the KWin script, either use dbg.log("example"), dbg.info("example") or dbg.debug("example"). An example of how to send messages to it from the command line can be found here.
Executes these scripts:
lintcompilepackage
Executes these scripts:
lintcompilepackageinstallrun
Fully stops and removes the installed script from your system
Copies following information from the package.json to the metadata.desktop:
displayNamedescriptionmainauthornameversion