All Projects → wsdfhjxc → Virtual Desktop Bar

wsdfhjxc / Virtual Desktop Bar

Licence: gpl-3.0
KDE Plasma panel applet for managing virtual desktops

Labels

Projects that are alternatives of or similar to Virtual Desktop Bar

Atomicdex Desktop
atomicDEX Desktop app - project codename "Dextop"
Stars: ✭ 126 (-17.65%)
Mutual labels:  qml
Applet Window Title
Plasma 5 applet that shows the application title and icon for active window
Stars: ✭ 138 (-9.8%)
Mutual labels:  qml
Quickios
QML Theme and Component Library for iOS
Stars: ✭ 146 (-4.58%)
Mutual labels:  qml
Qdriverstation
Cross-platform clone of the FRC Driver Station
Stars: ✭ 133 (-13.07%)
Mutual labels:  qml
Qmlcreator
Stars: ✭ 136 (-11.11%)
Mutual labels:  qml
Qtcam
QtCAM is a free, Open Source Linux Webcamera Software with more than 10 image control settings, extension settings and Color space switching.
Stars: ✭ 141 (-7.84%)
Mutual labels:  qml
Remarkable Keywriter
Stars: ✭ 119 (-22.22%)
Mutual labels:  qml
Lime Qml
QML frontend for LimeText
Stars: ✭ 150 (-1.96%)
Mutual labels:  qml
Yubikey Manager Qt
Cross-platform application for configuring any YubiKey over all USB interfaces.
Stars: ✭ 137 (-10.46%)
Mutual labels:  qml
Qamel
Simple QML binding for Go
Stars: ✭ 147 (-3.92%)
Mutual labels:  qml
Qtandroidtools
A library to manage Android from QML
Stars: ✭ 134 (-12.42%)
Mutual labels:  qml
Qtodotxt2
Rewrite of GUI code of QTodoTxt using qml.
Stars: ✭ 136 (-11.11%)
Mutual labels:  qml
Awesome Quantum Machine Learning
Here you can get all the Quantum Machine learning Basics, Algorithms ,Study Materials ,Projects and the descriptions of the projects around the web
Stars: ✭ 1,940 (+1167.97%)
Mutual labels:  qml
Layan Kde
Layan kde theme
Stars: ✭ 130 (-15.03%)
Mutual labels:  qml
Deepin Movie
Old deepin media player, see deepin-movie-reborn for the new one.
Stars: ✭ 147 (-3.92%)
Mutual labels:  qml
Osm Shapefile Qgis Stylesheets
Stars: ✭ 125 (-18.3%)
Mutual labels:  qml
Dotherside
C language library for creating bindings for the Qt QML language
Stars: ✭ 140 (-8.5%)
Mutual labels:  qml
Haruna
Open source video player built with Qt/QML and libmpv.
Stars: ✭ 147 (-3.92%)
Mutual labels:  qml
Quickpromise
Quick Promise - QML Promise Library
Stars: ✭ 149 (-2.61%)
Mutual labels:  qml
Pan Light
百度网盘不限速客户端, golang + qt5, 跨平台图形界面
Stars: ✭ 11,706 (+7550.98%)
Mutual labels:  qml

Virtual Desktop Bar

This is an applet for KDE Plasma panel (or Latte Dock) that lets you switch between virtual desktops and also invoke some actions to dynamically manage them in a convenient way. In order to do it, you can use the mouse, the context menu or user-defined keyboard shortcuts. There are also some extra features related to virtual desktops.

The plasmoid displays virtual desktops as text labels with indicators in various styles. That means there's no graphical icons and window previews like in the Plasma's default Pager applet. Although the intention is to keep it simple, the applet has several configuration options regarding its behavior and visuals. These should be more than enough for desktop customization enthusiasts and folks at /r/unixporn who want to make their panels aesthetic.

And actually, the whole reason for creating this plasmoid was about the aesthetics in the first place, as I consider the Plasma's default Pager applet, with its fixed-size rectangles and window shapes, to be quite ugly, to put it straight.

Features

  • Switching, adding, removing, renaming, moving desktops
  • Mouse dragging, clicking, scrolling support, context menu, keyboard shortcuts
  • Automation: switching, renaming desktops, executing commands, dynamic desktops
  • Customizable size, spacing, font, color and style of desktop buttons and labels
  • Showing a desktop button only for the current desktop or only for occupied desktops
  • Formatting the desktop label's style (name, number, Roman number, window's name, etc.)
  • Limiting the maximum length of desktop labels, displaying them as UPPERCASED
  • Customizable style and colors of desktop indicators in different states (idle, current, occupied etc.)

and a few more not mentioned options...

Screenshots

Adding, renaming, moving, removing a desktop:

Various desktop label styles:

Various desktop indicator styles:

Partial support also for vertical panels:

Installation

To install the applet, either get it as a distro-specific package, or build it from source by yourself.

Packages

  • Arch Linux users can get the latest git version of the applet as an AUR package (thanks @nwwdles)

From source

First, you need to install some required dependencies:

  • On Fedora run: ./scripts/install-dependencies-fedora.sh
  • On openSUSE run: ./scripts/install-dependencies-opensuse.sh
  • On Arch Linux or Manjaro run: ./scripts/install-dependencies-arch.sh
  • On Kubuntu or KDE neon run: ./scripts/install-dependencies-ubuntu.sh

Then, to compile the source code and install the applet run: ./scripts/install-applet.sh

Note: This also applies if you want to upgrade to a newer version.

Note: If you want to remove the applet run: ./scripts/uninstall-applet.sh

After that, you should be able to find Virtual Desktop Bar in the Add Widgets menu.

Configuration

The applet has some options regarding its behavior and visuals. You'll find them in the configuration dialog.

Don't get fooled by an empty Keyboard Shortcuts section though. It's an imposed thing, common for all plasmoids.

There are global keyboard shortcuts, but you have to configure them in the Global Shortcuts System Settings Module. They should be available under KWin, Plasma or Latte Dock component, depending on the Plasma's mood and where have you placed the applet. All of the shortcuts have the Virtual Desktop Bar prefix for easier recognition.

Known issues

  • Virtual desktops are shared by all monitors (KWin's limitation)
  • Support for Plasma Wayland session isn't there yet (this is a long-term goal)
  • The code behind this applet is a mess that doesn't follow the proper way of writing plasmoids
  • Dynamic virtual desktop management doesn't play nice with KWin scripts (see the explanation below)

Compatibility with KWin scripts

The plasmoid does some things which results of are not exposed through the KWin scripting API. This is related to dynamic desktops, moving desktops, removing desktops other than the last one. These are non-native features. Because of that, KWin scripts tracking desktops or windows (for example tiling scripts) in most cases will be confused and will not react properly to performed actions (maybe except the dynamic desktops feature, depends on the script).

Nothing can be done about it, as long as KWin scripting API does not support signals like:

  • desktopRemoved(QString id)
  • desktopsReplaced(QString id1, QString id2)

To avoid issues while using KWin scripts, do not use the features mentioned above.

Compatibility with window managers other than KWin

Some features, even the basic ones, like adding or removing desktops, might not work if KWin is replaced with a different window manager, be it i3, bspwm or any other. Such issues are unlikely to be addressed. However, the plasmoid should still display desktops and their state, so it can act as a visual addition with labels and indicators.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].