Coder Social home page Coder Social logo

bk138 / gromit-mpx Goto Github PK

View Code? Open in Web Editor NEW
898.0 18.0 80.0 4.7 MB

Gromit-MPX is an on-screen annotation tool that works with any Unix desktop environment under X11 as well as Wayland.

License: GNU General Public License v2.0

C 93.25% CMake 2.82% Roff 3.04% Shell 0.89%
x11 wayland multi-pointer annotation-tool gnome kde xfce drawing unity enlightenment

gromit-mpx's People

Contributors

albanobattistella avatar alisterh avatar avma avatar barak avatar bbhtt avatar bk138 avatar chyla avatar ezeeyahoo avatar fusl avatar godmar avatar he-lu avatar junrrein avatar mehmetaergun avatar mmdbalkhi avatar natenho avatar nwhitehead avatar pascal-niklaus avatar renatocan avatar russel avatar taok avatar tobias47n9e avatar vanillaviking avatar wavexx avatar xiphmont avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gromit-mpx's Issues

Escape key to exit painting

Hi,
I just installed Gromit-mpx and wanted to try painting right away but didn't know how to escape it. I was close to restarting my computer but fortunately logging out with Ctrl+Alt+Del and logging back in did the trick. Then I found about F9.
But Escape is the best button ever. It should always be there when you don't know how to get out of a situation.

Changing the cross-like cursor when drawing

How can I change the shape of the cursor, when drawing, to be something different from the not-clear cross. I need it something like obvious bold arrow even when drawing. This is very important when recording lectures.

Is the manpage missing a section on FILES?

I was looking in the man page for the location of the user configuration files, but couldn't see a FILES section. Is it missing or did I just miss it?

Also the man page doesn't explain how to configure using files.

Gnome-shell 3.26.1 has no sys tray

It seems that the sys tray has gone from gnome-shell 3.26.1. It doesn't affect the use of Gromit-MPX as I use it, but it does make the blurb about using it not up-to-date.

./configure issue: `PKG_PROG_PKG_CONFIG(0.20)'

From github repo and after _autoreconf --install, got this error on **./configure**_:

./configure: line 3953: syntax error near unexpected token `0.20'

./configure: line 3953: `PKG_PROG_PKG_CONFIG(0.20)'

doesn't work on Linux Mint ?

I've successfully used Gromit MPX on Arch and OpenSUSE but on Mint it doesn't seem to work.
The tray icon appears but I can't paint, and toggling paint mode doesn't help.
Or maybe it's since I started using it on a laptop ?

i3-wm + gromit-mpx + scrot --select

can't launch scrot --select if gromit-mpx already launched. Any tips?

set $scr '~/screenshots'
bindsym --release $mod+Print exec scrot --select --exec 'mkdir -p $scr && mv $f $scr/'
bindsym --release $mod+Shift+Print exec scrot --exec 'mkdir -p $scr && mv $f $scr/'

bindsym --release $mod+Scroll_Lock exec gromit-mpx --active
bindsym --release $mod+Shift+Scroll_Lock exec gromit-mpx --quit

Toggle Painting option not working on raspbian

I am using Gromit-mpx on the latest version of Raspbian. All features are working fine except the toggle painting in the task bar icon. When you click it, nothing happens, the crosser doesn't show at all. Any reason it doesn't work or any chance it could get fix?

Also when you use an on screen keyboard, the "pause / break" key doesn't trigger the toggle painting but it works when you use an actual keyboard.

Thanks in advance, I hope I can get a response. :)

gromit-mpx doesn't detect screen resolution modifications.

Using:

  • i3 wm v4.15 (i3-gaps)
  • gromit-mpx-git 1.2.r7.g295a34b-1
  • libxrandr 1.5.1-2
  • xorg-xrandr 1.5.0-1
  • Arch Linux

After connecting my external monitor to the laptop using xrandr

$ xrandr --fb 3840x3960 --output eDP1 --mode 3200x1800 --pos 320x2160 --output DP1 --mode 1920x1080  --scale 2x2 --pos 0x0; xinput --map-to-output $(xinput list --id-only "ELAN Touchscreen") eDP1; ~/.fehbg

Then starting gromit-mpx, I noticed that I could only draw in an area the size of my laptop screen, area being in the monitor screen, as shown in this screenshot:

2018-09-26_14-07-49

It looks like a configuration issue, but I'm puzzled as to how I should be fixing it. Do you have any suggestion ?

Gromit-MPX no longer works on Fedora Rawhide

Whilst Debian packages Gromit-MPX, Fedora appears not to. So I have been using Debian packages, but compiling from this repository for Fedora. Until last week things seemed fine. A change to Fedora Rawhide between Wednesday 2015-06-24 and Saturday 2015-06-27 has made Gromit-MPX fail to pick up the WACOM and to Segfault on first signal from the WACOM after pressing F9. This is not a kernel thing per se as I just tried with an old kernel and got the same behaviour.

|> gromit-mpx
Supported backends: x11 wayland
Using backend: x11
Enabled Device 0: "Virtual core pointer", (Type: 0)
Enabled Device 1: "TPPS/2 IBM TrackPoint", (Type: 0)
Enabled Device 2: "SynPS/2 Synaptics TouchPad", (Type: 6)
Enabled Device 3: "ELAN Touchscreen", (Type: 5)
Enabled Device 4: "Virtual core XTEST pointer", (Type: 0)
Now 5 enabled devices.
Segmentation fault (core dumped)

|> gdb gromit-mpx
GNU gdb (GDB) Fedora 7.9.50.20150531-3.fc23
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from gromit-mpx...done.
gdb>r
Starting program: /home/russel/Built/bin/gromit-mpx
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.21.90-17.fc23.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe4e90700 (LWP 3532)]
[New Thread 0x7fffdffff700 (LWP 3533)]
Supported backends: x11 wayland
Using backend: x11
Enabled Device 0: "Virtual core pointer", (Type: 0)
Enabled Device 1: "TPPS/2 IBM TrackPoint", (Type: 0)
Enabled Device 2: "SynPS/2 Synaptics TouchPad", (Type: 6)
Enabled Device 3: "ELAN Touchscreen", (Type: 5)
Enabled Device 4: "Virtual core XTEST pointer", (Type: 0)
Now 5 enabled devices.

Program received signal SIGSEGV, Segmentation fault.
on_motion (win=, ev=0x869ae0, user_data=0x751150) at callbacks.c:309
309 if (ev->state != masterdata->state ||
Missing separate debuginfos, use: dnf debuginfo-install atk-2.16.0-2.fc23.x86_64 at-spi2-atk-2.16.0-2.fc23.x86_64 at-spi2-core-2.16.0-2.fc23.x86_64 bzip2-libs-1.0.6-16.fc23.x86_64 cairo-1.14.2-2.fc23.x86_64 cairo-gobject-1.14.2-2.fc23.x86_64 dbus-libs-1.9.16-2.fc23.x86_64 elfutils-libelf-0.163-1.fc23.x86_64 elfutils-libs-0.163-1.fc23.x86_64 expat-2.1.0-12.fc23.x86_64 fontconfig-2.11.94-2.fc23.x86_64 freetype-2.6.0-2.fc23.x86_64 gdk-pixbuf2-2.31.4-2.fc23.x86_64 gdk-pixbuf2-modules-2.31.4-2.fc23.x86_64 glib2-2.45.3-2.fc23.x86_64 graphite2-1.2.4-5.fc23.x86_64 gtk3-3.17.4-1.fc23.x86_64 gvfs-client-1.25.2-3.fc23.x86_64 harfbuzz-0.9.41-1.fc23.x86_64 libattr-2.4.47-12.fc23.x86_64 libbluray-0.8.0-3.fc23.x86_64 libcanberra-0.30-10.fc23.x86_64 libcanberra-gtk3-0.30-10.fc23.x86_64 libcap-2.24-8.fc23.x86_64 libdatrie-0.2.8-6.fc23.x86_64 libdrm-2.4.61-4.fc23.x86_64 libepoxy-1.2-4.fc23.x86_64 libffi-3.1-8.fc23.x86_64 libgcc-5.1.1-4.fc23.x86_64 libgcrypt-1.6.3-5.fc23.x86_64 libgpg-error-1.19-2.fc23.x86_64 libogg-1.3.2-4.fc23.x86_64 libpng-1.6.17-2.fc23.x86_64 libselinux-2.3-11.fc23.x86_64 libtdb-1.3.6-2.fc23.x86_64 libthai-0.1.21-2.fc23.x86_64 libtool-ltdl-2.4.6-5.fc23.x86_64 libvorbis-1.3.4-5.fc23.x86_64 libwayland-client-1.7.92-2.fc23.x86_64 libwayland-cursor-1.7.92-2.fc23.x86_64 libwayland-server-1.7.92-2.fc23.x86_64 libX11-1.6.3-2.fc23.x86_64 libXau-1.0.8-5.fc23.x86_64 libxcb-1.11-8.fc23.x86_64 libXcomposite-0.4.4-7.fc23.x86_64 libXcursor-1.1.14-4.fc23.x86_64 libXdamage-1.1.4-7.fc23.x86_64 libXext-1.3.3-3.fc23.x86_64 libXfixes-5.0.1-5.fc23.x86_64 libXi-1.7.4-3.fc23.x86_64 libXinerama-1.1.3-5.fc23.x86_64 libxkbcommon-0.5.0-2.fc23.x86_64 libxml2-2.9.2-5.fc23.x86_64 libXrandr-1.5.0-2.fc23.x86_64 libXrender-0.9.9-2.fc23.x86_64 libxshmfence-1.2-2.fc23.x86_64 libXxf86vm-1.1.4-2.fc23.x86_64 mesa-libEGL-10.7.0-0.devel.1.8787141.fc23.x86_64 mesa-libgbm-10.7.0-0.devel.1.8787141.fc23.x86_64 mesa-libGL-10.7.0-0.devel.1.8787141.fc23.x86_64 mesa-libglapi-10.7.0-0.devel.1.8787141.fc23.x86_64 mesa-libwayland-egl-10.7.0-0.devel.1.8787141.fc23.x86_64 nss-softokn-freebl-3.19.2-2.fc23.x86_64 pango-1.37.1-1.fc23.x86_64 pcre-8.37-1.fc23.1.x86_64 pixman-0.32.6-6.fc23.x86_64 systemd-libs-221-1.fc23.x86_64 xz-libs-5.2.1-2.fc23.x86_64 zlib-1.2.8-8.fc23.x86_64

|> xsetpointer -l
2: "Virtual core pointer" [XPointer]
3: "Virtual core keyboard" [XKeyboard]
4: "Virtual core XTEST pointer" [XExtensionPointer]
5: "Virtual core XTEST keyboard" [XExtensionKeyboard]
6: "Power Button" [XExtensionKeyboard]
7: "Video Bus" [XExtensionKeyboard]
8: "Sleep Button" [XExtensionKeyboard]
10: "ELAN Touchscreen" [XExtensionPointer]
11: "Integrated Camera" [XExtensionKeyboard]
12: "AT Translated Set 2 keyboard" [XExtensionKeyboard]
13: "SynPS/2 Synaptics TouchPad" [XExtensionPointer]
14: "TPPS/2 IBM TrackPoint" [XExtensionPointer]
15: "ThinkPad Extra Buttons" [XExtensionKeyboard]
9: "Wacom Graphire2 4x5 stylus" [XExtensionPointer]
16: "Wacom Graphire2 4x5 eraser" [XExtensionPointer]
17: "Wacom Graphire2 4x5 cursor" [XExtensionPointer]

1.1 -> 1.2 update: build fails on undocumented missing dependency

checking for APPINDICATOR... no
configure: error: Package requirements (appindicator3-0.1 >= 0.4.92) were not met:

No package 'appindicator3-0.1' found

Technically this is a documented missing dependency, since the build demands it. Is this an artifact of building from the git tarballs?

Is it possible to disable pressure sensitivity for X230T ( Wacom stylus) ?

gromit-mpx is great!

In Ubuntu, the default short cut key is Pause, I recently work it out on my X230T, and the key press is Fn+P.

When I am drawing something, the pressure sensitivity is nice in gromit-mpx. However, when I am teaching and writing some formulas, I like to turn off the pressure sensitivity, as the Annotate plugin of compiz, who treats the Wacom stylus as a mouse.

Once I use Annotate plugin of compiz in Ubuntu (12.04, 14.04+xfce, 14.04+mate1.82) in teaching, for examples
https://www.youtube.com/watch?v=4yBW1tOx9p0
https://www.youtube.com/playlist?list=PLVmaHFXy6tldlu5ZKR-3M89dP-YicRPLl

gromit-mpx provides the flexibility to change color, this point is much better than Annotate plugin of Compiz. If there is a way to disable the pressure sensitivity, that will be super.

Using keyboard letters

Is it possible to make a config where e.g pressing the "b" key on the keyboard maps to drawing with blue?

something like

"red Pen" = PEN (size=5 color="red");
"blue Pen" = "red Pen" (color="blue");

"Virtual core keyboard"[b] = "blue Pen";

Installation on Ubuntu 16.10

Dear @bk138,

Thanks for this excellent and promising program!

I installed it on Ubuntu 16.10 but how do I use it?

Running gromit-mpx from the command-line doesn't bring up any window, tray icon or error message.

Thank you!

-Robert

orschiro@x230:~$ sudo apt install gromit-mpx
[sudo] password for orschiro: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  gromit-mpx
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 28,3 kB of archives.
After this operation, 141 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu yakkety/universe amd64 gromit-mpx amd64 1.1+git.1.fb3c7f8-1 [28,3 kB]
Fetched 28,3 kB in 0s (65,3 kB/s)     
Selecting previously unselected package gromit-mpx.
(Reading database ... 406563 files and directories currently installed.)
Preparing to unpack .../gromit-mpx_1.1+git.1.fb3c7f8-1_amd64.deb ...
Unpacking gromit-mpx (1.1+git.1.fb3c7f8-1) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu1) ...
Processing triggers for bamfdaemon (0.5.3+16.10.20160929-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Setting up gromit-mpx (1.1+git.1.fb3c7f8-1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu4) ...
Processing triggers for hicolor-icon-theme (0.15-1) ...

Not Painting In Kubuntu 16.04

First of all, thank you for developing this cool software, it really helped me a lot when explaining things with my colleagues and other stuffs. Anyway, I've been using gromit-mpx for a more than a year now and after updating my system a few days ago, gromit-mpx does not show the paint anymore. It changes the cursor into a crosshair-like cursor, but when I do paint, no paint is shown, as if it runs out of ink. Any idea what might have cause this? Thanks

Compton gromit-mpx shadows

Hi,
I am using compton as desktop composition manager.
When I use gromit-mpx shadow appears on whole paint-able screen.

I can't check class of this window with xprop.
Which window class I should use to exclude gromix paint area?

Feature: unify the right- and left-click menus

The tray icon has a left-click menu with drawing options in it, and a right-click menu with only an option to quit. Does it really need two separate menus, or could they be unified? Perhaps the menu could be activated by any mouse button?

Excluding windows from drawing

Hi there!

First of all I love the project. It's too fast and I've yet to run into any bugs.
I wanted to try to get an application to still be clickable while Gromit-MPX was in use. In other words, the mouse would draw lines while outside of that window but once inside stop drawing and interact with the window. Then once moved outside the window start drawing again.

Given the way Gromit works currently, which as I understand Gromit takes control of the mouse and consumes its events when drawing, preventing them from reaching windows underneath, would there be any easy way to implement this?

Thanks!

Does not paint in Lubuntu 16.04 LTS

Hi, I've just installed gromit-mpx on Lubuntu 16.04 LTS x64 from Software Center.
I ran it from terminal and got this:

$ gromit-mpx 
Supported backends: x11 wayland 
Using backend: x11
Enabled Device 0: "Virtual core pointer", (Type: 0)
Enabled Device 1: "SynPS/2 Synaptics TouchPad", (Type: 0)
Enabled Device 2: "Logitech USB Laser Mouse", (Type: 0)
Enabled Device 3: "Virtual core XTEST pointer", (Type: 0)
Now 4 enabled devices.

The icon appeared in the tray and I toogled painting, but it didn't start painting. I tried F9 with the same result, the mouse doesn't paint at all.

"Show again on startup" not saving setting

After each restart, Gromit shows the help screen again, even after unchecking "show again on startup". I am using the Arch package if that makes a difference:

# Maintainer: Kyle Keen <[email protected]>

pkgname=gromit-mpx-git
_gitname=gromit-mpx
pkgver=1.2.r7.g295a34b
pkgrel=1
pkgdesc="Desktop annotation tool. GTK3 multi-pointer variant of original gromit utility."
arch=('i686' 'x86_64')
url="https://github.com/bk138/gromit-mpx"
license=("GPL2")
depends=('libappindicator-gtk3')
makedepends=('cmake')
provides=('gromit')
conflicts=('gromit')
source=("git://github.com/bk138/gromit-mpx.git")
md5sums=('SKIP')

pkgver() {
    cd "$srcdir/$_gitname"
    git describe --long --tags | sed -r 's/([^-]*-g)/r\1/;s/-/./g'
}

build() {
    cd "$srcdir/$_gitname"
    cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
    make
}

package() {
    cd "$srcdir/$_gitname"
    make DESTDIR="$pkgdir/" install
}

Segmentation fault on start

I don't know how to debug this, but if I compile with --enable-debug it works (mostly - see next bug), whereas if I compile without --enable-debug it segfaults on start, like this:

[root@archie ~]# gdb gromit
GNU gdb (GDB) 7.6
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/gromit-mpx...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/gromit-mpx 
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0xb688fb40 (LWP 5694)]
Enabled Device 0: "Virtual core pointer", (Type: 0)
Enabled Device 1: "ImExPS/2 Generic Explorer Mouse", (Type: 0)
Enabled Device 2: "Virtual core XTEST pointer", (Type: 0)
Now 3 enabled devices.

Program received signal SIGSEGV, Segmentation fault.
0xb74b6fa6 in free () from /usr/lib/libc.so.6
(gdb) bt
#0  0xb74b6fa6 in free () from /usr/lib/libc.so.6
#1  0xb77c4f00 in g_free () from /usr/lib/libglib-2.0.so.0
#2  0xb73dbbad in ?? () from /usr/lib/libatk-bridge-2.0.so.0
#3  0xb6da61bb in ?? () from /usr/lib/libdbus-1.so.3
#4  0xb6d9264e in ?? () from /usr/lib/libdbus-1.so.3
#5  0xb6d95ebf in dbus_connection_dispatch () from /usr/lib/libdbus-1.so.3
#6  0xb6ddd19d in ?? () from /usr/lib/libatspi.so.0
#7  0xb77bf0ee in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#8  0xb77bf498 in ?? () from /usr/lib/libglib-2.0.so.0
#9  0xb77bf8fb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#10 0xb7c650e5 in gtk_main () from /usr/lib/libgtk-3.so.0
#11 0x0804ae82 in ?? ()
#12 0xb74597c3 in __libc_start_main () from /usr/lib/libc.so.6
#13 0x0804aecd in ?? ()

Wish List: text, opacity++, exporting, line style, usability

  • Text:
    • font
    • color
    • size
  • Opacity:
    • different opacity values for specific pens
    • shortcut for opacity++ and opacity-- for pens without fixed opacity values
  • Exporting
    • just the drawings (transparent png, svg, pdf,...)
    • drawing+screen (png, jpg, pdf...)
  • Line style: solid, dash, dots...
  • Usability
    • An informative small panel (like conky): current pen color, size, opacity, line style.
  • Shapes: rectangle, circle, star, triangle...
  • Smoothness: gimp has some pencil styles to get better curves (I tend to have shaky curves without it).
  • Color Palette: a list of squares offering visual color switching.

Setting minimal cursor size

I'm trying to use gromit-mpx to annotate some live presentations. I tried ardesia, but it's quite a hefty package for the basic features I need.

gromit-mpx works nicely, but still comes short on a few things.

With a wacom tablet, it looks like a setting for minimal cursor size should be present. If I set size=5 on a cursor, I need to press quite hard to get a thin line to be visible. To get a decent feel I've set size=25, but the maximal thickness is now actually too big.

There should be a minsize setting, so that I can control the dynamic range of the stylus and ensure that any stroke is at least 1/2 pixels.

Disable startup tooltip in conifg

When run from the command-line there is no way to disable the popup tool tip. The show again on startup checkbox is ignored.

Is there any way to disable this from the config file?

issue on fedora 27 KDE plasma

hello,

I was able to build successfully but, running I get some errors.

Supported backends: x11 wayland 
Using backend: x11

(gromit-mpx:4328): GLib-GObject-WARNING **: g_object_get_is_valid_property: object class 'GdkX11DeviceCore' has no property named 'device-id'

(gromit-mpx:4328): Gdk-ERROR **: The program 'gromit-mpx' received an X Window System error.
This probably reflects a bug in the program.
The error was 'XI_BadDevice (invalid Device parameter)'.
  (Details: serial 212 error_code 129 request_code 131 (XInputExtension) minor_code 48)
  (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.)
[1]    4328 trace trap (core dumped)  ./gromit-mpx

git tag for version 1.2

Hi there, I installed everything from master and was wondering why there isn't a 1.2 tag in the repository.

Thanks for the great tool.

Cheers from Berlin,

Matthias

Cursor switching with wacom styluses doesn't work

Styluses normally have two buttons on the side (button 1/2), but I cannot make them work.
I think this is due to the fact that drawing by itself normally triggers button 0, and erasing triggers button 3.

Add functionality to draw straight lines

#44 is similar but I want to open it as a feature-request.
Because it would be a great possibility to add lines to Gromit.

I would help with the code if there is interest and support because I'm not a graphics programmer.

Pressing a key to start a line in the same color like the "freehand" option and hold it down until the end point of the line is reached. Simple like the other tools but a new feature.

What do you think? Why not?

Proper interaction with Wayland

When launching Gromit on Fedora 24 in the Gnome Wayland session I get this error:

Supported backends: x11 wayland 
Using backend: wayland

(gromit-mpx:24312): GLib-GObject-WARNING
     **: g_object_get_valist: object class
    'GdkWaylandDevice' has no property named 'device-id'
Segmentation fault (core dumped)

Using the x11 session on the same machine works perfectly.

And thank you for making such a useful tool!

Update man page

I saw that there is at least one argv option (-o to set opacity) that isn't documented in the man page. Would it be possible to update the man page to reflect this new usage and any others?

Window X is a temporary window without parent

When starting under GNOME 3.30.3 / Wayland I get the following output and none of the functionality works:

Using backend: wayland
Enabled Device 0: "Core Pointer", (Type: 0)
Now 1 enabled devices.
Gdk-Message: 16:18:37.198: Window 0x55848fae1340 is a temporary window without parent, application will not be able to position it on screen.
Gdk-Message: 16:18:37.198: Window 0x55848fae1340 is a temporary window without parent, application will not be able to position it on screen.

Works fine under X11, however with the upcoming GNOME 3.32 fractional scaling doesn't work under X11 so I wanted to test everything ahead of release.

No configure?

README build instructions say to do the usual configure/make/install. Yet configure is not in the repo, it is .gitignore'd.

My autoconf is too old (2.68 on precise), gromit-mpx wants 2.69. If I hack AC_PREREQ backwards autoconf and configure complain about other autotoolsy stuff like undefined macros AM_PROG_CC_C_O.

Any reason not to put configure in git? Either that or an autogen.sh?

Not recognizing the pen tip on wacom intuos draw tablets

When trying to draw with my new "wacom intuos draw", the pointer goes anywhere I want without problem but the tip does not register as a click sort of thing. I can't draw at all. If I pick up the mouse next to it, I can draw with it no problem.

So both the mouse and pen moves the cursor but only the mouse draws on screen.

I tried with other apps such as Gimp and my pen is ok, it draws perfectly. I also tried with another tablet, an HUION 610pro and the tip was recognized.

I am running linux mint, updated to the latest.

only draws in grey with a 5 pixel pen

I have built on Arch Linux and tested with two machines with very different hardware. If I have xcompmgr running, when I run gromit the entire screen goes grey, as referred to in bug #2. If I don't have xcompmgr running, when it doesn't segfault, it only draws in grey, and only with a 5 pixel pen.

compilation error for the recent release

I just installed Archlinux on a new laptop; therefore I had to re-install gromit using the new cmake configuration (as opposed to the old one using autconf.) it gives me this:
-- The C compiler identification is GNU 6.2.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'gtk+-3.0 >= 2.99.3'
-- Found gtk+-3.0 , version 3.22.4
-- Checking for module 'appindicator3-0.1 >= 0.4.92'

CMake Error at /usr/share/cmake-3.6/Modules/FindPkgConfig.cmake:424 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.6/Modules/FindPkgConfig.cmake:597 (_pkg_check_modules_internal)
CMakeLists.txt:14 (pkg_check_modules)

-- Configuring incomplete, errors occurred!
See also "/home/wyousef/MyDocuments/MyScripts/InstallationTipsArch/gromit-mpx/build/CMakeFiles/CMakeOutput.log".

Multi-pointer not working, clarification needed

I have a X1 Yoga as well as a Lenovo ThinkVision, both are 10 point touch. Should I be able to draw with multiple fingers at the same time? If so, I can only use 1 finger and it isn't working. What steps should I take to debug multi-pointer not working?

Using this as a tool/library for drawing to the screen

Hello,

I'm interested in using a tool like this for writing text (and possibly rectangles and other shapes) on the screen as overlay.

Is there currently any way for sing gromit-mpx in this way?

I.e. I want to call gromit-mpx from a bash script and tell it to draw a black rectangle with such and such
text at such and such position. And to delete that overlay again after a certain period of time or when it is called again to undo it.

Switch from Autotools to SCons, Meson, or CMake?

I have been working on bits of SCons for a while now and it is way better than Autotools for C, C++, Fortran, D, and LaTeX builds. However the CLion IDE has gone the CMake route. CMake is second rate (in my view) to SCons, but to use CLion is to use CMake. GStreamer (on which I am scheduled to do some work fairly soon) has been an Autotools project. It has recently though added Meson build. It seems as though the GTK-based community may be shifting from Autotools to Meson. Meson is CMake is architecture but has a Python-style DSL and Ninja back-end rather than CMake's weird DSL and Make.

I have only had a little bit of experience with Meson to date, but it certainly looks like a very good system. Is there a chance of admitting a change of build infrastructure. As you can tell I really do not like Autotools!

minor compiler warnings regarding deprecated library functions

This is compiled on debian testing. The compiler does a lot of whining about deprecated gdk library procedures.

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.1.1-11' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.1.1 20160802 (Debian 6.1.1-11) 

$ autoreconf --warn all --install --symlink --force
configure.ac:10: installing './compile'
configure.ac:5: installing './install-sh'
configure.ac:5: installing './missing'
Makefile.am: installing './depcomp'

$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.20... yes
checking for library containing atan2... -lm
checking for GTK3... yes
checking for XINPUT2... yes
checking for X11... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands

$ make -j1
make  all-am
make[1]: Entering directory '/home/barak/src/git/debian-src/gromit-mpx'
depbase=`echo src/gromit-mpx.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I.  -pthread -I/usr/include/gtk-3.0 -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/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include    -Wall -Wextra -Wno-unused-parameter -g -O2 -MT src/gromit-mpx.o -MD -MP -MF $depbase.Tpo -c -o src/gromit-mpx.o src/gromit-mpx.c &&\
mv -f $depbase.Tpo $depbase.Po
src/gromit-mpx.c: In function ‘paint_context_new’:
src/gromit-mpx.c:58:3: warning: ‘gdk_cairo_set_source_color’ is deprecated: Use 'gdk_cairo_set_source_rgba' instead [-Wdeprecated-declarations]
   gdk_cairo_set_source_color(context->paint_ctx, paint_color);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdk.h:33:0,
                 from src/callbacks.h:28,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gdk/gdkcairo.h:68:12: note: declared here
 void       gdk_cairo_set_source_color   (cairo_t              *cr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c: In function ‘select_tool’:
src/gromit-mpx.c:425:3: warning: ‘gdk_device_grab’ is deprecated: Use 'gdk_seat_grab' instead [-Wdeprecated-declarations]
   gdk_device_grab(master,
   ^~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkdnd.h:33:0,
                 from /usr/include/gtk-3.0/gdk/gdkevents.h:34,
                 from /usr/include/gtk-3.0/gdk/gdkdisplay.h:31,
                 from /usr/include/gtk-3.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from src/callbacks.h:28,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gdk/gdkdevice.h:230:15: note: declared here
 GdkGrabStatus gdk_device_grab        (GdkDevice        *device,
               ^~~~~~~~~~~~~~~
src/gromit-mpx.c: In function ‘draw_arrow’:
src/gromit-mpx.c:614:7: warning: ‘gdk_cairo_set_source_color’ is deprecated: Use 'gdk_cairo_set_source_rgba' instead [-Wdeprecated-declarations]
       gdk_cairo_set_source_color(devdata->cur_context->paint_ctx, data->black);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdk.h:33:0,
                 from src/callbacks.h:28,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gdk/gdkcairo.h:68:12: note: declared here
 void       gdk_cairo_set_source_color   (cairo_t              *cr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c:623:7: warning: ‘gdk_cairo_set_source_color’ is deprecated: Use 'gdk_cairo_set_source_rgba' instead [-Wdeprecated-declarations]
       gdk_cairo_set_source_color(devdata->cur_context->paint_ctx, devdata->cur_context->paint_color);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdk.h:33:0,
                 from src/callbacks.h:28,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gdk/gdkcairo.h:68:12: note: declared here
 void       gdk_cairo_set_source_color   (cairo_t              *cr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c: In function ‘setup_main_app’:
src/gromit-mpx.c:673:3: warning: ‘gdk_color_parse’ is deprecated: Use 'gdk_rgba_parse' instead [-Wdeprecated-declarations]
   gdk_color_parse ("#FFFFFF", data->white);
   ^~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkcairo.h:26:0,
                 from /usr/include/gtk-3.0/gdk/gdk.h:33,
                 from src/callbacks.h:28,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gdk/deprecated/gdkcolor.h:79:11: note: declared here
 gboolean  gdk_color_parse     (const gchar    *spec,
           ^~~~~~~~~~~~~~~
src/gromit-mpx.c:674:3: warning: ‘gdk_color_parse’ is deprecated: Use 'gdk_rgba_parse' instead [-Wdeprecated-declarations]
   gdk_color_parse ("#000000", data->black);
   ^~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkcairo.h:26:0,
                 from /usr/include/gtk-3.0/gdk/gdk.h:33,
                 from src/callbacks.h:28,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gdk/deprecated/gdkcolor.h:79:11: note: declared here
 gboolean  gdk_color_parse     (const gchar    *spec,
           ^~~~~~~~~~~~~~~
src/gromit-mpx.c:675:3: warning: ‘gdk_color_parse’ is deprecated: Use 'gdk_rgba_parse' instead [-Wdeprecated-declarations]
   gdk_color_parse ("#FF0000", data->red);
   ^~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkcairo.h:26:0,
                 from /usr/include/gtk-3.0/gdk/gdk.h:33,
                 from src/callbacks.h:28,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gdk/deprecated/gdkcolor.h:79:11: note: declared here
 gboolean  gdk_color_parse     (const gchar    *spec,
           ^~~~~~~~~~~~~~~
src/gromit-mpx.c:730:3: warning: ‘gdk_display_get_device_manager’ is deprecated: Use 'gdk_display_get_default_seat' instead [-Wdeprecated-declarations]
   g_signal_connect (gdk_display_get_device_manager (data->display), "device-added",
   ^~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkscreen.h:32:0,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from src/callbacks.h:28,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gdk/gdkdisplay.h:171:20: note: declared here
 GdkDeviceManager * gdk_display_get_device_manager (GdkDisplay *display);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c:732:3: warning: ‘gdk_display_get_device_manager’ is deprecated: Use 'gdk_display_get_default_seat' instead [-Wdeprecated-declarations]
   g_signal_connect (gdk_display_get_device_manager (data->display), "device-removed",
   ^~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkscreen.h:32:0,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from src/callbacks.h:28,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gdk/gdkdisplay.h:171:20: note: declared here
 GdkDeviceManager * gdk_display_get_device_manager (GdkDisplay *display);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c:871:3: warning: ‘gtk_key_snooper_install’ is deprecated [-Wdeprecated-declarations]
   gtk_key_snooper_install (snoop_key_press, data);
   ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtk.h:139:0,
                 from src/callbacks.h:29,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gtk/gtkmain.h:185:12: note: declared here
 guint      gtk_key_snooper_install (GtkKeySnoopFunc snooper,
            ^~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c:879:3: warning: ‘gtk_status_icon_new_from_file’ is deprecated [-Wdeprecated-declarations]
   data->trayicon = gtk_status_icon_new_from_file("data/gromit-mpx.svg");
   ^~~~
In file included from /usr/include/gtk-3.0/gtk/gtk.h:271:0,
                 from src/callbacks.h:29,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:88:23: note: declared here
 GtkStatusIcon        *gtk_status_icon_new_from_file      (const gchar        *filename);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c:880:3: warning: ‘gtk_status_icon_get_storage_type’ is deprecated [-Wdeprecated-declarations]
   if(gtk_status_icon_get_storage_type(data->trayicon) == GTK_IMAGE_EMPTY) {
   ^~
In file included from /usr/include/gtk-3.0/gtk/gtk.h:271:0,
                 from src/callbacks.h:29,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:113:23: note: declared here
 GtkImageType          gtk_status_icon_get_storage_type   (GtkStatusIcon      *status_icon);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c:881:7: warning: ‘gtk_status_icon_new_from_file’ is deprecated [-Wdeprecated-declarations]
       data->trayicon = gtk_status_icon_new_from_file("/usr/local/share/icons/hicolor/scalable/apps/gromit-mpx.svg");
       ^~~~
In file included from /usr/include/gtk-3.0/gtk/gtk.h:271:0,
                 from src/callbacks.h:29,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:88:23: note: declared here
 GtkStatusIcon        *gtk_status_icon_new_from_file      (const gchar        *filename);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c:882:7: warning: ‘gtk_status_icon_get_storage_type’ is deprecated [-Wdeprecated-declarations]
       if(gtk_status_icon_get_storage_type(data->trayicon) == GTK_IMAGE_EMPTY) {
       ^~
In file included from /usr/include/gtk-3.0/gtk/gtk.h:271:0,
                 from src/callbacks.h:29,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:113:23: note: declared here
 GtkImageType          gtk_status_icon_get_storage_type   (GtkStatusIcon      *status_icon);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c:883:4: warning: ‘gtk_status_icon_new_from_file’ is deprecated [-Wdeprecated-declarations]
    data->trayicon = gtk_status_icon_new_from_file("/usr/share/icons/hicolor/scalable/apps/gromit-mpx.svg");
    ^~~~
In file included from /usr/include/gtk-3.0/gtk/gtk.h:271:0,
                 from src/callbacks.h:29,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:88:23: note: declared here
 GtkStatusIcon        *gtk_status_icon_new_from_file      (const gchar        *filename);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c:884:4: warning: ‘gtk_status_icon_get_storage_type’ is deprecated [-Wdeprecated-declarations]
    if(gtk_status_icon_get_storage_type(data->trayicon) == GTK_IMAGE_EMPTY)
    ^~
In file included from /usr/include/gtk-3.0/gtk/gtk.h:271:0,
                 from src/callbacks.h:29,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:113:23: note: declared here
 GtkImageType          gtk_status_icon_get_storage_type   (GtkStatusIcon      *status_icon);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c:889:3: warning: ‘gtk_status_icon_set_tooltip_text’ is deprecated [-Wdeprecated-declarations]
   gtk_status_icon_set_tooltip_text (data->trayicon, "Gromit-MPX");
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtk.h:271:0,
                 from src/callbacks.h:29,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:137:23: note: declared here
 void                  gtk_status_icon_set_tooltip_text   (GtkStatusIcon      *status_icon,
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c: In function ‘app_parse_args’:
src/gromit-mpx.c:966:16: warning: ‘gtk_window_set_opacity’ is deprecated: Use 'gtk_widget_set_opacity' instead [-Wdeprecated-declarations]
                gtk_window_set_opacity(GTK_WINDOW(data->win), data->opacity);
                ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtkdialog.h:32:0,
                 from /usr/include/gtk-3.0/gtk/gtkaboutdialog.h:30,
                 from /usr/include/gtk-3.0/gtk/gtk.h:31,
                 from src/callbacks.h:29,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gtk/gtkwindow.h:200:12: note: declared here
 void       gtk_window_set_opacity              (GtkWindow           *window,
            ^~~~~~~~~~~~~~~~~~~~~~
src/gromit-mpx.c: In function ‘main’:
src/gromit-mpx.c:1135:3: warning: ‘gtk_window_set_opacity’ is deprecated: Use 'gtk_widget_set_opacity' instead [-Wdeprecated-declarations]
   gtk_window_set_opacity(GTK_WINDOW(data->win), data->opacity);
   ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gtk/gtkdialog.h:32:0,
                 from /usr/include/gtk-3.0/gtk/gtkaboutdialog.h:30,
                 from /usr/include/gtk-3.0/gtk/gtk.h:31,
                 from src/callbacks.h:29,
                 from src/gromit-mpx.c:28:
/usr/include/gtk-3.0/gtk/gtkwindow.h:200:12: note: declared here
 void       gtk_window_set_opacity              (GtkWindow           *window,
            ^~~~~~~~~~~~~~~~~~~~~~
depbase=`echo src/callbacks.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I.  -pthread -I/usr/include/gtk-3.0 -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/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include    -Wall -Wextra -Wno-unused-parameter -g -O2 -MT src/callbacks.o -MD -MP -MF $depbase.Tpo -c -o src/callbacks.o src/callbacks.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo src/config.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I.  -pthread -I/usr/include/gtk-3.0 -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/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include    -Wall -Wextra -Wno-unused-parameter -g -O2 -MT src/config.o -MD -MP -MF $depbase.Tpo -c -o src/config.o src/config.c &&\
mv -f $depbase.Tpo $depbase.Po
src/config.c: In function ‘parse_config’:
src/config.c:278:27: warning: ‘gdk_color_parse’ is deprecated: Use 'gdk_rgba_parse' instead [-Wdeprecated-declarations]
                           if (gdk_color_parse (scanner->value.v_string,
                           ^~
In file included from /usr/include/gtk-3.0/gdk/gdkcairo.h:26:0,
                 from /usr/include/gtk-3.0/gdk/gdk.h:33,
                 from src/gromit-mpx.h:28,
                 from src/config.c:30:
/usr/include/gtk-3.0/gdk/deprecated/gdkcolor.h:79:11: note: declared here
 gboolean  gdk_color_parse     (const gchar    *spec,
           ^~~~~~~~~~~~~~~
depbase=`echo src/input.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I.  -pthread -I/usr/include/gtk-3.0 -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/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include    -Wall -Wextra -Wno-unused-parameter -g -O2 -MT src/input.o -MD -MP -MF $depbase.Tpo -c -o src/input.o src/input.c &&\
mv -f $depbase.Tpo $depbase.Po
src/input.c: In function ‘setup_input_devices’:
src/input.c:52:3: warning: ‘gdk_display_get_device_manager’ is deprecated: Use 'gdk_display_get_default_seat' instead [-Wdeprecated-declarations]
   GdkDeviceManager *device_manager = gdk_display_get_device_manager(data->display);
   ^~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkscreen.h:32:0,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from src/input.c:7:
/usr/include/gtk-3.0/gdk/gdkdisplay.h:171:20: note: declared here
 GdkDeviceManager * gdk_display_get_device_manager (GdkDisplay *display);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/input.c:57:27: warning: ‘gdk_device_manager_list_devices’ is deprecated [-Wdeprecated-declarations]
                           (device_manager, GDK_DEVICE_TYPE_MASTER),
                           ^
In file included from /usr/include/gtk-3.0/gdk/gdkdisplay.h:32:0,
                 from /usr/include/gtk-3.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from src/input.c:7:
/usr/include/gtk-3.0/gdk/gdkdevicemanager.h:41:14: note: declared here
 GList *      gdk_device_manager_list_devices       (GdkDeviceManager *device_manager,
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/input.c:59:27: warning: ‘gdk_device_manager_list_devices’ is deprecated [-Wdeprecated-declarations]
                           (device_manager, GDK_DEVICE_TYPE_SLAVE));
                           ^
In file included from /usr/include/gtk-3.0/gdk/gdkdisplay.h:32:0,
                 from /usr/include/gtk-3.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from src/input.c:7:
/usr/include/gtk-3.0/gdk/gdkdevicemanager.h:41:14: note: declared here
 GList *      gdk_device_manager_list_devices       (GdkDeviceManager *device_manager,
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/input.c: In function ‘release_grab’:
src/input.c:180:6: warning: ‘gdk_device_ungrab’ is deprecated: Use 'gdk_seat_ungrab' instead [-Wdeprecated-declarations]
      gdk_device_ungrab(devdata->device, GDK_CURRENT_TIME);
      ^~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkdnd.h:33:0,
                 from /usr/include/gtk-3.0/gdk/gdkevents.h:34,
                 from /usr/include/gtk-3.0/gdk/gdkdisplay.h:31,
                 from /usr/include/gtk-3.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from src/input.c:7:
/usr/include/gtk-3.0/gdk/gdkdevice.h:239:15: note: declared here
 void          gdk_device_ungrab      (GdkDevice        *device,
               ^~~~~~~~~~~~~~~~~
src/input.c:205:7: warning: ‘gdk_device_ungrab’ is deprecated: Use 'gdk_seat_ungrab' instead [-Wdeprecated-declarations]
       gdk_device_ungrab(devdata->device, GDK_CURRENT_TIME);
       ^~~~~~~~~~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkdnd.h:33:0,
                 from /usr/include/gtk-3.0/gdk/gdkevents.h:34,
                 from /usr/include/gtk-3.0/gdk/gdkdisplay.h:31,
                 from /usr/include/gtk-3.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from src/input.c:7:
/usr/include/gtk-3.0/gdk/gdkdevice.h:239:15: note: declared here
 void          gdk_device_ungrab      (GdkDevice        *device,
               ^~~~~~~~~~~~~~~~~
src/input.c: In function ‘acquire_grab’:
src/input.c:245:4: warning: ‘gdk_device_grab’ is deprecated: Use 'gdk_seat_grab' instead [-Wdeprecated-declarations]
    if(gdk_device_grab(devdata->device,
    ^~
In file included from /usr/include/gtk-3.0/gdk/gdkdnd.h:33:0,
                 from /usr/include/gtk-3.0/gdk/gdkevents.h:34,
                 from /usr/include/gtk-3.0/gdk/gdkdisplay.h:31,
                 from /usr/include/gtk-3.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from src/input.c:7:
/usr/include/gtk-3.0/gdk/gdkdevice.h:230:15: note: declared here
 GdkGrabStatus gdk_device_grab        (GdkDevice        *device,
               ^~~~~~~~~~~~~~~
src/input.c:282:7: warning: ‘gdk_device_grab’ is deprecated: Use 'gdk_seat_grab' instead [-Wdeprecated-declarations]
       if(gdk_device_grab(devdata->device,
       ^~
In file included from /usr/include/gtk-3.0/gdk/gdkdnd.h:33:0,
                 from /usr/include/gtk-3.0/gdk/gdkevents.h:34,
                 from /usr/include/gtk-3.0/gdk/gdkdisplay.h:31,
                 from /usr/include/gtk-3.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-3.0/gdk/gdk.h:32,
                 from src/input.c:7:
/usr/include/gtk-3.0/gdk/gdkdevice.h:230:15: note: declared here
 GdkGrabStatus gdk_device_grab        (GdkDevice        *device,
               ^~~~~~~~~~~~~~~
gcc -Wall -Wextra -Wno-unused-parameter -g -O2   -o gromit-mpx src/gromit-mpx.o src/callbacks.o src/config.o src/input.o  -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lXi -lX11 -lm 
make[1]: Leaving directory '/home/barak/src/git/debian-src/gromit-mpx'

$ 

Request support for buttons beyond '5'

I have a wacom Intuos tablet. It has 4 buttons on the pad and three on the stylus(including the tip)
The buttons on the pad report as 1,3,8,9. I'm able to configure 1 and 3 but 8 and 9 give the warning "Only Buttons 1-5 are supported!" on startup.

Can these be added without too much trouble?

System tray indicator should show status

I installed Topicons Plus Gnome extension to get a sys tray back and I do see the sys tray icon now. I was expecting it would show me the status of gromit-mpx but it does not. I think it would be great to change the icon when it is active. I have a hard time knowing when it is active otherwise.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.