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

Desktop: Add window manager widget #1008

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

kajusnau
Copy link
Contributor

@kajusnau kajusnau commented Feb 11, 2025

Description of changes

  1. Added Window Manager Widget:

    • Added a new window manager widget positioned at the bottom of the screen.
    • Combines elements of GNOME and macOS bottom bars.
    • Due to compositor/Wayland limitations, most icons are hardcoded.
      • Note: The Falcon AI (Alpaca) application icon is missing as it is not included in the current icon theme.
    • Controls:
      • Can be opened by moving the cursor to the bottom center of the screen, but only if at least one application window is open.
      • Clicking a window icon brings that window into focus.
      • Middle-clicking (scroll wheel click) a window icon closes the window (and any duplicates of it).
      • Window manager can be closed by hovering out of its' bounds.
    • Limitations:
      • Windows in the bar are grouped by default, meaning multiple instances of the same window are represented by a single icon.
      • When multiple instances of the same application are open, clicking the icon will only focus the first non-active window. This means users can only cycle focus between a maximum of two windows of the same application, leaving a third (and any beyond that) instance unfocused.
  2. Adjusted dconf Settings to Use Nix Config Options:

    • Necessary dconf options are now set using Nix config options instead of gsettings via labwc's autostart script.
  3. Updated Application Icons:

    • Modified icons for Foot terminal and LosslessCut:
      • Foot terminal now uses the "foot" icon instead of the generic "terminal" icon.
      • LosslessCut (Video Editor) now fetches its icon from the icon theme instead of using the packaged icon.
  4. EWW Config Changes:

    • Standardized the font size to 11pt.
    • Reduced taskbar height by ~5px.
    • Minor refactoring.
  5. Removed Auto-Scaling for Non-4K TVs:

    • Scaling was excessive on lower-resolution displays (e.g., 1080p TVs), so it has been removed.

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

  • List all targets that this applies to:
  • Is this a new feature
    • List the test steps to verify:
  1. Open multiple application windows and verify window manager bar appears when moving the cursor to the bottom center of the screen.
  2. Click on different window icons and verify that the selected window is brought into focus.
  3. Open multiple instances of the same application and verify that clicking cycles focus between only two of them.
  4. Middle-click a window icon to verify that the window (and any duplicates) close as expected.
  5. Check that the Falcon AI (Alpaca) application icon is missing, as expected, due to icon theme limitations, but all other icons are shown properly.
  6. Verify readability and usability of the taskbar and its widgets is not affected by the changes to font size and taskbar size.
  7. Verify no scaling is performed on TVs with a resolution lower than 4K (e.g. 1080p).
  • If it is an improvement how does it impact existing functionality?

@kajusnau kajusnau self-assigned this Feb 11, 2025
@kajusnau kajusnau temporarily deployed to internal-build-workflow February 11, 2025 10:27 — with GitHub Actions Inactive
@kajusnau kajusnau temporarily deployed to internal-build-workflow February 11, 2025 12:54 — with GitHub Actions Inactive
@milva-unikie
Copy link

Could not reproduce the failure in the pre-merge pipeline AGX tests → no action needed.

@kajusnau kajusnau added the Needs Testing CI Team to pre-verify label Feb 12, 2025
@kajusnau kajusnau marked this pull request as ready for review February 12, 2025 08:33
@milva-unikie
Copy link

Tested on Lenovo-X1 (nixos-rebuild switch)

Issues:

  • 1080p TV is still getting scaled.
  • No way to differentiate between normal Chrome and Trusted Browser in window manager. They both use the same Chrome icon.
  • No lines in taskbar between different icon groups anymore (widgets, quick settings and power menu). Without it the icons are quite close and hard to separate.

Other notes:

  • In my opinion the font is too small even though my eyesight is supposed to be pretty good 😄.

@milva-unikie milva-unikie added bug on Lenovo X1 Carbon Issues found on Lenovo X1 Carbon while checking this PR and removed Needs Testing CI Team to pre-verify labels Feb 12, 2025
@kajusnau kajusnau temporarily deployed to internal-build-workflow February 12, 2025 12:13 — with GitHub Actions Inactive
@kajusnau
Copy link
Contributor Author

Tested on Lenovo-X1 (nixos-rebuild switch)

Issues:

  • 1080p TV is still getting scaled.
  • No way to differentiate between normal Chrome and Trusted Browser in window manager. They both use the same Chrome icon.
  • No lines in taskbar between different icon groups anymore (widgets, quick settings and power menu). Without it the icons are quite close and hard to separate.

Other notes:

  • In my opinion the font is too small even though my eyesight is supposed to be pretty good 😄.
  1. Fixed - 1080p TVs should no longer be scaled by default
  2. This is unfortunately not possible, as both chrome instances are identified as "google-chrome"
  3. Spacing increased
  4. Font size reverted to system default (14px), with some minor adjustments to calendar and workspace identifier popup. The font size should feel more consistent across the board overall 😎 👌

- Add window manager widget as bottom bar
- Adjust dconf settings to use nix config options instead of script
- Adjust foot and losslesscut icons
- Change default eww font size to 11pt
- Cleanup eww config

Signed-off-by: Kajus Naujokaitis <[email protected]>
@kajusnau kajusnau temporarily deployed to internal-build-workflow February 12, 2025 12:42 — with GitHub Actions Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug on Lenovo X1 Carbon Issues found on Lenovo X1 Carbon while checking this PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants