Skip to content

Overhaul UI #280

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

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open

Overhaul UI #280

wants to merge 45 commits into from

Conversation

boerdereinar
Copy link

@boerdereinar boerdereinar commented May 8, 2024

Overhaul UI

Description

This pr fully overhauls the UI as per #185.

New Features

  • Complete overhaul of UI
    • Adwaita colors (customisation is still possible)
    • Favorite/close button only visible on hover (configurable)
    • Pano window floats
      • Can be disabled
      • Each margin can be configured
    • Configurable item width and height
  • File previews
    • Text files
    • Images
    • Files that have a generated thumbnail i.e. pdfs/videos
    • File paths containing /home/user/* are shortened to ~/*
    • Multiple copied files are listed under their common directory to shorten the paths of the copied files. Usually this will result in only the file names being shown
    • Color item foreground is computed using luminance
  • Header Styles
    • Headers are hidden by default
    • Visible
    • Compact
  • Compact Mode
    • Height of item is halved
    • Layout of items is restructured
    • File previews are hidden
  • Open at pointer
    • Pano can open at the current pointer position
    • Height of the window is configurable
  • Middle click to delete items
  • Paste file content
  • Items are no longer selected after deleting an item (if no items were selected before)
  • Any single grapheme cluster is now displayed as an emoji

Misc

  • yarn run clean:ts can now fail in build:ts to make building easier while pano is still running

Dependencies

  • Added color-string for easy color parsing and conversion to rgb
  • Added graphemer for checking if the copied string contains a single grapheme cluster for the emoji item. This fixes ZWJ sequences not being detected as an emoji
  • Removed validate-color
  • Removed hex-color-converter

Screenshots

New UI

image

Compact Mode

image

Window Position: Pointer

image

Incognito Mode

image

Header Style: Compact

image

Fixes

Fixes #124
Fixes #150
Fixes #176
Fixes #185
Fixes #272
Fixes #300

Type of change

  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist

  • My code follows the style guidelines of this project
  • My commits follow the commit standards of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have checked my code and corrected any misspellings

@Totto16
Copy link
Collaborator

Totto16 commented May 8, 2024

Thank you for your contribution, I don't know if it makes sense to review this yet, since this and #278 clash and might create merge conflicts. I also am in favor of publishing the already working UI with #278 to EGO first, before doing this. And then testing it extensively and by multiple users, before releasing it.

But overall it really looks good, so I'm going to look at this as soon as the issues and PR's with more priority are resolved.

And just from glancing over it, there are a few things to do:

  • replace images / videos in the README with the new design (do that at the end, since we might change something)

@Totto16 Totto16 self-assigned this May 8, 2024
@Totto16 Totto16 added the Priority Medium Priority Medium label May 8, 2024
@boerdereinar boerdereinar force-pushed the gnome-theming-v2 branch 2 times, most recently from 101ea17 to ff610a6 Compare May 21, 2024 12:17
@AshtakaOOf
Copy link

Hello I'm sorry if this might be rude, but will this PR be merged at some point or is oae MIA?

@JE-Amouel
Copy link

Hi,
Is this PR still in the scope?

@paulovbettio
Copy link

What is missing to merge this pull request? How could I help to speed this up?

@JE-Amouel
Copy link

JE-Amouel commented Jan 23, 2025

i just try this branch, and is f*cking awesome 💯

Screenshot from 2025-01-23 22-08-38

we really need this

@paulovbettio
Copy link

paulovbettio commented Jan 24, 2025

So, it’s currently broken? Bummer.
I could also submit a new pull request with the design, but would it actually get merged? If not, I think it might be better to create a new fork or start a new project with a different vision.

No problem with Pano tho, it is great! I understand if they don't want to change the design.

@JE-Amouel
Copy link

@paulovbettio

So, it’s currently broken? Bummer.

If you're talking about the artifacts on the screenshot, it's Just because of my screenshot tool which, I think, only works well under wayland,
otherwise I spent a little afternoon 😎 testing the different features, and I opted for a centralized interface like on the screenshot ,

I could also submit a new pull request with the design, but would it actually get merged? If not, I think it might be better to create a new fork or start a new project with a different vision.

If your code is hot, I think it's worth a try before launching into a new branch, I would also like to take advantage of the progress of the main branch which has Added highlighting features for code. And also without mentioning all the refactoring necessary to adapt it to the new version of gnome, but frankly if you are determined enough to launch a new branch or even a new extension with these features, it's really worth it.✨👌

No problem with Pano tho, it is great! I understand if they don't want to change the design.

😵‍💫

@boerdereinar
Copy link
Author

Afaik everything works, that screenshot just has the background set to transparent and the headers enabled. I just haven't updated it since the current branch still works fine.

@paulovbettio
Copy link

Sorry, I thought it was broken because of the artifacts and headers, my bad, how embarrassing 😅
Even so, is there anything I can do to speed up the merge process? I'm willing to work on this because I really like the work that was done in this PR.

@JE-Amouel
Copy link

JE-Amouel commented Jan 24, 2025

@paulovbettio

Sorry, I thought it was broken because of the artifacts and headers, my bad, how embarrassing 😅

😆 , sorry, my bad...

I send a better screenshot

Screenshot from 2025-01-24 18-35-24

I think there is still some work to be done, because there are sometimes images that are not displayed.
but still great.

is there anything I can do to speed up the merge process? I'm willing to work on this because I really like the work that was done in this PR.

since there no any activities concerning this PR, it difficult to know 😕

@oae
Copy link
Owner

oae commented Feb 13, 2025

@boerdereinar could you please resolve the conflicts so I can merge them?

@Totto16 Totto16 mentioned this pull request Feb 20, 2025
8 tasks
Copy link
Collaborator

@Totto16 Totto16 left a comment

Choose a reason for hiding this comment

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

The code looks good from my side. Thanks for this amazing UI overhaul ❤️

Copy link
Collaborator

Choose a reason for hiding this comment

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

General question regarding new icons, is there no adwaita-icon from https://github.com/GNOME/adwaita-icon-theme that is similar and could be used instead?

@Totto16
Copy link
Collaborator

Totto16 commented Feb 22, 2025

@boerdereinar could you please resolve the conflicts so I can merge them?

Since he ticked the box Maintainers are allowed to edit this pull request I'll just resolve the merge conflicts, one thing that needs to be done (but can be after this PR is merged) is the updating of the screenshots in the README

Can be triggered by:
1. Pressing the action button
2. Ctrl + click on the item
3. Ctrl + enter on the item
This adds support for ZWJ sequences
Note: this causes a windows xp like visual bug in the link item when running Pano in a nested shell
…respected

- Item color didn't support this format: rgb(255 0 0)
@Totto16
Copy link
Collaborator

Totto16 commented Feb 22, 2025

I rebased the branch on master, there were many merge conflicts, that were not that easy to resolve, so I made a backup of the changes before the rebase on https://github.com/oae/gnome-shell-pano/tree/gnome-theming-v2_before_rebase

I think I did it correctly and everything is as expected, but I might have made a mistake. Feel free to modify this or force push (--force-with-lease to be sure) your own rebase or edits 😄

Copy link
Owner

Choose a reason for hiding this comment

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

There are some default value changes in gschema. If people have already customized it before, these changes will not take effect on their system, right? Maybe we should change the keys or the schema ID. What do you think, @Totto16?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yes that would be a good idea, as someone, who didn't change most of the settings in didn't notice it.

Changing the schema ID seems to be a good idea, so that incorporates some version or something of that sort 🤔

My first thought would be id="org.gnome.shell.extensions.pano.v2" or something similar, what do you think?

Copy link
Owner

@oae oae Feb 22, 2025

Choose a reason for hiding this comment

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

Also, since accent colors are a thing now, maybe we can adapt them as default value for these two customization options
image

Copy link
Collaborator

Choose a reason for hiding this comment

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

That would also be great, but I think it is out of the scope of this PR, as accent colors are only introduced as of gnome 47, if I remember correctly. And we need to listen for changes correctly, and interpret colors correctly, since as far as I know, some distros (and maybe also stock gnome) refers to accent colors by name and not by rgb or hex color 🤔

Copy link
Owner

Choose a reason for hiding this comment

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

After the schema change, we can merge this.

Copy link
Collaborator

@Totto16 Totto16 left a comment

Choose a reason for hiding this comment

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

Please incorporate the schema id change as discussed in #280 (comment)

@radiolamp
Copy link

Great job, would it be possible to switch the color scheme in gnome depending on the light/dark theme?

@Totto16
Copy link
Collaborator

Totto16 commented Mar 1, 2025

Great job, would it be possible to switch the color scheme in gnome depending on the light/dark theme?

That is not that easy, as there are many customizations, that can't just be applied to the dark / light heme. But it's generally a good idea.

@mbeps
Copy link

mbeps commented Apr 13, 2025

So I am guessing this is almost finished?

@JE-Amouel
Copy link

Hi, i would really like to set two things, so for me pano will be totally completed, first is the search entry if is not possible to dynamically display it, is it possible to add option to set is position to bottom and also change the border color, so I can make it presence less visible when I don't need it, seconde is the border radius of the content preview, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority Medium Priority Medium
Projects
None yet
8 participants