Code Monkey home page Code Monkey logo

space-bar's Introduction

Space Bar

GNOME Shell extension that replaces the 'Activities' button with an i3-like workspaces bar.

On GNOME Extensions: https://extensions.gnome.org/extension/5090/space-bar/

Originally a fork of the extension Workspaces Bar by fthx, this extension grew into a more comprehensive set of features to support a workspace-based workflow.

Features

  • First class support for static and dynamic workspaces as well as multi-monitor setups
  • Add, remove, and rename workspaces
  • Rearrange workspaces via drag and drop
  • Automatically assign workspace names based on started applications
  • Keyboard shortcuts extend and refine system shortcuts
  • Scroll through workspaces by mouse wheel over the panel
  • Customize the appearance

Limitations

  • Adding workspaces by dragging a window in overview between existing workspaces is not recognized and will confuse workspace names

Build

The source code of this extension is written in TypeScript. The following command will build the extension and package it to a zip file.

./scripts/build.sh

Install

The following command will build the extension and install it locally.

./scripts/build.sh -i

Generate types

For development with TypeScript, you can get type support in IDEs like VSCode by building and installing type information for used libraries. Generating types is optional and not required for building the extension. (For that, we use a different configuration that stubs type information with dummy types.)

To generate types, run

npm install
npm run build:types

Choose "All" and "Yes" for everything.

Debug

Run a GNOME shell instance in a window:

dbus-run-session -- gnome-shell --nested --wayland

View logs:

journalctl -f -o cat /usr/bin/gnome-shell

View logs of settings:

journalctl -f -o cat /usr/bin/gjs

space-bar's People

Contributors

fthx avatar dobli avatar elasticduckcode avatar christopher-l avatar garaevdi avatar null-git avatar pesader avatar wroyca 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.