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

labwc: Replace waybar with ironbar #639

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

Conversation

humaidq-tii
Copy link
Member

@humaidq-tii humaidq-tii commented May 30, 2024

Replaces waybar with ironbar.

Ironbar is a replacement for waybar that is customisable, modular, and supports showing running applications on the taskbar.

Depends on: #582

Description of changes

  • Replaced waybar with ironbar, preserving same style.
  • Running applications now show on taskbar, can switch tasks.
  • Added volume widget.
    • Ability to change master volume, and individual VMs volume.
  • Align more with Figma designs.

Also other changes:

  • Added window shadows
  • Fixes wifi icon (used to show code when percentage <30)
  • Launcher now opens instantly
  • Volume media keyboard hotkeys now change volume instantly.

Known issues

  • If too many windows are open, or with long window names, taskbar may go off screen (to the right).
  • Sometimes when closing the launcher, the compositor won't update until you hover over it. Seems to only happen pixman (software-based) renderer.
  • Moving audio slider doesn't change volume, but it does correctly update when using the volume media keys.
  • Two taskbars are shown when an external display is connected.
  • Battery icon in taskbar uses wrong theme (light theme, dark icon over dark panel).
  • Battery icon shows on Orin (0% with question mark battery icon).

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 nix flake check --accept-flake-config and it passes
  • All automatic Github Action checks pass - see actions
  • Author has added reviewers and removed PR draft status

Testing

  • Open applications, they should show up on the taskbar.
  • Window should now have a border shadow.
  • You can switch by clicking on the launcher on the taskbar.
  • App drawer works.
    • Should now launch almost instantly, delay should be gone.
    • Quickly opening and closing shouldn't cause the launcher to crash irrecoverably.
  • Clicking on WiFi icon shows SSID and IP.
    • Test with different wifi strengths.
    • When signal is less than 30%, it should show correct icon (bug fixed).
  • Clicking on volume shows the volume slider, works (test with video playing).
    • You can individually turn down volume of a single VM.
    • Clicking on volume icon inside of the pop-up would toggle mute.
    • Volume up, down, and mute keys reflect instantly on slider and changes volume immediately.
  • Clicking on battery while discharging/charging will show estimate to empty/full.
  • Clicking on settings cog shows network settings application.
  • Clicking on time/date shows mini calendar.
  • Connecting with external display works as expected without issues, disconnecting also shouldn't cause any issues.
  • Open browser tab with long name, the taskbar item name should be truncated (with ellipsis).
  • Open many applications, fill taskbar. Taskbar should not go off-screen.

@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow May 30, 2024 05:52 — with GitHub Actions Inactive
modules/desktop/graphics/ghaf-launcher.nix Outdated Show resolved Hide resolved
modules/desktop/graphics/labwc.config.nix Outdated Show resolved Hide resolved
modules/desktop/graphics/labwc.nix Outdated Show resolved Hide resolved
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow June 3, 2024 09:01 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow June 5, 2024 05:14 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow June 5, 2024 05:43 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow June 5, 2024 06:57 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow June 7, 2024 09:07 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii mentioned this pull request Jun 24, 2024
13 tasks
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow July 1, 2024 09:25 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to external-build-workflow July 1, 2024 09:25 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii marked this pull request as ready for review July 1, 2024 09:54
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow July 1, 2024 11:14 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii requested a deployment to external-build-workflow July 1, 2024 11:14 — with GitHub Actions Waiting
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow July 1, 2024 11:16 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to external-build-workflow July 1, 2024 11:16 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow July 1, 2024 11:28 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow July 1, 2024 11:53 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow July 1, 2024 12:29 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii added the Needs Testing CI Team to pre-verify label Jul 1, 2024
@barnabakos
Copy link
Collaborator

barnabakos commented Jul 2, 2024

1 commit: 7bbaf35
rebased to current tip of Ghaf main without conflicts: 4f2291c

platform: Lenovo X1 Carbon

  • ci-test-automation suite: ok
  • starting apps: ok

works:

  • windows have border shadow
  • switch apps from the taskbar (if they are visible and still running)
  • app drawer
  • clicking on wifi icon shows SSID & IP
  • volume icon & handling works
  • battery shows estimate (takes ~5 secs to update after plug/unplug)
  • time/date mini calendar
  • connect/disconnect external display
  • long names are truncated on taskbar with ellipsis
  • taskbar stays on screen

issues:

  • wifi strength seems to have "full", "almost full", "none" and "else echo" values
    else_echo
  • lower wifi strength values are not visible
  • battery shows an empty bar when on charger, but probably not charging (96%)
    ironbar
    • or just "Full in"
      battery_full
  • sometimes clicking on the settings cog-wheel doesn't open Network Settings, have to click again
  • external display stays on and frozen when closing the lid
  • app names are not centered on their taskbar "tile" (see previous image)
  • apps can fall out of visibility on the taskbar (many open apps & long names)
    appflowy_not_visible
  • list of grouped apps on taskbar can stay on after doing something else somewhere else
    grouped_apps
    • they can stay there after all apps are closed
      ghost_apps
  • in some cases the wrong (not the active) title is displayed on the taskbar for grouped apps
    • even the title of a closed app can stay visible (see previous 2 images)
  • window content doesn't stay inside it's own border when resizing somewhat quickly

@johannarautanen
Copy link

johannarautanen commented Jul 3, 2024

NVIDIA Jetson AGX Orin native, booted Orin AGX from eMMC
Check with commit: 7bbaf35

  • automation cases: ok
  • launching apps and manual regression tests: ok

Issues:

  • When you open lots off browser windows, zathura- and windows vm-windows: some point the new zathura and window vm-windows counts don't increase in taskbar anymore.
    And finally the taskbar disappeared totally.
    Luckily you can open the window, where you can launch the terminal and reboot the ORIN from command line. After reboot the taskbar is available again.
    20240703_05h33m11s_grim

taskbar.odt

  • Battery icon is shown although there is now battery in Orin AGX
    Screenshot from 2024-07-03 09-13-06

  • When you tap in the taskbar left side of battery icon(no any visible icon in that point) the volume information comes visible:
    Screenshot from 2024-07-03 09-16-20

  • app names not centralized in task bar:
    Screenshot from 2024-07-03 09-19-04

  • list of grouped apps on taskbar stay open although you are doing else in the screen:
    Screenshot from 2024-07-03 09-21-32

  • You have for example three browser-window with different pages opened and the second pages in the list activated and visible in the taskbar

    1. when you tap the keyboard "print screen"-key, the third-page on the list comes visible on the taskbar, but the second page is still active on the screen
    2. on the second page on the taskbar list is activated and visible in the taskbar and when you tap the taskbar the first pages on the taskbar list activated and comes visible on the screen.

NVIDIA Jetson NX Orin native, booted Orin NX from USB flash drive

  • automation tests were ok
  • all apps launched manually ok
  • All manual regression tests ok

Issues:
same issues as with Orin AGX. including the disappeared tasbar.

@johannarautanen johannarautanen added Tested on Orin AGX This PR has been tested on NVIDIA Jetson AGX Orin Tested on Orin NX This PR has been tested on NVIDIA Jetson NX Orin labels Jul 3, 2024
@barnabakos barnabakos removed the Needs Testing CI Team to pre-verify label Jul 4, 2024
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow July 5, 2024 06:17 — with GitHub Actions Inactive
@barnabakos barnabakos added bug Something isn't working bug on Lenovo X1 Carbon Issues found on Lenovo X1 Carbon while checking this PR bug on Orin AGX Issues found on NVIDIA Jetson AGX Orin while checking this PR bug on Orin NX Issues found on NVIDIA Jetson NX Orin while checking this PR and removed Tested on Orin AGX This PR has been tested on NVIDIA Jetson AGX Orin Tested on Orin NX This PR has been tested on NVIDIA Jetson NX Orin bug Something isn't working labels Jul 9, 2024
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow July 17, 2024 13:47 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow July 17, 2024 13:48 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow July 23, 2024 06:44 — with GitHub Actions Inactive
Signed-off-by: Humaid Alqasimi <[email protected]>
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 bug on Orin AGX Issues found on NVIDIA Jetson AGX Orin while checking this PR bug on Orin NX Issues found on NVIDIA Jetson NX Orin while checking this PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants