Long term, I’d like to add my plugins to geany-plugins so they will be both on 
Windows and linux.  Unfortunately, I have some bugs to fix and I just haven’t 
gotten around to it yet.

Thanks guys for all of the help.

Matthew, I will certainly peek at the Command plugin, thanks for the suggestion.

 

Steve

 

From: Jiří Techet [mailto:tec...@gmail.com] 
Sent: Thursday, October 12, 2017 4:59 AM
To: Steven Blatnick <steve8tr...@yahoo.com>
Cc: Geany development list <devel@lists.geany.org>
Subject: Re: [Geany-Devel] OSX plugin development

 

By the way if you want your plugins to be distributed with the "official" dmg 
release, there's no problem - I did it just for the plugins distributed through 
the geany-plugins project because I don't have time to go through all the 
repositories and making sure everything works alright.

 

You can create a pull request against the geany-osx project. You'll have to 
modify the geany.modules file, add your plugins and possibly extra dependencies 
if you use some. Also when creating a bundle, one has to make sure all resource 
files are referenced relative to the bundle path - see

 

https://github.com/geany/geany-plugins/pull/569

 

for what kind of changes have to be made.

 

Cheers,

 

Jiri

 

On Thu, Oct 12, 2017 at 12:16 AM, Jiří Techet <tec...@gmail.com 
<mailto:tec...@gmail.com> > wrote:

Well, I have no more suggestions then except trying various possibilities and 
possibly checking what Geany does as e.g. Find dialog works fine.

 

To get the built Geany themed, go to the geany-osx directory and copy gtkrc 
under ~/.gtkrc-2.0 and then copy gtkrc.theme and close.png into the home 
directory too. If you also want the icon theme, start jhbuild shell and run

 

cp -r Faience $PREFIX/share/icons

../replace_icons.sh

 

Jiri

 

On Wed, Oct 11, 2017 at 10:51 PM, <steve8tr...@yahoo.com 
<mailto:steve8tr...@yahoo.com> > wrote:

Unfortunately, no.  I can’t even select the entry if I click on it with my 
mouse.  I’ve also tried various forms of:

*       gtk_widget_grab_default
*       GtkWidget’s “grab-notify” to use gboolean was_grabbed in on_out() only 
when false.

 

I will have to keep trying things.  It would seem perhaps GTK has been updated 
since I worked on the plugin.

 

Looks like the geany version I am using and the one jhbuild built the plugin 
against are very similar, but I should point out that because of theming 
differences, I am using the dmg packaged version:

 

~/projects/geany/geany-plugins/quick-search/src dev$ 
/Applications/Geany.app/Contents/MacOS/geany -V

geany 1.31 (built on 2017-07-17 with GTK 2.24.31, GLib 2.52.2)

~/projects/geany/geany-plugins/quick-search/src dev$ jhbuild shell

Prefix: /Users/sblatnick/gtk/inst

Entered jhbuild shell, type 'exit' to return.

bash-3.2$ geany -V

geany 1.32 (git >= 3fb94c23) (built on 2017-10-10 with GTK 2.24.31, GLib 2.52.2)

 

Thanks,

 

Steve

 

From: Jiří Techet [mailto:tec...@gmail.com <mailto:tec...@gmail.com> ] 
Sent: Wednesday, October 11, 2017 2:27 PM


To: Steven Blatnick <steve8tr...@yahoo.com <mailto:steve8tr...@yahoo.com> >
Cc: Geany development list <devel@lists.geany.org 
<mailto:devel@lists.geany.org> >
Subject: Re: [Geany-Devel] OSX plugin development

 

Wouldn't moving

 

gtk_widget_grab_focus(GTK_WIDGET(entry));

 

to quick_search() help? You could try to call it before/after you show the 
dialog to see if it helps.

 

Jiri

 

On Wed, Oct 11, 2017 at 9:56 PM, <steve8tr...@yahoo.com 
<mailto:steve8tr...@yahoo.com> > wrote:

Thanks for telling me about the update on the status of ctags/libgit2.

 

So I have an inline search plugin that opens a non-decorated dialog with a 
keyboard shortcut, much like searching text in popular browsers like Chrome or 
Firefox.

 

The problem is, when I hit my keyboard shortcut, I don’t get focus in the 
GtkEntry like I used to on linux.  However, I was also using an older version 
of geany at the time I worked on this plugin last on linux.

 

Here is the source code for my plugin:  
https://github.com/sblatnick/geany-plugins/blob/dev/quick-search/src/quick-search.c

 

Thanks,

 

Steve

 

From: Jiří Techet [mailto:tec...@gmail.com <mailto:tec...@gmail.com> ] 
Sent: Wednesday, October 11, 2017 12:18 PM


To: Steven Blatnick <steve8tr...@yahoo.com <mailto:steve8tr...@yahoo.com> >
Cc: Geany development list <devel@lists.geany.org 
<mailto:devel@lists.geany.org> >
Subject: Re: [Geany-Devel] OSX plugin development

 

I don't remember doing anything special regarding focus with Geany. What 
exactly happens?

 

By the way the jhbuild modules have been updated upstream with the new ctags 
version so when you rebuild ctags, libgit2 should be compiled alright.

 

Jiri

 

On Wed, Oct 11, 2017 at 6:28 PM, <steve8tr...@yahoo.com 
<mailto:steve8tr...@yahoo.com> > wrote:

THANK YOU.  I just built and used one of my plugins 😊

 

For some reason, the focus is messed up on this plugin.  Do I need to handle 
window focus differently on mac perhaps?

 

Thanks,

 

Steve

 

From: Jiří Techet [mailto:tec...@gmail.com <mailto:tec...@gmail.com> ] 
Sent: Tuesday, October 10, 2017 12:12 PM

To: Steven Blatnick <steve8tr...@yahoo.com <mailto:steve8tr...@yahoo.com> >
Cc: Geany development list <devel@lists.geany.org 
<mailto:devel@lists.geany.org> >
Subject: Re: [Geany-Devel] OSX plugin development

 

Hi Steve,

 

it sounds to me like this bug in cmake:

 

https://gitlab.kitware.com/cmake/cmake/merge_requests/1295

 

You might be able to fix it by updating cmake to the latest version. Check

 

Source/jhbuild/modulesets/bootstrap.modules

 

and update cmake to the latest release. The modules file also contains some 
patch to cmake - not sure if it's needed even with the latest release and if it 
applies - you might need to remove it.

 

Alternatively using XCode 8 should help too in this case as it doesn't contain 
the new function and shouldn't confuse cmake.

 

I'll report the issue to gtk-osx so it gets updated in the project.

 

By the way, this error happens in Geany plugins dependency which means Geany is 
already built at this point. You should be able to run it from jhbuild shell 
and be also able to test your plugin. You could also edit the geany.modules 
file and remove the libgit2 dependency. This means you won't be able to compile 
the git-changebar plugin but everything else should compile fine.

 

Jiri

 

On Tue, Oct 10, 2017 at 6:27 PM, <steve8tr...@yahoo.com 
<mailto:steve8tr...@yahoo.com> > wrote:

So I tried again with a clean directory after removing libgit2 from homebrew, 
but it appears geany-osx is intended to build with 10.13 and I’m using 10.12.6. 
 I’m still getting stuck on libgit2 somehow.

 

Here is what I’m seeing:

 

~/projects/geany/geany-osx master$ jhbuild -m geany.modules build geany-bundle
…

/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: warning: 
'futimens' is only available on macOS 10.13 or newer 
[-Wunguarded-availability-new]

        return futimens(f, s);

               ^~~~~~~~

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:373:5:
 note: 'futimens' has been explicitly marked partial here

int     futimens(int __fd, const struct timespec __times[2]) 
__API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));

        ^

/Users/sblatnick/gtk/source/libgit2-0.24.3/src/unix/posix.h:77:9: note: enclose 
'futimens' in a __builtin_available check to silence this warning

        return futimens(f, s);

               ^~~~~~~~

1 warning generated.

[100%] Linking C executable libgit2_clar

[100%] Built target libgit2_clar

make: *** [all] Error 2

*** Error during phase build of libgit2: ########## Error running make -j 9  
*** [14/26]

 

  [1] Rerun phase build

  [2] Ignore error and continue to install

  [3] Give up on module

  [4] Start shell

  [5] Reload configuration

  [6] Go to phase "wipe directory and start over"

choice: ^CInterrupted

 

These are my homebrew and macport packages currently installed:

 

~/projects/geany/geany-osx master$ brew list

adns            gdbm            gobject-introspection jq              libssh2   
           nettle               pango           readline

atk             gdk-pixbuf      graphite2       libassuan       libtasn1        
   nmap            pcre            ruby-build

autoconf        gettext              harfbuzz        libffi               
libtiff              npth            pinentry        shared-mime-info

cairo           glib            hicolor-icon-theme    libgcrypt       
libunistring          oniguruma       pixman               sqlite

colordiff       gmp             icu4c           libgpg-error         libusb     
          openssl              pkg-config      the_silver_searcher

fontconfig      gnupg           intltool        libksba              libxml2    
          openssl@1.1 <mailto:openssl@1.1>            python               wget

freetype        gnutls               jpeg            libpng               
mariadb              p11-kit              rbenv           xz

 

~/projects/geany/geany-osx master$ port installed

Warning: port definitions are more than two weeks old, consider updating them 
by running 'port selfupdate'.

The following ports are currently installed:

  at-spi2-atk @2.26.0_0 (active)

  at-spi2-core @2.26.0_0 (active)

  atk @2.26.0_0 (active)

  autoconf @2.69_5 (active)

  autoconf-archive @2017.03.21_0 (active)

  automake @1.15.1_0 (active)

  bzip2 @1.0.6_0 (active)

  cairo @1.14.10_0+quartz+x11 (active)

  db48 @4.8.30_4 (active)

  dbus @1.10.20_0 (active)

  expat @2.2.4_0 (active)

  fontconfig @2.12.5_0 (active)

  freetype @2.8_0 (active)

  gawk @4.1.4_3 (active)

  gdbm @1.13_3 (active)

  gdk-pixbuf2 @2.36.10_1+x11 (active)

  gettext @0.19.8.1_0 (active)

  glib2 @2.54.0_0+x11 (active)

  gnome-common @3.18.0_0 (active)

  gobject-introspection @1.54.0_0 (active)

  graphite2 @1.3.9_0 (active)

  harfbuzz @1.5.1_0 (active)

  hicolor-icon-theme @0.17_0 (active)

  intltool @0.51.0_3 (active)

  itstool @2.0.2_2 (active)

  jasper @2.0.14_0 (active)

  jpeg @9b_0 (active)

  libedit @20170329-3.1_1 (active)

  libepoxy @1.4.3_1+python36 (active)

  libffi @3.2.1_0 (active)

  libiconv @1.15_0 (active)

  libidn @1.33_0 (active)

  libpixman @0.34.0_0 (active)

  libpng @1.6.32_0 (active)

  libtool @2.4.6_3 (active)

  libxml2 @2.9.5_0 (active)

  libxslt @1.1.29_1 (active)

  mesa @17.1.6_0+osmesa+python27 (active)

  ncurses @6.0-20170916_0 (active)

  openssl @1.0.2l_0 (active)

  p5.24-encode-locale @1.50.0_0 (active)

  p5.24-file-listing @6.40.0_1 (active)

  p5.24-getopt-long @2.500.0_0 (active)

  p5.24-html-form @6.30.0_1 (active)

  p5.24-html-parser @3.720.0_0 (active)

  p5.24-html-tagset @3.200.0_4 (active)

  p5.24-http-cookies @6.40.0_0 (active)

  p5.24-http-daemon @6.10.0_1 (active)

  p5.24-http-date @6.20.0_1 (active)

  p5.24-http-message @6.130.0_0 (active)

  p5.24-http-negotiate @6.10.0_1 (active)

  p5.24-io-html @1.1.0_0 (active)

  p5.24-io-socket-ssl @2.51.0_0 (active)

  p5.24-libwww-perl @6.260.0_0 (active)

  p5.24-lwp-mediatypes @6.20.0_1 (active)

  p5.24-lwp-protocol-https @6.70.0_0 (active)

  p5.24-mozilla-ca @20160104_0 (active)

  p5.24-net-http @6.170.0_0 (active)

  p5.24-net-libidn @0.120.0_4 (active)

  p5.24-net-ssleay @1.810.0_0 (active)

  p5.24-pathtools @3.620.0_0 (active)

  p5.24-scalar-list-utils @1.490.0_0 (active)

  p5.24-sub-name @0.210.0_0 (active)

  p5.24-sub-uplevel @0.280.0_0 (active)

  p5.24-test-exception @0.430.0_0 (active)

  p5.24-test-nowarnings @1.40.0_1 (active)

  p5.24-test-warn @0.320.0_0 (active)

  p5.24-try-tiny @0.280.0_0 (active)

  p5.24-uri @1.720.0_0 (active)

  p5.24-www-robotrules @6.20.0_1 (active)

  p5.24-xml-parser @2.440.0_0 (active)

  pango @1.40.12_0+quartz+x11 (active)

  pcre @8.41_0 (active)

  perl5.24 @5.24.2_0 (active)

  pkgconfig @0.29.2_0 (active)

  py-libxml2 @2.9.5_0 (active)

  py27-beaker @1.8.1_0 (active)

  py27-libxml2 @2.9.5_0 (active)

  py27-mako @1.0.7_0 (active)

  py27-markupsafe @0.23_0 (active)

  py27-setuptools @36.5.0_0 (active)

  python2_select @0.0_2 (active)

  python27 @2.7.13_1 (active)

  python_select @0.3_7 (active)

  readline @7.0.003_1 (active)

  shared-mime-info @1.7_2 (active)

  sqlite3 @3.20.1_0 (active)

  tiff @4.0.8_0 (active)

  Xft2 @2.3.2_0 (active)

  xorg-compositeproto @0.4.2_0 (active)

  xorg-damageproto @1.2.1_0 (active)

  xorg-dri2proto @2.8_0 (active)

  xorg-fixesproto @5.0_0 (active)

  xorg-glproto @1.4.17_0 (active)

  xorg-inputproto @2.3.2_0 (active)

  xorg-kbproto @1.0.7_0 (active)

  xorg-libice @1.0.9_0 (active)

  xorg-libpthread-stubs @0.3_0 (active)

  xorg-libsm @1.2.2_0 (active)

  xorg-libX11 @1.6.5_0 (active)

  xorg-libXau @1.0.8_0 (active)

  xorg-libxcb @1.12_2+python27 (active)

  xorg-libXcomposite @0.4.4_0 (active)

  xorg-libXcursor @1.1.14_0 (active)

  xorg-libXdamage @1.1.4_0 (active)

  xorg-libXdmcp @1.1.2_0 (active)

  xorg-libXext @1.3.3_0 (active)

  xorg-libXfixes @5.0.3_0 (active)

  xorg-libXi @1.7.8_0 (active)

  xorg-libXinerama @1.1.3_0 (active)

  xorg-libXmu @1.1.2_0 (active)

  xorg-libXrandr @1.5.1_0 (active)

  xorg-libXt @1.1.5_1 (active)

  xorg-libXtst @1.2.3_0 (active)

  xorg-libXxf86vm @1.1.4_0 (active)

  xorg-randrproto @1.5.0_0 (active)

  xorg-recordproto @1.14.2_0 (active)

  xorg-renderproto @0.11.1_0 (active)

  xorg-xcb-proto @1.12_1+python27 (active)

  xorg-xcb-util @0.4.0_0 (active)

  xorg-xextproto @7.3.0_0 (active)

  xorg-xf86vidmodeproto @2.3.1_0 (active)

  xorg-xineramaproto @1.2.1_0 (active)

  xorg-xproto @7.0.31_0 (active)

  xrender @0.9.10_0 (active)

  xz @5.2.3_0 (active)

  zlib @1.2.11_0 (active)

 

Sorry for the inconvenience, but any suggestions?

 

Thanks,

 

Steve

 

From: Jiří Techet [mailto:tec...@gmail.com <mailto:tec...@gmail.com> ] 
Sent: Sunday, October 1, 2017 3:35 AM
To: Steven Blatnick <steve8tr...@yahoo.com <mailto:steve8tr...@yahoo.com> >
Cc: Geany development list <devel@lists.geany.org 
<mailto:devel@lists.geany.org> >


Subject: Re: [Geany-Devel] OSX plugin development

 

Hi Steve,

 

yeah, I meant a different login. 

 

Oh, you use MacPorts too. I had some problems with MacPorts and jhuild in the 
past so that definitely could be it as well.

 

Jiri

 

On Sun, Oct 1, 2017 at 6:56 AM, Steven Blatnick <steve8tr...@yahoo.com 
<mailto:steve8tr...@yahoo.com> > wrote:

Thanks again for the quick reply.

When you say to use a separate account, do you mean a different login to osx? 
I'm not sure I can do that since this is a laptop I was issued from work that I 
wish to use geany plugins on. I think my best bet is to uninstall any homebrew 
(and macport?) gtk libraries and try again. 

Sorry I made you repeat your initial advice. I should have mentioned I didn't 
think I could try another account. If removing homebrew and deleting the gtk 
directory don't fix it, I suppose using jhbuild python is my next best option 
from your original email.

Thanks,

Steve



-------- Original Message --------
From:Jiří Techet 
Sent:Sat, 30 Sep 2017 13:15:16 -0600
To:Geany development list 
Subject:Re: [Geany-Devel] OSX plugin development

Hi Steve,

 

I found this issue

 

https://gitlab.kitware.com/cmake/cmake/issues/17101

 

not sure if it's related.

 

In your case I suspect either some clash with Homebrew (in this case I 
recommend building in a separate account) or that you built part of the 
dependencies on previous macOS system and then upgraded to High Sierra where 
symbols in system libraries may differ. In this case I'd suggest deleting the 
whole gtk directory and starting over to make sure everything is built on the 
new system.

 

Jiri

 

 

 

On Sat, Sep 30, 2017 at 1:09 AM, <steve8tr...@yahoo.com 
<mailto:steve8tr...@yahoo.com> > wrote:

Ok, so I got through the dependencies (meta-gtk-osx-core), and ran:

 

export LC_ALL=en_US.UTF-8

export LANG=en_US.UTF-8

jhbuild -m geany.modules build geany-bundle

…

*** Building libgit2 *** [14/26]

make -j 9

[  0%] Linking C shared library libgit2.dylib

[ 79%] Built target libgit2_clar

dyld: lazy symbol binding failed: Symbol not found: _utimensat

  Referenced from: /Users/sblatnick/gtk/inst/bin/cmake

  Expected in: /usr/lib/libSystem.B.dylib

 

dyld: Symbol not found: _utimensat

  Referenced from: /Users/sblatnick/gtk/inst/bin/cmake

  Expected in: /usr/lib/libSystem.B.dylib

 

make[2]: *** [libgit2.dylib] Abort trap: 6

make[2]: *** Deleting file `libgit2.dylib'

make[1]: *** [CMakeFiles/git2.dir/all] Error 2

make: *** [all] Error 2

*** Error during phase build of libgit2: ########## Error running make -j 9  
*** [14/26]

 

  [1] Rerun phase build

  [2] Ignore error and continue to install

  [3] Give up on module

  [4] Start shell

  [5] Reload configuration

  [6] Go to phase "wipe directory and start over"

 

I’m not sure what is going wrong with building geany itself.

 

Thanks,

 

Steve

 

From: Devel [mailto:devel-boun...@lists.geany.org 
<mailto:devel-boun...@lists.geany.org> ] On Behalf Of Jirí Techet
Sent: Friday, September 22, 2017 3:02 AM
To: Geany development list <devel@lists.geany.org 
<mailto:devel@lists.geany.org> >
Subject: Re: [Geany-Devel] OSX plugin development

 

Hi Steve,

 

I slightly remember I got an error like this one in the past but I don't 
remember what exactly the problem was. Anyway, it's not good to mix 
dependencies from homebrew and jhbuild. If you have some environment variables 
set up to link against homebrew libraries, this is what could cause problems. I 
created a separate account on my machine from which I do the Geany build to be 
sure nothing like that is set up.

 

If you keep getting the error, you might also consider building python as part 
of the build process which is then used instead of the system python for the 
rest of the build. This means running

 

jhbuild bootstrap

jhbuild python

jhbuild build meta-gtk-osx-bootstrap

jhbuild build meta-gtk-osx-core

 

When doing a change like that, it's best to remove the gtk directory because it 
changes dependencies and basically everything has to be rebuilt.

 

Apart from that everything else should work as described here:

 

https://github.com/geany/geany-osx

 

When al the dependencies are built, you should be able to use the same stuff 
you use under linux for building your plugin. But be sure to run the build 
within a jhbuild shell - you need to run

 

jhbuild shell

 

which sets up the environment variables to use the dependencies built by 
jhbuild after you should be able to build your plugin in a normal way.

 

Let me know if you run into more problems.

 

Cheers,

 

Jiri

 

On Fri, Sep 22, 2017 at 12:00 AM, <steve8tr...@yahoo.com 
<mailto:steve8tr...@yahoo.com> > wrote:

I’m trying to build plugins in OSX, and I’m a bit out of my element.

 

(I’ve had problems with my yahoo email not getting through to this list, but I 
haven’t had a chance to switch email accounts.  I hope this makes it.)

 

I’m following the guide on https://github.com/geany/geany-osx

 

I get stuck running in step 6:

jhbuild build meta-gtk-osx-bootstrap
…

checking for python module libxml2... ./configure: line 2422: 83400 Done        
            echo "import $py_module"

     83401 Abort trap: 6           | python - >&/dev/null

not found

configure: error: Python module libxml2 is needed to run this package

*** Error during phase configure of itstool: ########## Error running 
.../configure --prefix /Users/steve/gtk/inst    *** [7/12]

 

  [1] Rerun phase configure

  [2] Ignore error and continue to build

  [3] Give up on module

  [4] Start shell

  [5] Reload configuration

  [6] Go to phase "wipe directory and start over"

  [7] Go to phase "clean"

  [8] Go to phase "distclean"

 

I’ve installed libxml2 via homebrew, and py-libxml2 and py27-libxml2 via 
macports to no avail.

 

I figured out how to build the .o file for one of my plugins:

 

gcc -c quick-search.c -fPIC -std=c99 -DGTK -I 
/Users/steve/projects/geany/geany/plugins/ -I 
/Users/steve/projects/geany/geany/src/ -I 
/Users/steve/projects/geany/geany/tagmanager/src/  -I 
/Users/steve/projects/geany/geany/scintilla/include/ `pkg-config --cflags 
glib-2.0` `pkg-config --cflags gtk+-2.0` -I 
/Users/steve/projects/geany/geany/scintilla/

 

But not the ......so file.

 

Thanks for any help,

 

Steve


_______________________________________________
Devel mailing list
Devel@lists.geany.org <mailto:Devel@lists.geany.org> 
https://lists.geany.org/cgi-bin/mailman/listinfo/devel

 


_______________________________________________
Devel mailing list
Devel@lists.geany.org <mailto:Devel@lists.geany.org> 
https://lists.geany.org/cgi-bin/mailman/listinfo/devel

 

 

 

 

 

 

 

_______________________________________________
Devel mailing list
Devel@lists.geany.org
https://lists.geany.org/cgi-bin/mailman/listinfo/devel

Reply via email to