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 redesign, Gnome removal #539

Merged
merged 2 commits into from
Apr 30, 2024
Merged

Conversation

humaidq-tii
Copy link
Member

@humaidq-tii humaidq-tii commented Apr 3, 2024

This aligns the system design closer to the prototypes in Figma, improving UI/UX state of Ghaf. Also as Gnome is not functional, it is removed.

Description of changes

labwc redesign

  • Add a custom theme configuration for labwc, matching our design language.
  • Revamp waybar to modern layout (bottom dock matching our design).
  • Add new assets (SVG) for waybar.
  • Add resize function for PNG.
  • Add conversion function for SVG to PNG.
  • Add configuration for mako (notification daemon) to match our design.
  • Use Inter font for system by default.
  • Window border style changes
    • Use darker colors.
    • Use frameColoring alongside waypipe colouring (nicer for demos, need a more robust & secure solution later).
    • Make waypipe border smaller (5px->3px) as not to overlay apps too much.
  • Add PrintScreen keyboard shortcut (saves PNG to ~).
  • Use natural scrolling by default.
  • Add new wallpaper.

Gnome removal

Removed as Gnome is not officially supported or working. If it is later decided Gnome should be supported, it should be brought back as a separate PR with proper support.

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

  1. Waybar buttons work. They render icons correctly.
  2. Drawer opens no issues. All launchers in drawers have icons.

@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 3, 2024 11:42 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 19, 2024 05:47 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 22, 2024 10:02 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 23, 2024 05:42 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 23, 2024 09:53 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 26, 2024 05:41 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 26, 2024 05:43 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 26, 2024 05:54 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii changed the title labwc: redesign based on Ghaf UI initial prototype labwc redesign, gnome & weston removal Apr 26, 2024
@humaidq-tii humaidq-tii changed the title labwc redesign, gnome & weston removal gui-vm: labwc redesign, gnome & weston removal Apr 26, 2024
@humaidq-tii humaidq-tii changed the title gui-vm: labwc redesign, gnome & weston removal labwc redesign, gnome & weston removal Apr 26, 2024
@humaidq-tii humaidq-tii changed the title labwc redesign, gnome & weston removal labwc redesign, Gnome & Weston removal Apr 26, 2024
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 26, 2024 09:05 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 26, 2024 09:07 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii marked this pull request as ready for review April 26, 2024 09:14
@brianmcgillion brianmcgillion added the Needs Testing CI Team to pre-verify label Apr 26, 2024
@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 26, 2024 09:58 — with GitHub Actions Inactive
@milva-unikie
Copy link

Tested on X1

  • Bottom waybar works
  • All icons work
  • All borderbuttons work
  • External monitor can be connected with HDMI
  • PrintScreen shortcut works
  • Test-automation passes (app launch tests need to be fixed because the app path changes)
  • Performance ok

Overall I think this looks amazing and is working really well. However, a few notes about the GUI and usability.

  • Borders on Network Settings and Element are narrower than on Chromium, Zathura and Gala.
  • It is possible (and very easy) to cover waybar with windows and hide all the information shown there.
  • By default Chromium-window gets opened on top of waybar covering network information.
  • When Chromium is active the border has a shadow on the bottom. Other vm:s do not seem to have that.
  • If there is a minimized Element or Network Settings window, the icons in the drawer do nothing (and for Network Settings the settings icon on waybar also does nothing). With Gala the minimized window is brought back when icon is clicked.

@milva-unikie milva-unikie added the Tested on Lenovo X1 Carbon This PR has been tested on Lenovo X1 Carbon label Apr 26, 2024
Copy link
Contributor

@leivos-unikie leivos-unikie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test results for native Orin AGX build

nix build github:humaidtii/ghaf/labwc-redesign#nvidia-jetson-orin-agx-debug-flash-script

  • App menu has duplicate icons for Element, Firefox and Zathura (only one icon works though)
  • Element didn't launch by clicking its icon(s)
  • There is some lag or quite long response time in moving the mouse
  • ci-test-automation tests ok

@milva-unikie
Copy link

Test results for native Orin AGX build

nix build github:humaidtii/ghaf/labwc-redesign#nvidia-jetson-orin-agx-debug-flash-script

* App menu has duplicate icons for Element, Firefox and Zathura (only one icon works though)

* Element didn't launch by clicking its icon(s)

* There is some lag or quite long response time in moving the mouse

* ci-test-automation tests ok

Same also with Orin NX. There are duplicate icons in drawer and the user interface is quite laggy.

@humaidq-tii humaidq-tii temporarily deployed to internal-build-workflow April 29, 2024 16:52 — with GitHub Actions Inactive
@humaidq-tii humaidq-tii changed the title labwc redesign, Gnome & Weston removal labwc redesign, Gnome removal Apr 29, 2024
This aligns the system design closer to the prototypes in Figma.

Signed-off-by: Humaid Alqasimi <humaid.alqassimi@tii.ae>
Can be added later when proper support is implemented.

Signed-off-by: Humaid Alqasimi <humaid.alqassimi@tii.ae>
@humaidq-tii
Copy link
Member Author

  • Borders on Network Settings and Element are narrower than on Chromium, Zathura and Gala.

This is due to how the window border is drawn, this is an issue before but now it is probably more obvious. This needs a proper overhaul to make it secure.

  • It is possible (and very easy) to cover waybar with windows and hide all the information shown there.
  • By default Chromium-window gets opened on top of waybar covering network information.

Seems to be same behaviour as before. Waybar with overlay (always on top) mode prevents you from interacting with the buttons, so we cannot use that.

  • When Chromium is active the border has a shadow on the bottom. Other vm:s do not seem to have that.

This used to exist before, but more obvious now. This needs a proper fix as VMs should not be able to draw shadows on the gui-vm. This would be fixed along with the first issue.

  • If there is a minimized Element or Network Settings window, the icons in the drawer do nothing (and for Network Settings the settings icon on waybar also does nothing). With Gala the minimized window is brought back when icon is clicked.

Interesting observation, this is probably an app-dependant behaviour that is out of our control.


Orin should now be using Weston again. Another PR is created for full labwc migration.

@milva-unikie
Copy link

Tested on X1

  • All of the previous results are still valid

Tested on Orin-NX

  • Weston compositor
  • Duplicate icons disappeared
  • Test-automation passes

@milva-unikie milva-unikie added Tested on Orin NX This PR has been tested on NVIDIA Jetson NX Orin and removed Needs Testing CI Team to pre-verify labels Apr 30, 2024
@brianmcgillion brianmcgillion merged commit ffb5e1d into tiiuae:main Apr 30, 2024
13 checks passed
@humaidq-tii humaidq-tii deleted the labwc-redesign branch June 3, 2024 08:26
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 Tested on Orin NX This PR has been tested on NVIDIA Jetson NX Orin
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants