phase1geo / annotator Goto Github PK
View Code? Open in Web Editor NEWImage annotation for Elementary OS
License: GNU General Public License v3.0
Image annotation for Elementary OS
License: GNU General Public License v3.0
Running annotator --use-clipboard
acts the same as running just annotator
.
annotator --use-clipboard
Annotator started with empty workspace
Annotator started with opened image from clipboard
Pasting image from clipboard to a running Annotator works fine.
I am running annotator on Arch with Hyprland.
version 1.2.1-1 from AUR
I run Debian Sid. I did install the following packages: meson valac debhelper golang-gir-gobject-2.0-dev golang-gir-glib-2.0-dev libgee-0.8-dev libgranite-dev libxml2-dev libgtk-3-dev libhandy-1-dev
I did run sudo ./app install for a aystem wide install.
I am missing the following icons:
Pencil Tool
Crop Image
Please see the screenshot:
Missing-Icons.jpg
$ uname -a
Linux sonic 6.1.0-4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.11-1 (2023-02-09) x86_64 GNU/Linux
$ /usr/bin/com.github.phase1geo.annotator --version
1.2.0
Trying to build and run the flatpak version on Fedora 39...
The flatpak instructions should include adding the io.elementary repos...
flatpak install --user io.elementary.Sdk
flatpak install --user io.elementary.Platform
When running the flatpak version, clicking the "Open Image from File" button doesn't open a file chooser and results in...
(com.github.phase1geo.annotator:2): Gtk-WARNING **: 08:42:33.436: Can't open portal file chooser: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.FileChooser” on object at path /org/freedesktop/portal/desktop
Opening a file by supplying it on the command line does work however.
I need multiple sets of sequences to be marked on a screenshot, like 1,2,3, then 1,2,3, how can I do that?
Thanks for the nice app!
Annotator crashes when using delete key.
zsh: segmentation fault (core dumped) com.github.phase1geo.annotator
Delete using the right click context menu seems to work okay, but when using delete key it crashes.
Running on Manjaro - source compiled from AUR - http://aur.archlinux.org/packages/annotator
gdb shows:-
Thread 1 "com.github.phas" received signal SIGSEGV, Segmentation fault.
0x0000555555572f7c in ?? ()
I hope this image is enough to understand the problem. Drawing is not happening where it is supposed to be.
Originally posted by @jijojosephk in #96
Annotating an image and then accidentally pressing Control+V to paste something from the clipboard cannot be undone, leading to a loss of work.
Hi there,
I have been trying to find a Linux equivalent to Microsoft Paint for a while. My previous attempts often failed because no software seemed as simple, intuitive, and lightweight as MS Paint. I stumbled upon this article and thus decided to give the Annotator project a try. Image clipboard pasting seemed promising, and the toolbar seemed simple but with enough functionality to support my use cases.
However, after using Annotator I was disappointed to find no "multiple" image copying from clipboard functionality like Paint has. In other words, when we paste an image into the main Annotator window, it automatically resizes to the new image and erases that was previously there. Thus, we are unable to create an image with multiple source images.
What do you all think about this feature?
This Flatpak does not have enough permissions to save annotated images. Permission to the home directory, or a portal, should be used
Hi
To improve this app popularity. Is it possible to support Windows & macOS?
I tried drawing an arrow, but it looked horrible. Drawing a straight line is hard!
Pointing out things in images would be nice. Arrows would be needed for that. They might be hard to implement, in that case, an image of an arrow that can be rotated/pointed would be a good stop-gap.
The last release was over a year ago. Would be nice to have a new release.
Hi,
I just wanna thank you for such an amazing app, it's the perfect complement to the screenshot utility that comes from Gnome in Ubuntu 22.04.
Unfortunately, as mentioned in the title, the application won't open anymore after closing it once :(
Maybe it's a thing of the PPA, not sure.
Please let me know if you need anything on my side to debug/fix this
Kubuntu 23.10 does not seem to be stable, crashed after about 20 minutes adding information.
I can't find any logs or other information that might be helpful.
The app is actually not available on flatpak but the README says otherwise
It would be nice if I could drag a file from a file manager to the window to have Annotator open it.
@phase1geo this is a really nice piece of software! Thank you for putting it out for the world!
I was wondering if it is going to be hard to add the ability to directly take a screenshot. It would be really nice to add
a button for it. Also, a command line flag for this, would allow using it as the default screenshot app instead of the default
GNOME\Mate screenshot app.
I am not fluent with vala, but with some guidance on where to start I could give it a try.
I'm trying to prepare a port for Annotator on OpenBSD 7.0. When run, it gives me:
$ com.github.phase1geo.annotator
** (com.github.phase1geo.annotator:27223): CRITICAL **: 01:52:17.277: Settings.vala:87: Could not connect: No such file or directory
** (com.github.phase1geo.annotator:27223): CRITICAL **: 01:52:17.277: Settings.vala:107: Could not connect: No such file or directory
Segmentation fault
Tried master too. Gives me the same error.
Sequence markers are arguably the most useful additions to a screenshot (if explaining something). As they are a sequence you have to place them in specific locations. It would be faster/more convenient to place the cursor in the correct location, press Ctrl-q, and have the marker in place.
This might count for other annotations as well.
Great app, thank you very much!
Would be great to have a smaller arrow size since arrow that is default now is tooo thick
have to resize every arrow I add, other than that app is perfect, much appreciated
My flatpak system (on Fedora 37) complains about outdated dependencies of Annotator:
Info: runtime org.freedesktop.Platform.VAAPI.Intel branch 20.08 is end-of-life, with reason:
org.freedesktop.Platform 20.08 is no longer receiving fixes and security updates. Please update to a supported runtime version.
Info: applications using this extension:
com.github.phase1geo.annotator
Info: runtime org.freedesktop.Platform.GL.default branch 20.08 is end-of-life, with reason:
org.freedesktop.Platform 20.08 is no longer receiving fixes and security updates. Please update to a supported runtime version.
Info: applications using this extension:
com.github.phase1geo.annotator
Would it be possible to update these?
Arch Linux Aur
Was trying this out and found a few things.
The default jpg quality is too low for publication. Really needs a setting somewhere to choose quality for the different formats.
The other thing is it appears you are outputting jpgs with the jpeg extension. This prevents from seeing existing jpg files in a folder to use a filename for saving among other issues. Would you consider changing it to jpg instead, or supporting both? (jpeg,jpg)
Possibly allowing to save as "All Files" so you can see all the files in a folder you are saving in?
I can't wait to see this software mature. Linux is in such need of a good annotation tool, and this looks like it would fit the bill if not for a few minor issues.
Thanks for the hard work!
Could you publish the app to flathub? Then it would be readily available in a whole lot of distros.
I wanted to blur out a single line of text, but I can't seem to reduce the height (or width) of the blur box past a certain size. This seems to happen with other shapes too.
Say, for example that I wanted to circle the number 2 in this image:
I can't because that's the smallest I can make the circle...
Annotator is not exporting files to folders. I'm using Ubuntu 22.04 LTS
When installing with DESTDIR="${pkgdir}" ninja -C build install
, several duplicate files/folders are created:
${pkgdir}/usr/share/icons/hicolor/128x128/
${pkgdir}/usr/share/icons/hicolor/128x128@2/
${pkgdir}/usr/share/icons/hicolor/16x16/
${pkgdir}/usr/share/icons/hicolor/16x16@2/
${pkgdir}/usr/share/icons/hicolor/24x24/
${pkgdir}/usr/share/icons/hicolor/24x24@2/
${pkgdir}/usr/share/icons/hicolor/32x32/
${pkgdir}/usr/share/icons/hicolor/32x32@2/
${pkgdir}/usr/share/icons/hicolor/48x48/
${pkgdir}/usr/share/icons/hicolor/48x48@2/
${pkgdir}/usr/share/icons/hicolor/64x64/
${pkgdir}/usr/share/icons/hicolor/64x64@2/
Do they serve any purpose? If not, would be nice to remove them.
When I try to open an image file it doesn't see any, shows all folders are empty. My images are all jpg or png.
libhandy-1 built from source, other packages installed from standard repository.
$ ./app test
The Meson build system
Version: 0.53.2
Source dir: /home/eugene/src/Annotator/Annotator
Build dir: /home/eugene/src/Annotator/Annotator/build
Build type: native build
Project name: com.github.phase1geo.annotator
Project version: 1.0.0
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
C linker for the host machine: cc ld.bfd 2.34
Vala compiler for the host machine: valac (valac 0.48.6)
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Configuring config.h using configuration
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Run-time dependency gtk+-3.0 found: YES 3.24.20
Library m found: YES
Run-time dependency gobject-2.0 found: YES 2.64.6
Run-time dependency glib-2.0 found: YES 2.64.6
Run-time dependency gee-0.8 found: YES 0.20.3
Run-time dependency granite found: YES 5.3.0
Dependency gtk+-3.0 found: YES 3.24.20 (cached)
Run-time dependency libxml-2.0 found: YES 2.9.10
Run-time dependency libhandy-1 found: YES 1.4.0
Program meson/post_install.py found: YES (/home/eugene/src/Annotator/Annotator/meson/post_install.py)
Build targets in project: 11
Found ninja-1.10.0 at /usr/bin/ninja
[6/65] Compiling Vala source
...
../src/MainWindow.vala:130.28-130.43: error: The name `Settings' does not exist in the context of `Granite' (granite)
var granite_settings = Granite.Settings.get_default();
^^^^^^^^^^^^^^^^
../src/MainWindow.vala:132.95-132.110: error: The name `Settings' does not exist in the context of `Granite' (granite)
gtk_settings.gtk_application_prefer_dark_theme = granite_settings.prefers_color_scheme == Granite.Settings.ColorScheme.DARK;
^^^^^^^^^^^^^^^^
Well, looks like this code used only to handle dark theme, trying comment out content of method handle_prefer_dark_changes() and try compile again:
./app test
Directory already configured.
Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
If ninja fails, run "ninja reconfigure" or "meson --reconfigure"
to force Meson to regenerate.
If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.
To change option values, run "meson configure" instead.
[5/60] Compiling C object 'com.github.phase1geo.annotator@exe/meson-generated_src_CanvasImage.c.o'.
FAILED: com.github.phase1geo.annotator@exe/meson-generated_src_CanvasImage.c.o
cc -Icom.github.phase1geo.annotator@exe -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gee-0.8 -I/usr/include/granite -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libxml2 -I/usr/include/libhandy-1 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -w -g '-DGETTEXT_PACKAGE="com.github.phase1geo.annotator"' -pthread -include config.h -MD -MQ 'com.github.phase1geo.annotator@exe/meson-generated_src_CanvasImage.c.o' -MF 'com.github.phase1geo.annotator@exe/meson-generated_src_CanvasImage.c.o.d' -o 'com.github.phase1geo.annotator@exe/meson-generated_src_CanvasImage.c.o' -c 'com.github.phase1geo.annotator@exe/src/CanvasImage.c'
../src/CanvasImage.vala: In function ‘canvas_image_instance_init’:
../src/CanvasImage.vala:51:31: error: expected expression before ‘{’ token
51 | public RGBA average_color { get; private set; default = {1.0, 1.0, 1.0, 1.0}; }
| ^
[9/60] Compiling C object 'com.github.phase1geo.annotator@exe/meson-generated_src_CanvasPoint.c.o'.
ninja: build stopped: subcommand failed.
Unable to build project, please review log
Oh, this error puzzled me completely. 😶️
I am using X11 and built from the master branch.
Currently I can only customize the color of a shape's fill. I can also customize the border width and dash pattern, but not its color. I would like to have the option to pick a border color (including adding transparency).
Hi,
thank you for the nice and simple tool for annotating images.
One small thing that would make sequence numbers better is centering. The numbers are all a bit to the right:
I wonder if this might also be up to the font. Might be that they are actually centered, but the center of the number is not "optically" the center.
I have installed the Annotator on Debian Testing (Trixie) with Gnome. Found the install command here: #43 (comment)
Maybe it influences the centering ...
Whenever a menu is closed (toolbar, context, titlebar) the scrollbars are reset to origin.
I am using X11 and built from the master branch.
Can anything be done with keybindings? It would be more convenient. Great app, btw
Hey, great tool!
There is com.github.phase1geo.annotator --use-clipboard
in order to get an image from clipboard and edit it directly.
This method does not work on Wayland.
Also wl-paste | com.github.phase1geo.annotator
won't work as there is no flag for stdin.
When you open Annotator and paste an image it will be opened in the editor. However, this is one step that could be skipped.
Also the way how image pasting works, while working on an annotation is quite disturbing.
E.g. I annotate an image with 20+ elements and accidentally press ctrl+v
. All work is gone, as the revert button does not revert paste
but the changes within the editor. This might be worth another issue though.
Keep up the good work!
Update Ubuntu PPA to latest version
Thanks!
On the file app
the shebang line is #!/bin/bash
which does not work on OpenBSD, even with bash installed. It returns a No such file or directory
error:
$ ./app
ksh: ./app: No such file or directory
To make this more portable this should be changed to #!/usr/bin/env bash
.
Hi
Snap and Appimage is quite popular sandboxing method for Linux. Is it possible support it?
Hello and thank you for your efforts in creating this wonderful app! I'm running the latest Annotator Flatpak on my Ubuntu 20.4.3 machine. I opened an existing desktop background image file with Annotator, then added a new text box, added text and configured font, font size, color, etc. Then I moved the box to different location on the image. I then exported the modified image with a new name to a .png file in my user account Pictures folder. However, the image is exported with the text box in the location where it was originally created. I have tried this multiple times and the outcome is the same (also occurs when exporting to a different file type (e.g. jpeg).
I can't take any screenshot (screen, window, area) in Ubuntu 23.04.
Tried with mouse clics and keyboard shortcuts with the same result: annotator window disappear for some seconds (the 3s delay) and then reappear in the same welcome page.
No --debug option on the CLI.
Any logs are generated? (Nothing in ~/.local/share/annotator)
Any idea of what can be happen?
On Fedora 39...
Ran ./app run
.
Build was successful but on start got...
(com.github.phase1geo.annotator:2572520): GLib-GIO-ERROR **: 08:49:55.217: Settings schema 'com.github.phase1geo.annotator' is not installed
./app: line 44: 2572520 Trace/breakpoint trap (core dumped) ./com.github.phase1geo.annotator "${@:2}"
Am I missing a step somewhere?
It seems that the app depends on "org.elementary.Contractor" to import images, makes it impossible to use in Ubuntu without Flatpak
** (com.github.phase1geo.annotator:4336): CRITICAL **: 22:16:08.096: file ../../src/MainWindow.vala: line 299: uncaught error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.elementary.Contractor was not provided by any .service files (g-dbus-error-quark, 2)
With a 200% scaling (e.g. on a 218 ppi 5k monitor), choosing a 100% zoom seems to yield (in fact) a 200% zoom, i.e. “4 monitor pixels per image pixel” instead of “pixel to pixel”.
This↑ approach is usually taken by web browsers when no high-resolution versions of images are available; browsers scale (and therefore blur, to an extent) images to prevent them from looking tiny and odd around (scaled) web page text. However, programs that work with images without adjacent (scaled) text should probably keep the original notion of pixels, regardless font and UI scaling.
An example troublesome use case: I take a screenshot (with UI set to a 200% scaling), open it in the Annotator and choose a 100% zoom. The Annotator shows a blurred 200%-like zoom of the screenshot. Setting 50% seems to be just right for a “1:1 appearance”.
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.