Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EWW: Taskbar workspaces control #864

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

kajusnau
Copy link
Contributor

@kajusnau kajusnau commented Oct 25, 2024

Description of changes

  1. Added Workspaces Control Script:

    • Introduced a new control script for managing ghaf workspaces in packages/ghaf-workspace.
    • This script is necessary because labwc does not provide commands to control or monitor workspaces directly, apart from keybind functionality.
    • The script keeps track of current workspace and max number of workspaces in separate files under ~/.config/labwc;
    • Active workspace should be remembered between system reboots;
  2. Added Workspaces Widget to Taskbar:

    • Added to the top-left section of the taskbar.
    • Displays the active workspace index and allows users to switch workspaces directly from the taskbar.
  3. Configured Keybindings for Workspace Switching:

    • Added keybindings for workspace switching:
      • Super + [number] — Switches to the numbered workspace.
      • Super + Alt + Right Arrow — Switches to the next workspace.
      • Super + Alt + Left Arrow — Switches to the previous workspace.
  4. Defined Workspaces in Labwc Configuration:

    • Currently limited to two workspaces;
    • Workspaces popup dialog disabled;
    • Disabled default mouse keybind that allowed scrolling through workspaces;
  5. Other changes:

    • Reduced the height of the taskbar to match Ghaf UI design (46px -> 36px);

Checklist for things done

  • Summary of the proposed changes in the PR description
  • More detailed description in the commit message(s)
  • Commits are squashed into relevant entities - avoid a lot of minimal dev time commits in the PR
  • Contribution guidelines followed
  • Ghaf documentation updated with the commit - https://tiiuae.github.io/ghaf/
  • PR linked to architecture documentation and requirement(s) (ticket id)
  • Test procedure described (or includes tests). Select one or more:
    • Tested on Lenovo X1 x86_64
    • Tested on Jetson Orin NX or AGX aarch64
    • Tested on Polarfire riscv64
  • Author has run make-checks and it passes
  • All automatic Github Action checks pass - see actions
  • Author has added reviewers and removed PR draft status
  • Change requires full re-installation
  • Change can be updated with nixos-rebuild ... switch

Instructions for Testing

  • Try to switch workspaces using the above mentioned keybinds

  • Try to reboot system while on workspace id 2 to see if active workspace is remembered;

  • Verify two-finger vertical scrolling does not change active workspace;

  • List all targets that this applies to:
    Lenovo X1

  • Is this a new feature

    • List the test steps to verify:
      Can be tested on Lenovo X1 following usual installation or nixos-rebuild ... switch
  • If it is an improvement how does it impact existing functionality?

Signed-off-by: Kajus Naujokaitis <[email protected]>
- Added workspaces widget to top-left of taskbar
- Added keybinds to switch workspaces
- Added workspaces definition to labwc config

Signed-off-by: Kajus Naujokaitis <[email protected]>
@kajusnau kajusnau temporarily deployed to internal-build-workflow October 25, 2024 07:30 — with GitHub Actions Inactive
@kajusnau kajusnau added the Needs Testing CI Team to pre-verify label Oct 25, 2024
@leivos-unikie
Copy link
Contributor

Tested on Lenovo-X1 (built fresh image)

  • Workspace control seems to work well, as described
  • ci-test-automation passed and performance ok

@leivos-unikie leivos-unikie added Tested on Lenovo X1 Carbon This PR has been tested on Lenovo X1 Carbon and removed Needs Testing CI Team to pre-verify labels Oct 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tested on Lenovo X1 Carbon This PR has been tested on Lenovo X1 Carbon
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants