finefindus / eyedropper Goto Github PK
View Code? Open in Web Editor NEWPick and format colors, built with GTK, libadwaita and Rust
Home Page: https://apps.gnome.org/Eyedropper
License: GNU General Public License v3.0
Pick and format colors, built with GTK, libadwaita and Rust
Home Page: https://apps.gnome.org/Eyedropper
License: GNU General Public License v3.0
Describe the bug
When going through various windows of the app, it's smooth most of the time, in the sense that opening windows animate, they don't just appear out of nowhere. This is not the case with the color picker window (the one that appears after clicking "+"). You can see that in the Screenshots section (although it is a WEBM).
To Reproduce
See the WEBM
Expected behavior
I'd expect the window picker opening to be animated just like all the other windows.
Screenshots
You can see the difference between the first window popping up and the second one. The first one is animated, the second one is not.
Information
Is your feature request related to a problem? Please describe.
When I click on any of the generated colors, the picked color gets changed to the one at the end of the corresponding row.
For example, clicking on any of the analogous colors on the below example, changes the picked color to the generated maroon
Describe the solution you'd like
I'd like to be able to click on any of the colors and its hex code be copied to my clipboard.
Describe alternatives you've considered
The hex color could be shown inside a tooltip on mouse hover, a new eyedropper window could be opened with the selected color being set as the picker color. Anything that could make such a wonderful and useful feature (the palettes generation) actually usable.
Additional context
Nothing to add.
Information
Hi, the new CIE illuminants list does not fit it's content properly. It's not showing longer strings.
To Reproduce
Steps to reproduce the behavior:
Screenshots
(Icons not important)
Information
The line of strings: https://github.com/FineFindus/eyedropper/blob/master/data/resources/ui/preferences.ui#L50-L69
I am using Pop-Os based on Ubuntu 22.04. I installed the Flatpak version, but the application does not start. When I run
flatpak run com.github.finefindus.eyedropper
I get the following error
(eyedropper:2): Gdk-WARNING **: 10:14:02.791: The program 'eyedropper' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAccess (attempt to access private resource denied)'.
(Details: serial 515 error_code 10 request_code 130 (MIT-SHM) minor_code 1)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the GDK_SYNCHRONIZE environment
variable to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
I tried installing both using the software center of Pop-Os, which uses Flatpak for third-party applications and also via the command line
flatpak install eyedropper
I am using X window system.
Thanks in advance.
If you are taking a many colours that are similar but different, it might be hard to (re)find the correct colour within the history.
Adding labels (#hex representation) would help "power" users to refind a colour from history with fewer clicks.
Because this feature would only help power users and increase the size of the history (in the GUI) quite a lot, it would be best to make this optional. Or enable it automatically, if the app detects that colours are too close to each other.
A history (automatic list with recently picket colours) is very important for users that need to pick several colours in sequence, e.g. to double-check if designs are in accordance with the colour palette of a project/company. Is such a feature planned? The Microsoft app that is listed as inspiration has such a feature.
To improve on the Microsoft design: I suggest that not only a list of coloured shapes is displayed, but additionally the colour is displayed in hex representation on top of it or next to it.
Not that important I guess. But in theory, it should be undoable per HIG.
Describe the bug
I understand there is a similar PopOS issue open here, but mine seems different has only just recently started and used to work perfectly.
To Reproduce
Installed using flatpak, flatpak run gives the following:
flatpak run com.github.finefindus.eyedropper
(eyedropper:2): Gdk-WARNING **: 10:07:13.385: The program 'eyedropper' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAccess (attempt to access private resource denied)'.
(Details: serial 475 error_code 10 request_code 130 (MIT-SHM) minor_code 1)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the GDK_SYNCHRONIZE environment
variable to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Tried to run with: GDK_SYNCHRONIZE=1 like suggested, but doesn't give any more information
Expected behavior
Program starts up
Information
Please do let me know if there is anything else I can provide
Many thanks
Describe the bug
I've installed eyedropper through flatpak on Ubuntu 22.04, run it, clicked on "picker" icon and got:
Failed to pick a color
at bottom of app's window.
To Reproduce
Steps to reproduce the behavior:
flatpak install --user flathub com.github.finefindus.eyedropper
flatpak run com.github.finefindus.eyedropper
Expected behavior
A color is picked from the screen.
Information
Additional context
Add any other context about the problem here.
Mon 19 Sep 11:12:35 ➜ ~ flatpak run com.github.finefindus.eyedropper
ERROR eyedropper::window > Portal request failed: org.freedesktop.zbus.Error: No such interface “org.freedesktop.portal.Screenshot” on object at path /org/freedesktop/portal/desktop
Describe the bug
I installed Eyedropper on Mint 21.1 Cinnamon. It has a single button, Pick a Color. When I click it, I get the prompt "Failed to pick a color". See the screenshot below.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expected that the cursor would then let me pick a color.
Information
As you can see above, there are no buttons except Pick a Color visible when I start Eyedropper. But as you suggested I can click Ctrl-R and get a random color. At that point, the hamburger menu becomes available. I clicked About Eyedropper ⇒ Troubleshooting ⇒ Debugging Information as requested and the dump is below. If I click the eyedropper icon after getting a random color, the same "Failed to pick a color" error occurs.
Eyedropper: 0.6.0
Profile:
Backend: X11
Sandboxed: true
OS:
- Name: "GNOME"
- Version: "43 (Flatpak runtime)"
- GTK_THEME: "Unset"
- Theme: "Default"
- IconTheme: "Adwaita"
Flatpak:
- Name: com.github.finefindus.eyedropper
- Runtime: runtime/org.gnome.Platform/x86_64/43
- Runtime commit: fc22585d44fa58c1bc99e1eb203c156c1a2aec27cfe795e62f5c72588ff91bec
- Arch: x86_64
- Flatpak Version: 1.12.7
Libraries:
- GTK: 4.8.3
- Libadwaita: 1.2.4
Portal error: Some(Portal(ZBus(MethodError(OwnedErrorName(ErrorName(Str(Owned("org.freedesktop.DBus.Error.UnknownMethod")))), Some("No such interface “org.freedesktop.portal.Screenshot” on object at path /org/freedesktop/portal/desktop"), Msg { type: Error, sender: UniqueName(Str(Borrowed(":1.86"))), reply-serial: 5, body: Signature("s") }))))
Additional context
Add any other context about the problem here.
The current way the color system works has a number of drawbacks:
RGB
as 3 u8
, so conversion to and from a color is not lossless.palette
crateThe crate provides an excellent color system that allows easy conversion between different formats. It also allows us to extend the system with our own types, which is necessary since it does not support everything, e.g. LMS is missing.
The problem with this approach is that gtk-rs
does not allow generic types, and using something like RefCell<Box<dyn IntoColor>>
(the recommended workaround) will not work because the IntoColor
trait is not object safe.
A possible workaround might be to use an enum as a wrapper around the different color formats.
#[derive(Debug, Clone, Copy)]
pub enum ColorVariant {
RGB(palette::Srgba),
HSL(palette::Hsla),
...
}
This still requires quite a bit of boilerplate to convert the inner type.
I only found the enter key to work. There should be a button I guess.
Is your feature request related to a problem? Please describe.
Currently I am using the AUR package and upgrading takes forever due to the compilation step. It also requires rust and ninja to be installed locally, which I otherwise not need and they take up a lot of space.
Describe the solution you'd like
It would be great if eyedropper would be offered as AppImage install, since that is much more consumer friendly.
Describe alternatives you've considered
Stick to AUR
Information
Describe the solution you'd like
It would be extremely useful to have the ability to extract, automatically or manually, a color palette from an image.
Upon launching eyedropper, the user might be able to which allowed the user to either paste in their image or otherwise select it in some way. Upon choosing an image, the user would be prompted with some selection tools and the corresponding palette below.
Would you be on board with having this sort of functionality within the app? I was thinking about trying to implement it. Let me know.
Additional context
I would like to start translating the app (in French), but currently the translation support is not very comprehensive. There is a po folder but as long as there is no .pot file inside, translators will not be able to translate all the UI (e.g.: for now I can't translate the strings of the Preference window, nor the metainfo / app description etc.)...
When clicking on the eyedropper or pressing ctrl + p:
"Failed to pick a color" appears at the bottom of the window.
In the terminal:
ERROR eyedropper::window > Portal request didn't succeed: Other
This happens with flatpak and if built with gnome builder.
Only happens on window managers. Works fine on gnome.
Is your feature request related to a problem? Please describe.
There are several source strings which don't need to be translated. For intsance:
#: data/com.github.finefindus.eyedropper.metainfo.xml.in.in:9 msgid "FineFindus" msgstr "FineFindus"
#: data/resources/ui/palette-window.blp:37 msgctxt "Palette format file name" msgid "PAL" msgstr "PAL"
#: data/resources/ui/preferences/preferences.blp:104 msgid "2°" msgstr "2°"
#: data/resources/ui/preferences/preferences.blp:105 msgid "10°" msgstr "10°"
#: src/widgets/preferences/preferences_window.rs:393 msgid "RGB" msgstr "RBG"
#: src/widgets/preferences/preferences_window.rs:394 msgid "HSL" msgstr "HSL"
#: src/widgets/preferences/preferences_window.rs:395 msgid "HSV" msgstr "HSV"
#: src/widgets/preferences/preferences_window.rs:396 msgid "CMYK" msgstr "CMYK"
#: src/widgets/preferences/preferences_window.rs:397 msgid "XYZ" msgstr "XYZ"
#: src/widgets/preferences/preferences_window.rs:398 msgid "CIELAB" msgstr "CIELAB"
#: src/widgets/preferences/preferences_window.rs:399 msgid "HWB" msgstr "HWB"
#: src/widgets/preferences/preferences_window.rs:400 msgid "CIELCh / HCL" msgstr "CIELCh / HCL"
#: src/widgets/preferences/preferences_window.rs:409 msgid "LMS" msgstr "LMS"
#: src/widgets/preferences/preferences_window.rs:411 msgid "Hunter Lab" msgstr "Hunter Lab"
#: src/widgets/preferences/preferences_window.rs:413 msgid "Oklab" msgstr "Oklab"
#: src/widgets/preferences/preferences_window.rs:414 msgid "Oklch" msgstr "Oklch"
Describe the solution you'd like
Set all strings which shouldn't be translate as read-only
in Hosted Weblate! It radically reduces the number of strings which don't need to be translated.
Is your feature request related to a problem? Please describe.
I'm trying to integrate Eyedropper into my workflow with Blender by directly pasting colors to Blender (i.e. hovering the cursor over a cursor and pressing ctrl+v), but I get the following error: Paste expected 4 numbers, formatted: '[n, n, n, n]'
Describe the solution you'd like
Blender except the following color format: [r, g, b, a]
where the components are normalized (0.0 <= r, g, b, a <= 1.0) and the color space is Linear RGB, for example 50% gray is [0.214041, 0.214041, 0.214041, 1.000000]
. I think the easiest way to allow for this would be to add a Linear RGB color format, preferably with [r, g, b, a]
as the default to be compatible with blender out of the box.
Describe alternatives you've considered
You can copy as hex, open the color picker, select the hex tab and paste it there. Also a recent new version of Blender let you pick colors from the screen directly with the color picker tool, but it's only available on windows currently.
Information
Describe the bug
Eyedropper uses the Gnome 43 flatpak runtime, which is now EOL.
Info: runtime org.gnome.Platform branch 43 is end-of-life, with reason:
The GNOME 43 runtime is no longer supported as of September 20, 2023. Please ask your application developer to migrate to a supported platform.
Info: applications using this runtime:
com.github.finefindus.eyedropper
Is your feature request related to a problem? Please describe.
Landing at this view on program startup is quire annoying since I find very useful introducing color codes for the palettes generation features provided by eyedropper
Describe the solution you'd like
An improved UX could be achieved by making the below view the default one
Describe alternatives you've considered
Provide a CLI flag for "jumping" directly to said preferred view on program startup
Additional context
Nothing to add.
Information
I have been trying to have more tint options, so that i can use it to create more palettes for my android app.
Describe the bug
The mouse cursor changes to the color picker icon after clicking the "Pick a Color" button.
I expect the color selection to match the exact location of the icon, i.e. the lower left corner. But actually, it will select the color in the upper left corner.
To Reproduce
I created a picture containing four colors in different areas.
Steps to reproduce the behavior:
Expected behavior
The blue color should be selected.
Screenshots
Information
Eyedropper: 1.0.0-b75e8a2
Profile: Devel
Backend: X11
OS:
- Name: "GNOME"
- Version: "Nightly (Flatpak runtime)"
Libraries:
- GTK: 4.13.3
- Libadwaita: 1.5.0
Sandbox: Flatpak Info:
- Name: com.github.finefindus.eyedropper.Devel
- Runtime: runtime/org.gnome.Sdk/x86_64/master
- Runtime commit: 99e70916dd03193cb9e043b5e9ca7363229a5c4d29106f2a58acceadecb66fcb
- Arch: x86_64
- Flatpak Version: 1.14.4
- Devel: true
Portal error: None
There is a new color format that is gaining traction in part bc it is better for palette generation.
Please add support for OKLCH in Eyedropper.
Thank you for this application, it has become my default color selection application, there is a functionality which is to have a palette of previously saved colors, there are several ways to achieve this, one is to save the colors after opening the application, but I would like more to be able to pin to the colors I want to keep.
Is your feature request related to a problem? Please describe.
Nope.
Describe the solution you'd like
Since this application uses libadwaita, imo it can use adwaboutwindow for more consistency.
Describe alternatives you've considered
Of course, not change it.
Additional context
Nope.
Information
Isn't related.
Describe the bug
On Sway i get the notification "Failed to select a color" when trying to pick a color.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The color to be selected
Additional context
OS: Arch Linux x86_64
Kernel: 6.6.8-arch1-1
WM: sway
version: 1.0.0
Not sure if related but I am using the wlr screencast portal.
Describe the bug
Application starts but when trying to select a color it shows an error.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Click the "Pick a color" button and select a color.
Information
Additional context
Add any other context about the problem here.
Example: Start app from terminal
flatpak run com.github.finefindus.eyedropper
ERROR eyedropper::window > Portal request failed: org.freedesktop.zbus.Error: No such interface “org.freedesktop.portal.Screenshot” on object at path /org/freedesktop/portal/desktop`
App installed from Flathub
Not sure how it will turn out with the new app icon but maybe specify a manual color
https://apps.gnome.org/app/com.github.finefindus.eyedropper/
Imagine you select a sequence of colours. And by accident or without knowledge you pick a colour twice or thrice, which easily happens when colours are very similar.
To illustrate the problem with duplicates in the history:
The green and red in the history are listed twice, but are the exact same values.
I think that only keeping the most recent occurrence of the colour in the history would be a good idea. But I am not 100% sure. Some people might use the order of the history to remember the context where they took the colour.
Maybe some other users of the software could chime in.
Describe the bug
In the section Translation in the README.md file on the project page at Github you state that one could use Weblate for translations. Unfortunately, the project is currently locked and translators can only suggest translations.
I've looked through other langages and found out that they don't have the same number of translatable strings as defined in the current Eyedropper.pot file.
For my Croatian translation I've used the current .pot file on your GitHub project page with the following information in the header: POT-Creation-Date: 2023-11-14 19:29+0000\n
. The file has 146 translatable strings.
Some suggestions which might help improve the two above issues (btw. I'm not a programmer):
SOLUTION:
If you want, I could:
a) update the .po files for currently existing languages with the current .pot file and keep all unused/old/orphaned strings (de, es, eu, fr, it, nl, ru). IMO useless because those strings are obsolete and keep the files larger then necessary.
b) update the .po files for currently existing languages with the current .pot file and remove all unused/old/orphaned strings (de, es, eu, fr, it, nl, ru). IMO better, because deleting those strings keep the files smaller.
If you agree with one of the above solution, I could send a new Pull Request with changes for the .po files.
Let me know if you would like me to help you out with one of the above mentioned solutions.
Just some observations and ideas, even though the project is in a trial period.
I hope they are helpfull :-)
Cheers,
Milo
Although there's a Portuguese translation on the LINGUAS file and my system is in Brazilian Portuguese. The app itself is in English, and Gnome Software says there isn't a translation for my language.
I was available to translate the app for my language, but then I saw there's already one. Maybe the issue is happening because the LINGUAS file has a translation to Portuguese, not to Brazilian Portuguese. Or maybe there's a problem in the Flatpak integration with Ubuntu 23.04. I really don't know.
Information
Maybe this is correct and it cannot be represented but I expected it should just be 0
as for other grayscale values?
Describe the bug
Failed to pick the color under Sway
To Reproduce
Steps to reproduce the behavior:
Try to pick any color under sway
Expected behavior
To get the color info
Information
OS: Arch Linux x86_64
Kernel: 5.15.80-1-lts
WM: sway
version: 0.4.0
Eyedropper: 0.4.0
Profile:
Backend: Wayland
Sandboxed: true
OS:
- Name: "GNOME"
- Version: "43 (Flatpak runtime)"
- GTK_THEME: "Unset"
- Theme: "Default"
- IconTheme: "Adwaita"
Flatpak:
- Name: com.github.finefindus.eyedropper
- Runtime: runtime/org.gnome.Platform/x86_64/43
- Runtime commit: 750f3ba756dae491001b55fb71617759b2e5de65de45a39c10532407faac0a11
- Arch: x86_64
- Flatpak Version: 1.15.1
Libraries:
- GTK: 4.8.2
- Libadwaita: 1.2.0
The bug
When you have selected enough colors for the list to the right to be scrollable, and you scroll down, the color previews disappear into nothingness.
To Reproduce
Expected behavior
There should be a separator like when you scroll down in the About page.
I'm running the flatpak version from Flathub, on Fedora.
By default, the app launches like this, with color #2E3440
:
This is a problem when I want to sample colors that actually are close to this, such as #002E41
. I then basically can't tell stuff apart from your default color, and I can't clear/remove the default color. Additionally, when you click a color on the right it "swaps places" with the color details on the left, which then goes into the right, and it means the colors keep shifting around all the time, so if you have a couple of similar-looking colors it's absolutely impossible to keep track of because the list keeps being reordered.
Please have the app start with a blank slate with just a "Pick a color" button, then don't swap things around when I click them in the sidebar (they should rather act like tabs, functionally speaking) and if I made a mistake and picked the wrong color, let me right-click and delete it (or have a delete button in the color's details).
I'm a designer and developer and as far as I know, there is really no eyedropper on the market that does this:
Launch hidden on startup > Ability to pick a color with a shortcut (only picker, no app GUI) > automatically copy to clipboard (with the pre-defined format I would set).
Think of it... This is the fastest, cleanest, and smoothest workflow anyone user can imagine. Actually, I didn't bother to tell developers this before but when I saw this tool, I thought it was almost the complete one I've ever seen. And hope you agree and make it possible.
Big thanks for your great work!
I repeatedly got confused by the latest color not being listed on the right side.
Would be fine for me to hide the list on the right until there are two colors.
But removing the current color especially got confusing when selecting it from the list and then it disappears. That's usually not how lists of things work in GNOME.
@bertob you have an opinion?
I find it very unsatisfactory that one line is an entry but the others are not. It feels so bad when clicking on them xD
@bertob you maybe have an idea for a tiny tiny bit of differentiation between the two types of rows?
Describe the bug
The application crashes after picking a color
To Reproduce
Steps to reproduce the behavior:
Screenshots
If applicable, add screenshots to help explain your problem.
Information
The dialog isn't accessible without picking a color :p
Describe the bug
Can't find the option to save color palettes for later use, or at least not as shown in the app screenshots on Gnome Apps
Information
Additional context
Installed using flatpak
It'd be nice to have some way to remove colors from the history, maybe we could have a context menu on the color dots on the right?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.