GithubHelp home page GithubHelp logo

aziroshin / kwin-window-tabbing Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 32 KB

Attempt at approximating window-tabbing with KWin. Based on this TypeScript template for kwin scripts: https://github.com/RubixDev/kwin-typescript-template

License: GNU General Public License v2.0

TypeScript 57.37% Shell 15.32% JavaScript 4.70% Python 22.61%

kwin-window-tabbing's Introduction

kwin-window-tabbing

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.

What Works:

  • Adding windows to a group using a shortcut.
  • All windows in a group getting resized in unison.

Setup

Notes

  • If you use nvm, there's an .nvmrc.
  • Run npm i to install the required dependencies.
  • The KWin script sources are in contents/src.
  • npm run dbus_printer will start a DBus service the KWin script may print to using dbg.log, dbg.info or dbg.debug.
  • npm run start will recompile/load the script.

NPM Scripts

lint

Checks the source files for errors using tsc

compile

Compiles the TypeScript source files to a single main.js without checking for errors

package

Packages the compiled script to a single .kwinscript file. Use the .pkgignore file to specify files and folders of the root level to exclude

install

Installs the packaged script to your system

run

Enables the installed script and starts it. The output can be seen via journalctl -f

status

Shows the current install & load status of the script.

dbus_printer

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.

publish

Executes these scripts:

  1. lint
  2. compile
  3. package

start

Executes these scripts:

  1. lint
  2. compile
  3. package
  4. install
  5. run

uninstall

Fully stops and removes the installed script from your system

update-metadata

Copies following information from the package.json to the metadata.desktop:

  • displayName
  • description
  • main
  • author
  • name
  • version

kwin-window-tabbing's People

Contributors

aziroshin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.