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> 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> 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] >> *Sent:* Wednesday, October 11, 2017 2:27 PM >> >> *To:* Steven Blatnick <steve8tr...@yahoo.com> >> *Cc:* Geany development list <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> 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/g >> eany-plugins/blob/dev/quick-search/src/quick-search.c >> >> >> >> Thanks, >> >> >> >> Steve >> >> >> >> *From:* Jiří Techet [mailto:tec...@gmail.com] >> *Sent:* Wednesday, October 11, 2017 12:18 PM >> >> >> *To:* Steven Blatnick <steve8tr...@yahoo.com> >> *Cc:* Geany development list <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> 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] >> *Sent:* Tuesday, October 10, 2017 12:12 PM >> >> *To:* Steven Blatnick <steve8tr...@yahoo.com> >> *Cc:* Geany development list <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> 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 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] >> *Sent:* Sunday, October 1, 2017 3:35 AM >> *To:* Steven Blatnick <steve8tr...@yahoo.com> >> *Cc:* Geany development list <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> >> 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> 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] *On Behalf Of *Jirí >> Techet >> *Sent:* Friday, September 22, 2017 3:02 AM >> *To:* Geany development list <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> 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 >> 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 >> >> >> >> >> >> >> >> >> >> >> > >
_______________________________________________ Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel