Re: [gtk-osx-devel] Problems with gtk-osx-setup.sh - M1

2022-02-15 Thread John Ralls
Ah, got it. Fix pushed. Thanks.
I also finally figured out the cause of "pyenv: pip: command not found" and 
pushed a fix for that too.

BTW, I don't see ~/.pythonversion. Are you sure that's from pyenv?

Regards,
John Ralls


> On Feb 15, 2022, at 2:08 PM, Spock  wrote:
> 
> Sorry - I did not explain myself well enough there John.
> 
> I guess the issue that I’m pointing out is that gtk-osx-setup.sh writes the 
> jhbuild script but writes an absolute path for $PATH to be set to rather than 
> escaping so that $PATH is read from the environment when running jhbuild.
> 
> In the code snip from gtk-osx-setup.sh below the second $PATH should be 
> escaped to be ‘\$PATH’ (as shown). Without this, it means that PATH only gets 
> set correctly if the environment $PATH when calling  gtk-osx-setup.sh 
> contains something like “~/.new_local/bin”.
> 
> — snip ---
> cat < “$DEVPREFIX/bin/jhbuild"
> #!$DEVPREFIX/bin/bash
> ...
> export PATH="$PYENV_ROOT/shims:$PATH”  <<<<<<<- Should be …/shims:\$PATH
> ...
> exec $DEVPREFIX/bin/pipenv run jhbuild \$@
> EOF
> — snip ---
> 
> This explains why people with fresh machines or fresh usernames end up with 
> the build failing.
> 
> So the either the instructions need to say “Set your PATH to include 
> ~/.new_local/bin before invoking  gtk-osx-setup.sh” or the script needs to be 
> fixed to include the line:
> 
> —snip—
> export PATH="$PYENV_ROOT/shims:$PATH”
> —snip --
> 
> Once I make this change, I can build a lot more of the "jhbuild build 
> meta-gtk-osx-bootstrap meta-gtk-osx-gtk3“ stage.
> It still fails, btw, but I need to diagnose why and or ask some more 
> questions!
> 
> 
> Hope this makes sense and is helpful?
> 
> Regards
> Paul
> 
> 
> 
>> On 15 Feb 2022, at 18:52, john  wrote:
>> 
>> Well, it's been a requirement since forever that you put $DEVPREFIX/bin in 
>> your path before invoking jhbuild, but I suppose there's no harm in also 
>> adding it with jhbuild to prevent path pollution. I hadn't noticed 
>> ~/.pythonversion. That's rude of them, I'll look for a way to bury that 
>> somewhere so that it doesn't affect other stuff.
>> 
>> Regards,
>> John Ralls
>> 
>>> On Feb 15, 2022, at 5:26 AM, Spock  wrote:
>>> 
>>> Hi John,
>>> 
>>> I guess the issue with the $PYENV local 23.10.0 is that it causes 
>>> ~/.pythonversion to be created - which may or may not be a permanent change 
>>> a developer might want?
>>> 
>>> The more serious issue is with meson not finding ninja. I think this is 
>>> down to jhbuild not having ~/.new_local/bin in its path.
>>> 
>>> Here’s an example:
>>> 
>>> — snip —
>>> 
>>> j@pauls-mbp ~ [nobrew] % echo $PATH
>>> /Users/j/.new_local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Users/j/.cargo/bin
>>> j@pauls-mbp ~ [nobrew] % jhbuild shell
>>> Loading .env environment variables...
>>> Found Command Line Tools 'version: 13.2.0.0.1.1638488800'
>>> Command Line Tools version 13.20
>>> Prefix: /Users/j/gtk/inst
>>> Entered jhbuild shell, type 'exit' to return.
>>> j@pauls-mbp ~ % jhbuild
>>> zsh: command not found: jhbuild
>>> j@pauls-mbp ~ %
>>> 
>>> — snip —
>>> 
>>> I think this means that the jhbuild configuration installed by 
>>> gtk-osx-setup.sh does not set up jhbuild so that it uses the binaries that 
>>> have been installed?
>>> 
>>> I’m not sure if the issue is with jhbuild or gtk-osx-setup.sh - but I guess 
>>> it’s right to start in this list before looking at what might be wrong (if 
>>> anything) with jhbuild?
>>> 
>>> Regards
>>> Paul Rogers
>>> 
>>>> On 15 Feb 2022, at 01:55, John Ralls  wrote:
>>>> 
>>>> 
>>>> 
>>>>> On Feb 14, 2022, at 10:03 AM, Spock  wrote:
>>>>> 
>>>>> Hi, I’m running gtk-osx-setup.sh on an M1 Mac/MacOS 12.2 and am having a 
>>>>> couple of problems ...
>>>>> 
>>>>> First off, I’m running without any homebrew paths in any of the 
>>>>> environment variables.
>>>>> 
>>>>> Now, with this shell, when I run the script, I get the following:
>>>>> 
>>>>> — snip 
>>>>> pyenv: pip: command not found
>>>>> 
>>>>> The `pip' command exists in these Python versions:
>>>>> 3.10.0

Re: [gtk-osx-devel] Problems with gtk-osx-setup.sh - M1

2022-02-14 Thread John Ralls


> On Feb 14, 2022, at 10:03 AM, Spock  wrote:
> 
> Hi, I’m running gtk-osx-setup.sh on an M1 Mac/MacOS 12.2 and am having a 
> couple of problems ...
> 
> First off, I’m running without any homebrew paths in any of the environment 
> variables.
> 
> Now, with this shell, when I run the script, I get the following:
> 
> — snip 
> pyenv: pip: command not found
> 
> The `pip' command exists in these Python versions:
>  3.10.0
> 
> Note: See 'pyenv help global' for tips on allowing both
>  python2 and python3 to be found.
> pyenv: pip: command not found
> 
> The `pip' command exists in these Python versions:
>  3.10.0
> 
> Note: See 'pyenv help global' for tips on allowing both
>  python2 and python3 to be found.
> —- snip ---
> 
> So I add a line to the script to allow it to find python:
> 
> — snip —
> PIP=“$PYENV_ROOT/shims/pip”
> # Point pyenv at the 3.10.0 Python ...
> $PYENV local 3.10.0
> $PIP install --upgrade --user pip
> — snip ---
> 
> With this line, I remove the artefacts from the previous build and re-run. 
> This time the script completes, so I move on to “./.new_local/bin/jhbuild 
> bootstrap-gtk-osx which appears to complete successfully.
> 
> *** Was this the right thing to do?
> 
> The final step “jhbuild meta-gtk-osx-bootstrap meta-gtk-osx-gtk3 fails due to 
> problems finding a version of ninja …
> 
> — snip ---
> gtk-doc 1.33.1
> 
>  User defined options
>libdir : lib
>prefix : /Users/j/gtk/inst
>wrap_mode  : nofallback
>tests  : false
>yelp_manual: false
> 
> 
> ERROR: Could not detect Ninja v1.8.2 or newer
> — snip ---
> 
> I checked the version installed by the script …
> 
> — snip ---
> j@pauls-mbp ~ [nobrew] % ./.new_local/bin/ninja —version
> 1.10.2
> — snip ---
> 
> *** So what is happening with ninja? Is there a setup step I’m missing?
> 
> Any help much appreciated!

Your fix for pip seems reasonable. Did you remember to add ~/.new_local/bin to 
$PATH?

Regards,
John Ralls


___
gtk-osx-devel-list mailing list
gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


[gtk-osx-devel] Python3 and jhbuild

2020-08-17 Thread John Ralls
I learned a couple of weeks ago that sometime in the last 9 months or so 
jhbuild had grown the ability to use python3 and that as of a month ago it's 
required on master. As a temporary workaround I froze checkouts to the last 
release (mid-March).

Temporary time is over and I'm about to push changes to jhbuildrc-gtk-osx and 
gtk-osx-setup.sh that will run jhbuild with the venv's python3 instead of 
/usr/bin/python and I"ll remove the freeze on the jhbuild version. That won't 
affect existing installations unless you run gtk-osx-setup.sh to replace 
~/.config/jhbuildrc. If you do be sure to also remove 
$DEVPREFIX/libexec/jhbuild.py so that it gets restored with the python3 
changes. This has the salutary side effect of fixing the broken distutils build 
module.

The basic example jhbuildrc-custom doesn't need any changes, but if you have a 
more sophisticated one you might want to run 2to3 on it. The 2to3 shipped with 
Catalina is from 2.7 (and named /usr/bin/2to3-) so you might prefer to use the 
one in the venv:
   PYENV_ROOT=$HOME/.local/share/pyenv pipenv run 2to3 ~/.config/jhbuildrc-

Some other changes coming shortly: It's time to bump the minimum macOS version 
again, to 10.11 El Capitan. The only place this is enforced is 
jhbuildrc-gtk-osx, so it's easy enough to change if you want to keep working on 
an older version.

I've got an Apple Hardware Developer Transition Kit and have been testing. I'm 
happy to report that everything works so far and that I've already pushed some 
changes to jhbuildrc-gtk-osx that support the new architecture. For those of 
you who've been around long enough to remember ppc and universal builds, 
they're back. I've no idea if gtk-osx can build one.

Regards,
John Ralls

___
gtk-osx-devel-list mailing list
gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: [gtk-osx-devel] stability problems with gsequencer

2020-07-05 Thread John Ralls


> On Jul 5, 2020, at 3:49 AM, Joël Krähemann via gtk-osx-devel-list 
>  wrote:
> 
> hi all,
> 
> Recently, I encountered stability problems on Apple OS X, especially
> since MacOS 10.15. Prior versions worked perfect for me.
> 
> Can you share your expertise with me? Do you have the same problems?
> 
> My application `gsequencer` crashes often when adding ladspa cmt
> plugin "feedback delay line (maximum delay 0,1s)" or related.
> 
> I have attached a log file of crash.
> 
> You can download the application from:
> 
> https://sourceforge.net/projects/ags/
> https://www.pling.com/p/1290114/
> 
> From my experience I would say there is somewhere an integer overflow
> or alike ...
> What can tool you recommend me to debug?
 
I have no idea what you're talking about, but I don't think that it has 
anything to do with gtk-osx or gtk-mac-integration. Try asking on Gnome 
discourse (https://discourse.gnome.org/).

Regards,
John Ralls

___
gtk-osx-devel-list mailing list
gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: [gtk-osx-devel] Broken link in site

2019-05-28 Thread John Ralls



> On May 28, 2019, at 12:29 PM, Stefanos Mitropoulos via gtk-osx-devel-list 
>  wrote:
> 
> Hello 
> 
> I just wanted to let you know that the link for gtk-osx-build-setup.sh 
> (https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/gtk-osx-build-setup.sh) 
> returns 404

Yes, it's been replaced with 
https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/gtk-osx-setup.sh. If you 
found it via https://wiki.gnome.org/Projects/GTK/OSX/Building I just updated 
it. If you found it somewhere else, where?

Regards,
John Ralls

___
gtk-osx-devel-list mailing list
gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: [gtk-osx-devel] Building GTK3 on OSX

2019-05-22 Thread John Ralls



> On May 22, 2019, at 3:10 PM, Matthew Allen via gtk-osx-devel-list 
>  wrote:
> 
> I've got the boot strap now working.
> 
> The next issue is that when running:
> jhbuild build python meta-gtk-osx-bootstrap meta-gtk-osx-gtk3
> I get:
> configure: error: Python module libxml2 is needed to run this package.
> 
> Looking for that with find it seems to be there:
> ./gtk/inst/lib/python3.6/site-packages/libxml2mod.so
> ./gtk/inst/lib/python3.6/site-packages/libxml2mod.a
> ./gtk/inst/lib/python3.6/site-packages/libxml2.py
> ./gtk/inst/lib/python3.6/site-packages/drv_libxml2.py
> ./gtk/inst/lib/libxml2.dylib
> 
> Not sure why it can't find it. Its in the context of configuring itstool.
> 
> Is this a known issue?

That's from itstool, right?

Drop to a shell and make sure that /inst/lib/python3.6/site-packages is 
in PYTHONPATH and that `which python` points to the one in the virtenv.

Regards,
John Ralls
___
gtk-osx-devel-list mailing list
gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: [gtk-osx-devel] Gtk OSX build not working for me

2019-05-21 Thread John Ralls


> On May 21, 2019, at 4:21 AM, Matthew Allen via gtk-osx-devel-list 
>  wrote:
> 
> I'm trying to follow the build guide here:
> https://wiki.gnome.org/action/show/Projects/GTK/OSX/Building
> 
> But it seems to be broken. Firstly the download link to 
> 'gtk-osx-build-setup.sh' is broken. Not a good omen. I'm assuming that maybe 
> that file is here instead?
> https://gitlab.gnome.org/GNOME/gtk-osx/blob/master/gtk-osx-setup.sh
> 
> Anyway I tried running that and it eventually worked. The next command is:
> jhbuild bootstrap
> 
> And that gets as far as:
> (build) bash-3.2$ jhbuild bootstrap
> Loading .env environment variables…
> *** Checking out m4 *** [1/29]
> jhbuild bootstrap: failed to unpack 
> /Users/build/gtk/source/pkgs/m4-1.4.18.tar.xz
> 
> I did previously add some paths to my profile:
> export 
> PATH=/Users/build/.new_local/share/pyenv/versions/3.6.8/bin:/Users/build/.new_local/bin:$PATH
> 
> And I've checked that my python version is actually 3.6.8. The system python 
> is 2.7.
> 
> Running from a new user account. I do have macports on my main account, but 
> none of those paths are available on the build account.
> 
> I wish I could just download a complete pre-built version of Gtk3 for mac.

Sorry, I'm delinquent in updating the wiki page. The current build instructions 
are in the README at https://gitlab.gnome.org/GNOME/gtk-osx underneath the file 
listing.

One major change is that you should run `jhbuild bootstrap-gtk-osx` instead of 
`jhbuild bootstrap`. 

Regards,
John Ralls

___
gtk-osx-devel-list mailing list
gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Quartz Coordinates

2018-11-20 Thread John Ralls
I’m working on GdkQuartz to bring it up to date with the rest of Gdk. I’m 
starting with GdkDisplay and GdkMonitor mostly because of 
https://gitlab.gnome.org/GNOME/gtk/issues/1312 
<https://gitlab.gnome.org/GNOME/gtk/issues/1312>. This question may also bear 
upon https://gitlab.gnome.org/GNOME/gtk/issues/1029 
<https://gitlab.gnome.org/GNOME/gtk/issues/1029> as well as other pointer 
coordinate issues some users have reported on downstream applications.

Under the old GdkScreen regime Gdk had a “root window” with 0,0 in the upper 
left corner of the upper-left-most monitor and all point values are unsigned, 
increasing down and to the right. Quartz uses a different coordinate system 
with the origin at the bottom-left corner of the “primary” monitor with point 
values increasing up and to the right. Monitors placed below or to the left of 
the “primary” monitor will have negative coordinates. gdkscreen-quartz and 
gdkwindow-quartz have conversion code to create a fake root window and to 
translate between the two coordinate systems.

The new GdkDisplay/GdkMonitor regime does away with the root window and 
introduces gdk_display_get_monitor_at_point and 
gdk_display_get_monitor_at_window that iterate over the list of active monitors 
testing for whether the coordinates of the point or window lie inside each 
monitor’s work area. That’s great, it’s similar to the way Quartz works... but 
are there any assumptions made about coordinates that need translation between 
Gdk and Quartz?

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [gtk-osx-devel] gtk-quartz-engine removed from gtk-osx-themes.modules

2018-09-12 Thread John Ralls


> On Sep 12, 2018, at 3:14 AM, Calum Lind via Gtk-osx-devel-list 
>  wrote:
> 
> I am following somewhat older instructions to package a pygtk
> application for macos and found that `gtk-quartz-engine` has been
> removed from gtk-osx-themes.modules last year but there appear to be
> no details as to why though:
> 
> https://gitlab.gnome.org/GNOME/gtk-osx/commit/eef92a1d23e08b4fb07b35c5f1e8c462798aef62#cb231ea9df6ccb1f59163579b4c65ae85c30e644_121_121
>  
> <https://gitlab.gnome.org/GNOME/gtk-osx/commit/eef92a1d23e08b4fb07b35c5f1e8c462798aef62#cb231ea9df6ccb1f59163579b4c65ae85c30e644_121_121>

Because it never really worked and hadn’t been maintained for many years. There 
are several Clearlooks themes that gave a reasonable approximation of Mac UI 
elements and were more or less stable, but Clearlooks hasn’t been maintained 
much lately either.

Regards,
John Ralls


___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


[gtk-osx-devel] Revised build system

2018-08-04 Thread John Ralls
I’ve got a working Pyenv/Pipenv build wrapper and I’ve pushed it to 
https://github.com/jralls/gtk-osx-build 
<https://github.com/jralls/gtk-osx-build> in branch “pipenv”. So far I’ve just 
tested through building meta-gtk-osx-gtk3 and meta-gtk-osx-themes. There’s a 
new Readme.md there with configuration details, but one can just checkout the 
branch and run `new-setup.sh` to take the defaults, which keep everything in 
your home directory. You’ll want to rename ~/.local/bin/jhbuild because 
new-setup.sh will overwrite it with a new one that starts a virtual environment.

It mostly works, though there are a few issues that I haven’t yet figured out 
how to fix automatically, largely because I don’t have a solid handle on meson 
yet:

The first problem has nothing to do with meson, it’s the long standing bug in 
Python that adds ‘-Wl,-stack_size, 100’ to LINKFORSHARED even though that 
argument is only for executables. The workaround is still to edit 
$PYENV_ROOT/versions/3.6.6/lib/python3.6/_sysconfigdata_m_darwin_darwin.py and 
remove the argument.

Next, Pango’s meson.build sets a bogus '-framework CoreFoundation 
ApplicationServices’ on the end of the g-ir-introspection args. Drop to the 
shell and edit pango/meson.build  around line 144 to remove it from “extra 
args”.

Finally, gdk-pixbuf doesn’t set -module on the loaders build and so builds them 
with .dylib instead of .so, and then gdk-pixbuf-query-loaders can’t find them. 
That breaks the Gtk3 build, so rename them and run `gdk-pixbuf-query-loaders 
--update-cache` to fix it.

So give it a try on your favorite builds. Tell me about any problems and if you 
come up with better fixes for the problems above tell me about them too.

Regards,
John Ralls


___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


[gtk-osx-devel] Gtk-mac-integration-2.1.2 Released

2018-05-28 Thread John Ralls
I discovered to my chagrin that I'd left src/gettext.h out of the 2.1.1 dist 
tarball and so it wouldn't build. While I was back at it I decided to clean up 
some compiler warnings as well.

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: g_stat() In src/glade3-3.8.5/gladeui/glade-utils.c At Line 1865 Causes SIGSEGV in strlen () from C:\Windows\System32\msvcrt.dll When Saving File

2018-05-22 Thread John Ralls


> On May 22, 2018, at 7:27 AM, LRN <lrn1...@gmail.com> wrote:
> 
> On 22.05.2018 15:02, gtk-devel-l...@talkvideo.net wrote:
>> When running: /mingw64/bin/glade-3.exe
>> 
>> And I try to save a file, after selecting or entering a filename, and 
>> clicking Save in the File Chooser Dialog, the program crashes, (segfaults), 
>> and the file size is zero.
> 
> I can reproduce this crash. Will look into it soon.

You’ll want to start with glib/gstdio.c, particularly 
https://gitlab.gnome.org/GNOME/glib/commit/53bd6a359f2c48e7729f89902097c892c8aa6fea
 
<https://gitlab.gnome.org/GNOME/glib/commit/53bd6a359f2c48e7729f89902097c892c8aa6fea>
 and following. See also https://bugzilla.gnome.org/show_bug.cgi?id=795153 
<https://bugzilla.gnome.org/show_bug.cgi?id=795153>.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [gtk-osx-devel] making gtk applications accessible with VoiceOver

2018-05-19 Thread John Ralls


> On May 19, 2018, at 10:03 AM, Eric Le Lay <kerik...@users.sourceforge.net> 
> wrote:
> 
> Hi,
> 
> does anybody know if there has been attempts at bridging ATK to
> VoiceOver for screen reading the contents of Gtk apps on macOS (at
> least with the Quartz backend)?
> I couldn't find any ticket about it on gitlab.gnome.org.

ISTR some discussion about that several years ago. Try searching the list 
archives for gtk-de...@lists.gnome.org.

You might also search bugzilla.gnome.org. Most bugs that hadn't had any 
activity in the last few months were closed as obsolete and not transferred.

Regards,
John Ralls
___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: GitLab CI runners for non-Linux systems

2018-05-19 Thread John Ralls


> On May 19, 2018, at 5:55 AM, xclae...@gmail.com wrote:
> 
> Le vendredi 18 mai 2018 à 23:38 -0400, philip.chime...@gmail.com a
> écrit :
>> On Fri, May 18, 2018 at 10:15 PM <xclae...@gmail.com> wrote:
>>> Le vendredi 18 mai 2018 à 10:52 +0100, Philip Withnall a écrit :
>>>> • macOS (ideally several versions, since we support from OS X
>>> 10.7
>>>> upwards[2])
>>> 
>>> I did a quick test on a macmini (macOS 10.13.4) we have in
>>> Collabora
>>> office, and it's almost too easy to setup, not even a challenge!
>>> 
>>> Well... except that glib fails to build with meson because libffi
>>> subproject does not support darwin. I'll try to investigate that.
>> 
>> I've been building http://mirrors.kernel.org/sources.redhat.com/libff
>> i/libffi-3.2.1.tar.gz on macOS with no problems since at least 10.9.
>> I think maybe just the meson fork (https://github.com/centricular/lib
>> ffi/commits/meson) of libffi has this problem.
>> 
>> You could try pre-installing libffi from the tarball on the image,
>> then it wouldn't use the wrapped subproject, I think?
> 
> "brew install libffi" did the trick, I've got a working CI for macos
> \o/
> 
> Well... now...
> 
> FAILED: glib/glib@@glib-2.0@sha/gatomic.c.o 
> cc -Iglib/glib@@glib-2.0@sha -Iglib -I../glib -I. -I../ 
> -I/usr/local/Cellar/pcre/8.42/include -Xclang -fcolor-diagnostics -pipe -Wall 
> -Winvalid-pch -Werror -std=gnu89 -O0 -g -D_GNU_SOURCE -fno-strict-aliasing 
> -DG_ENABLE_DEBUG -Wall -Wstrict-prototypes 
> -Werror=declaration-after-statement -Werror=format=2 -Werror=format-security 
> -Werror=implicit-function-declaration -Werror=init-self 
> -Werror=missing-include-dirs -Werror=missing-prototypes -Werror=pointer-arith 
> -pthread '-DG_LOG_DOMAIN="GLib"' -DGLIB_COMPILATION -fvisibility=hidden  -MD 
> -MQ 'glib/glib@@glib-2.0@sha/gatomic.c.o' -MF 
> 'glib/glib@@glib-2.0@sha/gatomic.c.o.d' -o 
> 'glib/glib@@glib-2.0@sha/gatomic.c.o' -c ../glib/gatomic.c
> ../glib/gatomic.c:399:10: error: incompatible integer to pointer conversion 
> passing 'gssize' (aka 'long') to parameter of type 'gpointer' (aka 'void *') 
> [-Werror,-Wint-conversion]
>  return g_atomic_pointer_add ((volatile gpointer *) atomic, val);
> ^~~~
> ../glib/gatomic.h:227:46: note: expanded from macro 'g_atomic_pointer_add'
>(gssize) __sync_fetch_and_add ((atomic), (val)); \

That conversion is so integral to Glib and Gobject that there are macros for 
it: https://developer.gnome.org/glib/stable/glib-Type-Conversion-Macros.html 
<https://developer.gnome.org/glib/stable/glib-Type-Conversion-Macros.html>.

You’ll just have to set -Wno-int-conversion in CFLAGS.

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Devmapper insufficient thin pool free data blocks.

2018-05-10 Thread John Ralls
I just pushed a very small MacOS change 
(https://gitlab.gnome.org/GNOME/gtk/commit/828f634d5c08b9c39626dd1512ec7a1af4800f3d)
 and got a CI failure (https://gitlab.gnome.org/GNOME/gtk/-/jobs/31820).

I compared that with the previous push to gtk-3-22, which passed. The failing 
log begins:
"Running with gitlab-runner 10.7.0 (7c273476)
  on progress.gnome.org f23948e6
Using Docker executor with image 
registry.gitlab.gnome.org/gnome/gtk/gtk-3-22:v2 ...
ERROR: Preparation failed: Error response from daemon: devmapper: Thin Pool has 
155512 free data blocks which is less than minimum required 163840 free data 
blocks. Create more free space in thin pool or use dm.min_free_space option to 
change behavior"

While the passing one begins:
"Running with gitlab-runner 10.7.1 (b9bba623)
  on jenkins.gnome.org 9b338874
Using Docker executor with image 
registry.gitlab.gnome.org/gnome/gtk/gtk-3-22:v2 ...
Pulling docker image registry.gitlab.gnome.org/gnome/gtk/gtk-3-22:v2 ..."

So a different gitlab-runner version on a different host. Is that the root of 
the problem? Is there anything I can do about it?

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [gtk-osx-devel] python3 modules

2018-01-06 Thread John Ralls


> On Jan 6, 2018, at 4:48 AM, Antoine Martin <anto...@nagafix.co.uk> wrote:
> 
> Hi,
> 
> The xpra project is finally trying to migrate from GTK2 to GTK3, and
> also making the jump to Python 3 whilst we're at it.
> We have a fairly large number of python module dependencies for which we
> have created a moduleset:
> http://xpra.org/trac/browser/xpra/trunk/osx/jhbuild/xpra-python.modules
> 
> What is the recommended way to build the same module for both python2
> and python3?
> I was hoping to minimize the moduleset duplication, but the python3
> version needs to depend on "python3" so they need a different XML node.
> Unless we can just remove the python dependency altogether and always
> ensure it is built early?
> 
> Then I was hoping to use the distutils "python3" attribute to avoid
> having to mess with symlinks from python to python3, but that didn't
> seem to have the desired effect. Am I missing something?
> 
> Another problem with building them twice is that jhbuild will keep the
> existing checkout directory since the path is the same, and the source
> doesn't get cleaned automatically so it seems quite easy to get things
> messed up.
> 
> Are there any better solutions?
> 
> 
> BTW, I believe there's a mistake on the home page:
> https://wiki.gnome.org/Projects/GTK+/OSX/Building
> It should say:
> ln -sf python3-config python-config
> Instead of:
> ln -sf python3-config python

You can set up the dependencies to build for *either* Py2 or Py3 by putting 
both in an  block instead of a  block. The caveat is that 
you must then include one or the other in the list of modules to build, either 
directly or indirectly via a meta-module.

For a module to be built for both, put both in the dependencies. In that case 
the underlying project must be written to work with two versions of python at 
once. That’s easy for a cmake, meson, or autotools project but is beyond the 
abilities of waf and distutils.

No, you’re not missing anything about the distutils python3 attribute, but 
unfortunately a couple of projects are: They insist on using the python and 
python-config symlinks regardless of what we tell distutils or set in the 
environment.

Jhbuild always builds clean if you build out-of-tree (set ‘buildroot in your 
jhbuildrc-custom)’ , but some projects do dumb things in their build system 
that makes it not work. In those cases you can pass --clean to jhbuild on the 
command line or setting “makeclean” in your jhbuildrc-custom. I recommend that 
you build out-of-tree as much as possible. Set 
supports-out-of-tree-builds=“false” in any modules where the underlying project 
requires building in source.

You’re right about the wiki page. Fixed, thanks.

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: [gtk-osx-devel] [PATCH] Update location of gstreamer and plugins

2017-10-24 Thread John Ralls
Don’t send patches to the list. File a bug with the patch attached or make a 
Github PR.
Patches attached to bug reports should be created from a git commit using git 
format-patch.

Regards,
John Ralls


> On Oct 23, 2017, at 9:09 PM, Matthew Francis <mjay.fran...@gmail.com> wrote:
> 
> ---
> modulesets-stable/gtk-osx-gstreamer.modules | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/modulesets-stable/gtk-osx-gstreamer.modules 
> b/modulesets-stable/gtk-osx-gstreamer.modules
> index 693eb01..02eef52 100644
> --- a/modulesets-stable/gtk-osx-gstreamer.modules
> +++ b/modulesets-stable/gtk-osx-gstreamer.modules
> @@ -24,7 +24,7 @@
> 
>supports-non-srcdir-builds="no"
> makeargs="ERROR_CFLAGS=" autogen-sh="configure">
> - + 
> hash="sha256:50c2f5af50a6cc6c0a3f3ed43bdd8b5e2bff00bacfb766d4be139ec06d8b5218">
> 
> 
> @@ -34,7 +34,7 @@
> 
>makeargs="ERROR_CFLAGS=" autogen-sh="configure">
> - + version="1.10.4"
> 
> hash="sha256:f6d245b6b3d4cb733f81ebb021074c525ece83db0c10e932794b339b8d935eb7"/>
> 
> @@ -47,7 +47,7 @@
> 
>makeargs="ERROR_CFLAGS=" autogen-sh="configure">
> - + version="1.10.4"
> 
> hash="sha256:8a86c61434a8c44665365bd0b3557a040937d1f44bf69caee4e9ea816ce74d7e"/>
> 
> -- 
> 2.7.4
> 
> ___
> Gtk-osx-devel-list mailing list
> Gtk-osx-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: [gtk-osx-devel] Unable to build pygobject with latest updates.

2017-09-19 Thread John Ralls


> On Sep 18, 2017, at 11:47 AM, Stephen Gauthier <co...@eveny.net> wrote:
> 
> When running "jhbuild build meta-gtk-osx-python" I get this failure from 
> pygobject.
> 
> unix.override:27:10: fatal error: 'gio/gdesktopappinfo.h' file not found
> 
> I found a related open bug over at macports which leads me to believe it is 
> because of newer versions of glib.
> https://trac.macports.org/ticket/53911
> 
> Any help is appreciated.

What moduleset are you building? I just did a build of modulesets-stable and 
didn’t encounter that.

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


[gtk-osx-devel] Removal of support for obsolete MacOS X Versions and global module update.

2017-04-29 Thread John Ralls
I've completed the removal of support for versions of MacOS X earlier than 10.8 
from gtk-osx. If you still need to build for 10.4u or 10.5, or on 10.4-10.7, 
I've tagged the last commit that supports that with "Last-Lion" to make it easy 
to have a jhbuildrc and modulesets to support your needs.

I've also gone through all of the modulesets and updated everything. I've 
tested most of the modules with macosx-version-min=10.9 on Sierra with Xcode 
8.3. I set up an ElCap test machine with command-line tools and noted a few 
problems, so I'll have a follow-on commit to get that working in a day or two.

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


MacOS Text Scaling

2017-04-28 Thread John Ralls

> On Apr 27, 2017, at 3:58 PM, Emmanuele Bassi <eba...@gmail.com> wrote:
> 
> On 27 April 2017 at 22:56, Brion Vibber <br...@pobox.com> wrote:
>> GTK+3 added native support for user interface scaling to support HiDPI
>> displays with consistently sized resources and widgets, with the limitation
>> that the scaling factor is an integer (1x, 2x, 3x...)
> 
> It's not really a "limitation": it's purposefully designed that way,
> for windowing system surfaces and graphical assets. Font sizes support
> fractional values, and have been doing so for a long while (since the
> GTK+ 2.x days)
> 
> In general, the toolkit has no code to detect scaling factors at all,
> and it relies on the system to convey meaning to those values.


This might be a bit of a digression, sorry.

Gdk has several scaling-dependent functions:  
gdk_screen_(set|get)_resolution(), gdk_monitor_get_scale_factor, and 
gdk_(screen|monitor)_get_(height|width)_mm()
and I'm trying to figure out how to get the right behavior on MacOS HiDPI (aka 
retina) monitors. A couple of weeks ago I replaced an obsolete function 
([NSScreen userSpaceScaleFactor]) [1] with a more-correct implementation that 
effectively does what it's supposed to, return 144dpi for retina and 72 for 
normal. Doing so causes the font-size to double; i.e. a 12-point font displays 
at 24-points.

I suspect that's because Pango calls gdk_screen_get_resolution(), but it also 
uses Apple's CoreText for rendering and layout on MacOS and I suspect that 
CoreText is already compensating for the retina screen, resulting in the 
doubled font scaling. Does that make sense? Is the correct solution to have 
Pango ignore resolution on MacOS or to always set GdkScreen resolution to 72? 
If the latter, what about the other functions that use scaling information and 
how to communicate to applications that they need to use larger icons and such?

Regards,
John Ralls

[1] https://bugzilla.gnome.org/show_bug.cgi?id=765883 
<https://bugzilla.gnome.org/show_bug.cgi?id=765883>
[2] https://bugzilla.gnome.org/show_bug.cgi?id=781118 
<https://bugzilla.gnome.org/show_bug.cgi?id=781118>

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [gtk-osx-devel] Native look and feel via GTK+ CSS

2017-01-16 Thread John Ralls

> On Jan 16, 2017, at 1:25 AM, Марко М. Костић <marko.m.kos...@gmail.com> wrote:
> 
> GTK+3 Python3 programs with headerbars  look out of place on macOS Sierra.
> 
> I thought about using new GTK+ CSS system for styling them to look more like 
> other
> native macOS programs.
> 
> Is this a good idea?
> Anybody else did anything similar already?

What do you mean by "headerbars"?

Yes, it's been done. Google for "gtk3 themes mac".

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: Reinstate support for OS X versions older than 10.9

2015-09-22 Thread John Ralls

> On Sep 22, 2015, at 3:47 PM, Ryan Schmidt <g...@ryandesign.com> wrote:
> 
> Hello, I'm the maintainer of glib2 in the MacPorts package management system.
> 
> glib 2.46.0 was recently released, and attempting to configure it produces 
> this error:
> 
> checking OSX version >= 10.9.0... no
> configure: error: OSX version is too old!
> 
> glib 2.45.2 and earlier worked fine on older versions of OS X, but 2.45.3 and 
> later claim to require 10.9.
> 
> My understanding is that the implementation of GNotification support for OS X 
> [1] necessitated this increase in minimum OS version. But this huge jump in 
> minimum OS version makes glib unusable on hundreds of older Mac models [2] 
> that cannot be upgraded to OS X 10.9 that were previously able to use glib. I 
> urge you to reconsider this action and reinstate support for older versions 
> of OS X by making the GNotification support optional. Clearly, since 
> GNotification support was just added, no existing apps that used glib and 
> that already worked on OS X can have required this functionality.
> 
> I originally expressed this concern in the issue tracker [1] but was advised 
> to bring it up on the mailing list for discussion instead.
> 
> In response to my comment in that ticket, doubt was expressed as to the 
> usability of glib on older systems, even prior to this. I can at least tell 
> you that Graphviz, which uses glib, worked fine all the way back to OS X 
> 10.4, which is the earliest system I tested. I'm happy to run your test suite 
> on older systems and report bugs for any problems found.
> 

I’m a bit conflicted about this. Yes, 10.9 is a bit new for a cutoff, but on 
the other hand upgrades to 10.10 are free and run on any machine that can run 
10.7 so there’s not much of an excuse and considerable security risk for anyone 
with such a machine not to be running the latest release. That still leaves all 
of those folks with PPC and 32-bit Intel Macs who are stuck at 10.5 and 10.6 
respectively. Yeah, it’s nice to support them with Gnome applications — I’m 
among those who do, providing 32-bit PPC and Intel bundles for GnuCash and 
Gramps. OTOH it’s not really reasonable for them to expect to be supported 
forever, and I bet they can’t get many new native applications for their 
obsolete hardware either.

All of which said, it does seem unreasonable that a very minor feature 
implementation in a dark corner of GIO should block building all of GLib. On 
the bug Emmanuelle asks whether GLib runs on those older OSes and how much of 
the API is used. The answer is yes, absolutely, and all of GLib and GObject are 
used pretty extensively by many Gnome apps ported to Mac and Windows. The apps 
I maintain don’t use a lot of the newer GIO features like notifications or even 
the GApplication stuff intended to make Gnome apps more portable simply because 
no-one has made the effort to redesign the applications to use them. (It’s in 
my to-do list for Gramps, but it’s *way down* that list.) I can’t speak for 
other projects, but I suspect that the same is true for many.

There’s always the option of sticking with the last releases of GLib and Gtk+ 
if you want to build/run on older machines.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [PATCH] filechooser: restore pre-3.16 type-ahead-find with setting (off by default)

2015-08-29 Thread John Ralls

 On Aug 29, 2015, at 4:50 AM, Thomas Martitz ku...@rockbox.org wrote:
 
 The previous type-ahead-find was loved by many people, so removing it without
 possibility to restore was not nice to them. This commit re-introduces it 
 again
 with a default-off seting so that the new default search-as-you-type is
 untouched, for those who don't consider the new search a viable replacement.
 ---
 gtk/gtkfilechooserwidget.c   | 35 +---
 gtk/org.gtk.Settings.FileChooser.gschema.xml |  7 ++
 2 files changed, 39 insertions(+), 3 deletions(-)
 
 diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
 index 94d051f..8d41775 100644
 --- a/gtk/gtkfilechooserwidget.c
 +++ b/gtk/gtkfilechooserwidget.c
 @@ -354,6 +354,7 @@ struct _GtkFileChooserWidgetPrivate {
   guint show_size_column : 1;
   guint create_folders : 1;
   guint auto_selecting_first_row : 1;
 +  guint use_type_ahead_find : 1;

[Snip]


Don’t post patches to the list, they just get lost. Open a bug at 
https://bugzilla.gnome.org and attach your patch.

To create a patch (or series of patches) commit your changes in your local git 
repo (ideally in a feature branch) and use `git format-patch` to generate the 
patches from the commit(s). If that doesn’t instantly make sense there’s an 
excellent and free git book at http://git-scm.com/documentation.

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [gtk-osx-devel] jhbuild problem

2015-06-22 Thread John Ralls

 On Jun 22, 2015, at 1:58 PM, Miguel Angel kmsi...@gmail.com wrote:
 
 Hi there 
 I have a problem with jhbuild I follow the instructions for install jhbuild 
 here https://wiki.gnome.org/Projects/GTK+/OSX/Building, but when I try to 
 build gnome-builder with this command jhbuild -m gnome-world build 
 gnome-builder it shows the following message: 
 
 jhbuild build: failed to parse gnome-world: [Errno 2] No such file or 
 directory: 'gnome-world’
 
 I can´t figure out why this problem happened, it works ok on fedora but on 
 mac does´t work I have a macbook pro with Yosemite, any ideas?
 
 I want to develop some vala projects.

Gk-OSX doesn't use the standard Gnome modulesets, it has its own.

TingPing has some instructions at 
https://wiki.gnome.org/Projects/Jhbuild/Mac_OS for using the mainstream 
modulesets. If you’d prefer to stick with Gtk-OSX you can build vala with 
`jhbuild build vala`. You may or may not find the other dependencies you need 
for your project in the Gtk-OSX moduleset. If they’re not there it’s not hard 
to create a new moduleset for your project that builds those and includes the 
Gtk-OSX modulesets for the core stuff.

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: Outdated win32 bundle

2015-06-11 Thread John Ralls

 On Jun 11, 2015, at 6:22 AM, Emmanuele Bassi eba...@gmail.com wrote:
 
 Hey;
 
 On 11 June 2015 at 14:19, Ignacio Casal Quinteiro nacho.r...@gmail.com 
 wrote:
 For the record following Emmanuele mail,
 you can find an example on how to create an installer
 for your application using msys2 here:
 
 https://git.gnome.org/browse/gedit/tree/win32
 
 We really need to get a GTK-based installer, so you guys can stop
 using the Competition. ;-)
 
If you object to using Qt’s installer there’s Inno-setup, 
http://www.jrsoftware.org/isinfo.php. GnuCash has been using it for many years.

Regards,
John Ralls
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [gtk-osx-devel] [PATCH 3/3] Moduleset-stable: fixing the repository link of cups module

2015-05-10 Thread John Ralls

 On May 10, 2015, at 1:43 AM, Kirill Moizik kir...@daynix.com wrote:
 
 Thanks for your reply John,
 i sent pull request with the fix,
 please review it
 Thanks in advance,

Please remember to copy the list on all replies, using “reply all”.

I don’t see any PRs on https://github.com/jralls/gtk-osx-build 
https://github.com/jralls/gtk-osx-build. Where did you send it?

Regards,
John Ralls


___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


GL and libepoxy

2015-03-06 Thread John Ralls
It looks like we've committed to using libepoxy[1] as a shim for GL support. It 
looks quite nice, but there's a catch: In spite of the claim in our INSTALL 
that it's cross-platform, it actually depends on X11.

I think that means that we need to have a separate GL interface per-backend. 

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GL and libepoxy

2015-03-06 Thread John Ralls

 On Mar 7, 2015, at 1:49 PM, Jasper St. Pierre jstpie...@mecheye.net wrote:
 
 Are you sure? This shouldn't be the case since
 
 https://github.com/anholt/libepoxy/commit/e3051481cc9f5b7b36b317aff1454ee16ea9cdb9
  
 https://github.com/anholt/libepoxy/commit/e3051481cc9f5b7b36b317aff1454ee16ea9cdb9
 
 On Fri, Mar 6, 2015 at 7:54 PM, John Ralls jra...@ceridwen.us 
 mailto:jra...@ceridwen.us wrote:
 It looks like we've committed to using libepoxy[1] as a shim for GL support. 
 It looks quite nice, but there's a catch: In spite of the claim in our 
 INSTALL that it's cross-platform, it actually depends on X11.
 
 I think that means that we need to have a separate GL interface per-backend.
 
 Regards,
 John Ralls
 

No,I'm not sure. It failed on xorg-macros and I relied on the README file, 
which says that it requires XQuartz. I guess that's not true, because after I 
supplied xorg-macros it built and installed fine.

Thanks,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [gtk-osx-devel] Libsoup Introspection (was Bison 3 and WebKit)

2015-02-23 Thread John Ralls

 On Dec 27, 2014, at 9:55 AM, Philip Chimento philip.chime...@gmail.com 
 wrote:
 
 I still get an error building libsoup, only on modulesets-unstable. I worked 
 around it by adding --disable-introspection to libsoup's autogenargs in my 
 local configuration file, since I assume it's a temporary problem. I haven't 
 yet had time to pinpoint where it came from, though. Have you seen this 
 before at all?
 
   GISCAN   Soup-2.4.gir
 Traceback (most recent call last):
   File /Users/fliep/gtk/inst/bin/g-ir-scanner, line 55, in module
 sys.exit(scanner_main(sys.argv))
   File 
 /Users/fliep/gtk/inst/lib/gobject-introspection/giscanner/scannermain.py, 
 line 517, in scanner_main
 ss = create_source_scanner(options, args)
   File 
 /Users/fliep/gtk/inst/lib/gobject-introspection/giscanner/scannermain.py, 
 line 430, in create_source_scanner
 ss.parse_files(filenames)
   File 
 /Users/fliep/gtk/inst/lib/gobject-introspection/giscanner/sourcescanner.py, 
 line 256, in parse_files
 self._parse(headers)
   File 
 /Users/fliep/gtk/inst/lib/gobject-introspection/giscanner/sourcescanner.py, 
 line 302, in _parse
 proc.stdin.write('#ifndef %s\n' % (define, ))
 IOError: [Errno 32] Broken pipe
 make[3]: *** [Soup-2.4.gir] Error 1
 make[2]: *** [all] Error 2
 make[1]: *** [all-recursive] Error 1
 make: *** [all] Error 2

Well, I finally needed to fix this, since we’re about to do a Gramps release. 
It was more involved than I thought, too: The broken pipe turned out to be from 
Popen getting a SIGSEGV; I’m not able to tell if it’s from the fork or the 
exec. Here’s the weird part, and the work-around. They’re the same:

Select 4 to open a shell. cd to glib-networking. Run
  make uninstall  make install
Quit the shell and select 1, rerun build. All will be well.

How’s that for weird?

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: New GTK+ Binding

2015-01-03 Thread John Ralls

 On Jan 3, 2015, at 5:14 PM, Nandakumar Edamana nandakuma...@gmail.com wrote:
 
 Hello,
 
 I am trying to implement a new programming language. The work is
 progressing successfully. Now I have started to write GTK+ 3 binding
 for it and it works! I write this mail just to inform you this. Hope
 I'll get your guidance in case I need.

That's ambitious! Is there a source repo?

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [gtk-osx-devel] Bison 3 and WebKit

2014-12-27 Thread John Ralls

 On Dec 27, 2014, at 9:55 AM, Philip Chimento philip.chime...@gmail.com 
 wrote:
 
 On Mon, Dec 22, 2014 at 11:28 AM, John Ralls jra...@ceridwen.us 
 mailto:jra...@ceridwen.us wrote:
 
  On Dec 22, 2014, at 9:11 AM, Philip Chimento philip.chime...@gmail.com 
  mailto:philip.chime...@gmail.com wrote:
 
  On Mon, Dec 22, 2014 at 9:04 AM, John Ralls jra...@ceridwen.us 
  mailto:jra...@ceridwen.us wrote:
 
  On Dec 21, 2014, at 9:09 PM, Philip Chimento philip.chime...@gmail.com 
  mailto:philip.chime...@gmail.com wrote:
 
  On Tue, Dec 16, 2014 at 12:39 PM, John Ralls jra...@ceridwen.us 
  mailto:jra...@ceridwen.us wrote:
 
   On Dec 16, 2014, at 12:25 AM, Philip Chimento philip.chime...@gmail.com 
   mailto:philip.chime...@gmail.com wrote:
  
   On Mon, Dec 15, 2014 at 11:01 AM, John Ralls jra...@ceridwen.us 
   mailto:jra...@ceridwen.us wrote:
  
   On Dec 14, 2014, at 10:14 PM, Philip Chimento 
   philip.chime...@gmail.com mailto:philip.chime...@gmail.com wrote:
  
   On Mon, Dec 8, 2014 at 8:15 PM, John Ralls jra...@ceridwen.us 
   mailto:jra...@ceridwen.us wrote:
  
On Dec 8, 2014, at 3:37 PM, Philip Chimento 
philip.chime...@gmail.com mailto:philip.chime...@gmail.com wrote:
   
On Sun, Dec 7, 2014 at 5:05 PM, John Ralls jra...@ceridwen.us 
mailto:jra...@ceridwen.us wrote:
The upgrade of Bison to version 3 which you graciously provided 
breaks the WebKit build, which you also graciously provided. ISTR 
that you mumbled something about working on building a newer WebKit 
version. Are you?
   
Yes! It's been a bit pre-empted by other stuff, but I am still 
working on building WebKit 2.4.7. [...]
  [...] should I perhaps keep the old WebKit 1.x module intact, and instead 
  add a new one for webkitgtk 2.x? I might have to add a new one anyway 
  since webkitgtk 2.x has discontinued the old WebKit 1 single-process API, 
  and a lot of apps still depend on it. How about two new modules named 
  webkit1gtk and webkit2gtk?
 
  Yes, I think that would be wise.
 
  How about just “webkit” and “webkit2” so that app modulesets don’t break 
  gratuitously?
 
  Actually what I meant was keeping the existing one, and adding two more. 
  All the APIs and version numbers are confusing but here's everything I'm 
  proposing in a nutshell:
 
  - WebKit - WebKitGTK 1.x, WebKit 1 API, works with GTK 2.x (could be built 
  for GTK 3.x but let's not bother)
  - webkit1gtk - WebKitGTK 2.4.x, WebKit 1 API, works with GTK 3.x
  - webkit2gtk - WebKitGTK 2.6, WebKit 2 API, works with GTK 3.x
 
  I picked webkit2gtk because that's what the pkg-config file calls itself 
  and webkit1gtk in analogy to that. (Actually webkit1gtk's pkg-config file 
  is called webkitgtk so that might be better for consistency but a more 
  confusing name.)
 
 Ah, got it.
 
 Could we use ‘webkit[12]gtk3’ to make it clear that they’re gtk3-only?
 
 That aside, the only way to deal with the confusion is to comment each module 
 with what it’s for.
 
 Done, pull request here: https://github.com/jralls/gtk-osx-build/pull/32 
 https://github.com/jralls/gtk-osx-build/pull/32
Yeah, saw that, I’ll make comments on the pull request.

 
 I still get an error building libsoup, only on modulesets-unstable. I worked 
 around it by adding --disable-introspection to libsoup's autogenargs in my 
 local configuration file, since I assume it's a temporary problem. I haven't 
 yet had time to pinpoint where it came from, though. Have you seen this 
 before at all?
 
   GISCAN   Soup-2.4.gir
 Traceback (most recent call last):
   File /Users/fliep/gtk/inst/bin/g-ir-scanner, line 55, in module
 sys.exit(scanner_main(sys.argv))
   File 
 /Users/fliep/gtk/inst/lib/gobject-introspection/giscanner/scannermain.py, 
 line 517, in scanner_main
 ss = create_source_scanner(options, args)
   File 
 /Users/fliep/gtk/inst/lib/gobject-introspection/giscanner/scannermain.py, 
 line 430, in create_source_scanner
 ss.parse_files(filenames)
   File 
 /Users/fliep/gtk/inst/lib/gobject-introspection/giscanner/sourcescanner.py, 
 line 256, in parse_files
 self._parse(headers)
   File 
 /Users/fliep/gtk/inst/lib/gobject-introspection/giscanner/sourcescanner.py, 
 line 302, in _parse
 proc.stdin.write('#ifndef %s\n' % (define, ))
 IOError: [Errno 32] Broken pipe
 make[3]: *** [Soup-2.4.gir] Error 1
 make[2]: *** [all] Error 2
 make[1]: *** [all-recursive] Error 1
 make: *** [all] Error 2

No, but I haven’t tried building libsoup in unstable recently. Looks like a 
g-ir-scanner bug, though. Someone changed the format to use only one arg and 
screwed up by forgetting to remove the comma in the now-single-member tuple.

Regards,
John Ralls


___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: [gtk-osx-devel] Bison 3 and WebKit

2014-12-15 Thread John Ralls

 On Dec 14, 2014, at 10:14 PM, Philip Chimento philip.chime...@gmail.com 
 wrote:
 
 On Mon, Dec 8, 2014 at 8:15 PM, John Ralls jra...@ceridwen.us 
 mailto:jra...@ceridwen.us wrote:
 
  On Dec 8, 2014, at 3:37 PM, Philip Chimento philip.chime...@gmail.com 
  mailto:philip.chime...@gmail.com wrote:
 
  On Sun, Dec 7, 2014 at 5:05 PM, John Ralls jra...@ceridwen.us 
  mailto:jra...@ceridwen.us wrote:
  The upgrade of Bison to version 3 which you graciously provided breaks the 
  WebKit build, which you also graciously provided. ISTR that you mumbled 
  something about working on building a newer WebKit version. Are you?
 
  Yes! It's been a bit pre-empted by other stuff, but I am still working on 
  building WebKit 2.4.7. What is it about Bison 3 that breaks the old build?
 [log] 
 Moving ~/.local/bin/bison out of the way, so that it uses the one Apple ships 
 (v.2.3), clears the problem.
 
 I've got something almost working for modulesets-stable on the update-webkit 
 branch of ptomato/gtk-osx-build: 
 https://github.com/ptomato/gtk-osx-build/tree/update-webkit 
 https://github.com/ptomato/gtk-osx-build/tree/update-webkit
 
 There's one thing left I can't figure out. The build stalls while linking 
 libWebCoreSVG.la. ranlib prints out reams of complaints about object files 
 having no symbols, although, that seems to be normal in itself. Then it 
 stalls at a point where the last two are repeats of the two before that:
 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
  file: .libs/libWebCoreSVG.a(libWebCoreSVG_la-CachedSVGDocumentReference.o) 
 has no symbols
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
  file: .libs/libWebCoreSVG.a(libWebCoreSVG_la-JSSVGZoomAndPan.o) has no 
 symbols
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
  file: .libs/libWebCoreSVG.a(libWebCoreSVG_la-CachedSVGDocumentReference.o) 
 has no symbols
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
  file: .libs/libWebCoreSVG.a(libWebCoreSVG_la-JSSVGZoomAndPan.o) has no 
 symbols
 
 And sits there for 25 minutes, maxing out one CPU - at that point I killed 
 it. Restarting the build completed with no problem. If you wipe the source 
 directory and build again from scratch, it stalls again. I'm curious if 
 anyone else has this problem.
 
 Also, if you're waiting on this module to be buildable again, I can submit a 
 pull request that only updates modulesets-stable while I work on the other 
 two modulesets.

Does using `make -j1` change anything?

I’ll pull it and give it a try later today. If all else fails we can just 
disable SVG.

I just deleted Bison 3 after bootstrapping, so it’s not holding anything up for 
me. That doesn’t help anyone who needs both gstreamer and WebKit, though. Maybe 
bison 2.7.1 would work for both.

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: atk 'missing symbols' problem since gnome-3-14

2014-09-26 Thread John Ralls

On Sep 26, 2014, at 7:17 PM, Fan Chun-wei fanc...@yahoo.com.tw wrote:

 
 Hi,
 
 This situation would have been hit by GLib and GTK+, if not done properly, as 
 they use things like _GLIB_EXTERN (for glib, gobject, gio) and _GDK_EXTERN 
 (for GDK, gtk) and they also export public variables (data)--but they build 
 and link just fine. In fact the work on using __declspec(dllexport) for ATK 
 is modeled on them. There is a ATK_VAR macro that is used to export (and 
 import using __declspec(dllimport) the public variables, for example, and 
 similar macros are used in GLib and GTK+, since the days of using 
 .symbols/.def files.
 
 It might be worth it to see whether we can use __declspec(dllimport) for the 
 functions as well for better efficiency, though, but this would be something 
 we can look into a bit later. For the -mm libraries though, I think it might 
 be good if we use dllimport and dllexport all around, rather than using 
 gendef that makes use of dumpbin, as many other symbols are exported 
 unnecessarily during the process.

Sounds like something that should be in GLib, G_EXTERN. Oddly, there isn't one 
already.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: pygtk version

2013-11-22 Thread John Ralls

On Nov 16, 2013, at 12:09 PM, Rudra Banerjee bnrj.ru...@gmail.com wrote:

 Hi,
 do pygtk still use gtk2.x? The tutorial in pygtk shows, that is the case
 (http://www.pygtk.org/tutorial.html ).
 Though I have found another site (non gnome,
 http://python-gtk-3-tutorial.readthedocs.org/en/latest/ ) I am still to
 find the official gnome document, ala pygtk.
 Any idea please?

https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: gtk 3.10 compiling failed on Mac OS X

2013-11-17 Thread John Ralls

On Nov 17, 2013, at 4:01 AM, cee1 fykc...@gmail.com wrote:

 Hi,
 
 https://git.gnome.org/browse/gtk+/tree/gdk/quartz/gdkevents-quartz.c#n1683
 there misses a right brace.

Already reported: https://bugzilla.gnome.org/show_bug.cgi?id=712514

Thanks.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: gl_GLIBC21 and charset.alias

2013-10-04 Thread John Ralls

On Oct 4, 2013, at 10:22 AM, Dan Winship d...@gnome.org wrote:

 On 10/03/2013 04:18 PM, John Ralls wrote:
 In 
 https://git.gnome.org/browse/glib/commit/?id=d2bb019533bbcbd1cee3891822ac7ba6ff55ad3d
  , Colin removed the call to gl_GLIBC21 from configure.ac, which breaks the 
 installation of charset.alias because clause in glib/libcharset/Makefile.am 
 which installs it depends upon @GLIBC21@ which is no longer defined.
 
 My inclination is to just remove the condition, since charset.alias gets 
 built anyway; the test only stops it being installed. Is there any harm in 
 having charset.alias installed if the system has glibc-2.1 or later? If so, 
 is there something to test for that's preferable over the gl_GLIBC21 
 autoconf macro?
 
 There's a section of configure.ac with tests specifically for
 libcharset, so you can just add it back there instead. (We didn't remove
 the call because it's evil or anything, we just removed it because we
 thought it wasn't needed any more.)
 

Dan,

Thanks for the guidance. Pushed to master  glib-2-38.

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


gl_GLIBC21 and charset.alias

2013-10-03 Thread John Ralls
In 
https://git.gnome.org/browse/glib/commit/?id=d2bb019533bbcbd1cee3891822ac7ba6ff55ad3d
 , Colin removed the call to gl_GLIBC21 from configure.ac, which breaks the 
installation of charset.alias because clause in glib/libcharset/Makefile.am 
which installs it depends upon @GLIBC21@ which is no longer defined.

My inclination is to just remove the condition, since charset.alias gets built 
anyway; the test only stops it being installed. Is there any harm in having 
charset.alias installed if the system has glibc-2.1 or later? If so, is there 
something to test for that's preferable over the gl_GLIBC21 autoconf macro?

Regards,
John Ralls
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [gtk-osx-devel] [gtk-osx-users] New Modulesets and gtk-mac-integration-2.0.3

2013-09-30 Thread John Ralls

On Sep 30, 2013, at 2:02 PM, Ronan Waide wai...@gmail.com wrote:

 
 On 30 Sep 2013, at 22:01, Ronan Waide wai...@gmail.com wrote:
 
 Hi John,
 
 seeing a failure in building berkleydb:
 
 Ah, sorry, this is Gramps -specific, should not have wound up on gtk-osx 
 lists.

Waide,

No, it's in gtk-osx-python.modules. This is the right place.

Looks like bdb 4.8 isn't going to work with clang. No need to copy the script 
in this case. modules-unstable has a module for bdb-5.2. Can you see if that 
works?

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: [gtk-osx-devel] [gtk-osx-users] New Modulesets and gtk-mac-integration-2.0.3

2013-09-30 Thread John Ralls

On Sep 30, 2013, at 2:12 PM, Ronan Waide wai...@gmail.com wrote:

 On 30 Sep 2013, at 22:09, John Ralls jra...@ceridwen.us wrote:
 
 
 On Sep 30, 2013, at 2:02 PM, Ronan Waide wai...@gmail.com wrote:
 
 
 On 30 Sep 2013, at 22:01, Ronan Waide wai...@gmail.com wrote:
 
 Hi John,
 
 seeing a failure in building berkleydb:
 
 Ah, sorry, this is Gramps -specific, should not have wound up on gtk-osx 
 lists.
 
 Waide,
 
 No, it's in gtk-osx-python.modules. This is the right place.
 
 Looks like bdb 4.8 isn't going to work with clang. No need to copy the 
 script in this case. modules-unstable has a module for bdb-5.2. Can you see 
 if that works?
 
 
 I'll give it a go and let you know how I get on. Might not happen immediately 
 though - limited hacking time :)

Pretty busy myself, but I can fire off a test-build this afternoon.

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


[gtk-osx-devel] New Modulesets and gtk-mac-integration-2.0.3

2013-09-29 Thread John Ralls
I've just pushed new modulesets for Gnome-3.10. Well, except for unsupported 
and random.

I also had to modify gtk-mac-integration and release 2.0.3 because I messed up 
and used some 10.6 API in 2.0.2. That's reflected in the new modulesets.

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


[gtk-osx-devel] Gtk-mac-integration-2.0.2 Released

2013-09-27 Thread John Ralls
I'm happy to announce the release of gtk-mac-integration version 2.0.2. This is 
primarily a bug-fix release, but there are a few small enhancements:

* Ready for Mavericks and Xcode 5.0
* Makes the App(le) Menu more Mac-like, with the App-name appended to
  Hide, Quit, and any items added to the zeroth entry (normally About).
* Suppress leading, trailing, and consecutive separators in menus

I'll update the stable modulesets shortly to reflect this along with the 
release of Gnome 3.10. There's a slight delay because the Glib maintainer 
messed up the tarball.
See https://bugzilla.gnome.org/show_bug.cgi?id=708972

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: Mac OSX 10.7+ fullscreen handling - first little patch

2013-08-18 Thread John Ralls

On Aug 18, 2013, at 7:04 PM, rf...@tbrf.net wrote:

 Hi,
 
 I'm interested in bringing support for true OSX fullscreen windows to GTK+ - 
 standard system decoration in the top right corner of the window, correct 
 Spaces handling, etc.
 
 Still finding my way around everything here, but this is the first atomic 
 part for review: responding to the NSWindowDelegate windowDidEnterFullScreen 
 and windowDidExitFullScreen notifications by synchronizing the 
 GDK_WINDOW_STATE_FULLSCREEN bit, causing the window-state-event signal to 
 be sent.
 
 (Apologies if I screwed up the submissions process...)

It would be better if you'd file a bug with the patch as an attachment. Use a 
git master checkout to develop against, commit your changes with a good commit 
message (don't forget to set up your real name and email in ~/.gitconfig) and 
use git format-patch to create the patch set. That has two benefits: It helps 
save us from forgetting about it, and it's much easier to provide focused 
feedback.

I'll give it a try regardless in a day or two.

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Github mirror script broken

2013-08-13 Thread John Ralls
I've gotten the following error on my last couple of pushes -- and they don't 
seem to have gone through to Github:
remote: Traceback (most recent call last):
remote:   File /home/admin/bin/git/post-receive-mirror-github, line 161, in 
module
remote: raise e
remote: Exception: Gtk+ has a '+' character in it which is unsupported by 
Github.
remote: You have to add it to the exception maps in the post-update hook.

Did somebody mess with the post receive hook? The mirrored repo on Github is 
called gtk for just this reason.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Documentation website throwing SSL errors

2013-06-25 Thread John Ralls
https://developer.gnome.org/ is failing to connect for me, reporting the 
following error:
 Secure Connection Failed
 
 An error occurred during a connection to developer.gnome.org.
 
 SSL received a record that exceeded the maximum permissible length.
 
 (Error code: ssl_error_rx_record_too_long)

Connecting with http works fine, but some of the links are https, so it breaks 
until I edit
the url in the address-bar.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: _gtk_quartz_framework_init

2013-05-02 Thread John Ralls

On May 2, 2013, at 7:29 AM, Michael Natterer mi...@gimp.org wrote:

 On Thu, 2013-05-02 at 15:41 +0200, Benjamin Otte wrote:
 Hey,
 
 I recently found this magic call to _gtk_quartz_framework_init() in
 the Quartz initialization code and after asking people on IRC it seems
 it's no longer used by anyone (was it ever?). So in my pursuit of code
 clarity I was wondering if I can just remove it. Can I?
 
 I have never noticed this before, but a framework is a programming
 API and library packed up as a proper bundle, and known to the compiler
 on a higher level than just -L or -I.
 
 The call was added by Richard, and iirc he also did a framework,
 haven't heard about that in a while though.

He did a sort-of framework, but it was a bitch to maintain, so I didn't. 
Besides, it didn't work in that
one couldn't put -framework Gtk on the compile line and get your app to build. 
Instead you had to pass
horrible fixed-path -I and -L directives, and there is no m4 macro to discover 
them.

If you want to look at at, it's at https://github.com/jralls/gtk-osx-framework

Benjamin, I have no problem with you deleting those calls.

Regards,
John Ralls



___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Git repo wedged. How do I get it fixed?

2013-03-29 Thread John Ralls

On Mar 29, 2013, at 12:57 AM, Florian Müllner fmuell...@gnome.org wrote:

 
 On Mar 29, 2013 4:53 AM, John Ralls jra...@ceridwen.us wrote:
  I'm unable to push a commit to gtk-osx. How do I get a git.gnome.org admin 
  to unwedge it?
 
 Sounds like 
 https://mail.gnome.org/archives/devel-announce-list/2013-March/msg6.html, 
 which is being worked on.
 

It does indeed, and it's working this morning. Thanks.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Git repo wedged. How do I get it fixed?

2013-03-28 Thread John Ralls
I'm unable to push a commit to gtk-osx. How do I get a git.gnome.org admin to 
unwedge it?

The error is:
Counting objects: 10, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.42 KiB, done.
Total 6 (delta 5), reused 0 (delta 0)
fatal: Unable to create '/git/gtk-osx.git/refs/heads/master.lock': Permission 
denied
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GUI Testing (was: Some shortcomings in gtestutils)

2013-02-20 Thread John Ralls

On Feb 20, 2013, at 6:46 PM, Federico Mena Quintero feder...@gnome.org wrote:

 
 * Now that the a11y infrastructure is included in-the-box with GTK+, it
 sounds like a good idea to start putting an a11y-based testing
 infrastructure in GTK+ itself.  For the file chooser's tests, I had to
 do some manual hacks to simulate, click this button, find the
 dialog, click the dialog's button... this is tricky C code that
 assumes too much knowledge of the internals of the toolkit, and I'd love
 to write some higher-level stuff instead for such tests.  (Feel free to
 reply about this in a different thread - this could derail *this* thread
 pretty fast) :)

There are two ways to go about GUI testing. One is to retrieve the coordinates 
of a control and 
inject a mouse or keyboard event at those coordinates, the other is to give 
every control an id 
that can be used to send events to. The first is incredibly brittle and the 
second is AFAIK supported 
only by wxWidgets. [1]

ISTR that there was an implementation of the coordinate-tracking sort for Gtk1, 
but I've lost track of
it. It would be a pretty big change to Gtk to introduce control ids and event 
injectability.

Regards,
John Ralls

[1] http://wxguitest.sourceforge.net/

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: glib-mkenums in glib 2

2013-02-19 Thread John Ralls

On Feb 19, 2013, at 8:22 AM, John Emmas john...@tiscali.co.uk wrote:

 On 19 Feb 2013, at 15:37, Bernhard Schuster wrote:
 
 I would like to see that information - even if I have no instant use
 for it - but I am pretty sure it will help a lot of people digging for
 information.
 
 
 No problem.  At the moment, I've made a couple of dozen changes in my efforts 
 to track this down.  I need to start backing them out now until I arrive at 
 the minimum changes needed for making the build work.  Might have something 
 in the next day or two.

Might I suggest a wiki page on GnomeLive, perhaps linked to 
https://live.gnome.org/GTK+/Win32?

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [gtk-osx-devel] [gtk-osx-users] gtk-mac-bundler: Unable to load image-loading module ...

2013-02-12 Thread John Ralls

On Feb 12, 2013, at 8:37 AM, Christophe c...@heonium.com wrote:

 Le Tuesday 29 Jan 2013 à 11:28:22 (-0800), John Ralls a écrit :
 
 On Jan 29, 2013, at 10:02 AM, Christophe c...@heonium.com wrote:
 
 Le Tuesday 29 Jan 2013 à 08:49:39 (-0800), John Ralls a écrit :
 
 On Jan 29, 2013, at 7:32 AM, Christophe c...@heonium.com wrote:
 
 Le Tuesday 29 Jan 2013 à 06:55:40 (-0800), John Ralls a écrit :
 
 On Jan 29, 2013, at 4:53 AM, Christophe c...@heonium.com wrote:
 
 Hello,
 
 I am new to gtk-mac-bundler, and it seems to have followed the
 documentation to the letter but when I run the generated 
 package i have the following error message:
 
 CRITICAL:init:Unable to load image-loading module: 
 @executable_path/../Resources/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so:
  
 dlopen(@executable_path/../Resources/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so,1):
  image not found
 
 I specify the image file it tries to open is present in bunble. I
 googling for several days but I have not found anything relevant.
 Can you give a link or a track to solve this problem
 
 
 
 Assuming you've checked the bundle to ensure that libpixbufloader-png.so 
 is in fact in that path, the usual cause of this problem is attempting 
 to run an auxiliary program from Contents/Resources/bin instead of 
 Contents/MacOS. @executable_path starts from the path of the binary that 
 starts the linker-chain.
 
 Ok I understand, but I followed the sample: 'pygtk-demo' and I set the
 entry 'launcher_script' which copied the script in the 'Contents/MacOS'.
 This script calls the python script in the same directory which starts
 the application that it is in 'Contents/Resources/bin'. The only 
 difference is that in this sample the final script is in
 'Contents/Resources/lib/pygtk/2.0'.
 You advise me to the Python application being in 'Contents/Resources/bin'
 in 'Contents/MacOS'? In this case i need to modify a lot a things in the
 application.
 
 
 So this is python. That changes things a bit.
 The location of the python script doesn't matter, the executable (as far 
 as the linker and dlopen are concerned) is the python interpreter, which 
 is why it is in Contents/MacOS.
 
 If you shell out to another program, though, (os.spawn, popen2, 
 subprocess.call, etc.), that creates a new executable for linking and 
 loading, and the easiest thing to do is to put any program that you need 
 in Contents/MacOS as well.
 
 I have put python interpreter and the python script in the bundle
 (Contents/MacOS) but i have exactly the same error when i try to run it.
 
 It appears that you *don't* understand. So long as you stay in the python 
 script, python is the executable, the location of the script isn't 
 important. That's they way pygtk-demo works -- and it does work, I just 
 tested it. So either you've screwed something up in converting the example 
 to your script or your script is calling another program which isn't in 
 Contents/MacOS. 
 
 You have to figure out which is the problem, I can't without reviewing your 
 code, and I'm not interested in doing that.
 
 Hello
 
 I understand that you do not want to see my code and I do not ask you,
 however i did a little test from 'pygtkdemo' and I'd like your opinion.
 
 I add the following line to the file ~/gtk/inst/lib/pygtk/2.0/pygtk-demo.py ':
 
 ...
 import gdk
 ...
 Gtk.gdk.pixbuf_new_from_file ICON = 
 ('/Users/gtkosx3/Desktop/PyGtkDemo.app/Contents/MacOS/icon.png')
 ...
 
 and the following lines in the file 'pygtk-demo.bundle':
 
 ...
  !-- binary Dest=${bundle}/Contents/MacOS
${prefix}/bin/python
  /binary --
  binary dest=${bundle}/Contents/MacOS
/usr/bin/python
  /binary
  binary dest=${bundle}/Contents/MacOS
/usr/bin/python2.7
  /binary
 
  binary

 ${prefix}/lib/gdk-pixbuf-2.0/${pkg:gdk-pixbuf-2.0:gdk_pixbuf_binary_version}/loaders/*.
  *
  / binary
 ...
 
 I run the bundle generation and when I excute it I still have the same
 error message. I do not see how I can know what is called external
 library.
 
 Thank you for your time and your answer. 

Please keep this on the list.

I don't think that putting the Apple-supplied python in the bundle is going to 
work. When I try that I get
Fatal Python error: PyThreadState_Get: no current thread
Desktop/PyGtkDemo.app/Contents/MacOS/PyGtkDemo: line 65: 26075 Abort trap: 6
   $EXEC $PYTHON $bundle_contents/MacOS/pygtk-demo

But perhaps that's because PyGtk is built with ${prefix}/bin/python. It's much 
cleaner to do it that way as well.

So after fixing that and your mistakes in selecting the loaders and the syntax 
errors and all of that, it loads up just fine.

Regards,
John Ralls
___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: [gtk-osx-devel] [Gtk-osx-devs] patches to GTKOSXApplication

2013-01-26 Thread John Ralls

On Jan 26, 2013, at 1:01 AM, Eric Le Lay kerik...@users.sourceforge.net wrote:

 Hi John, hi list,
 
 here are the patches we applied to GTKOSXApplication 2.0.1 to
 distribute it in MacPorts:
 https://trac.macports.org/browser/trunk/dports/devel/gtk-osx-application/files
 
 Would you consider applying them?
 

I can't apply the Makefile.in patches. Makefile.in is a generated file. You'll 
have to convert that into something that autoconf and automake can digest... 
but you need to open a bug and explain why you can't just set libdir at 
configure time and adjust $PYTHONPATH.

The patch to cocoa-menu-item.c is just wrong. That's objective-c, and @ 
introduces string constants in objective-c.

Regards,
John Ralls



--
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
___
Gtk-osx-devs mailing list
gtk-osx-d...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtk-osx-devs
___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: building gtk+ 3 on rhel6

2013-01-13 Thread John Ralls

On Jan 13, 2013, at 5:25 PM, Ted Toth txt...@gmail.com wrote:

 I'm trying to build gtk+ 3 on RHEL6 but have run into a problem while
 following the instruction on
 http://developer.gnome.org/gtk3/stable/gtk-building.html when building
 pango. The glib build went fine but pango is a problem:
 
 ./configure --prefix=/opt/gtk
  :
 checking for CoreText availability... no
 checking for CAIRO... yes
 checking which cairo font backends could be used... none
 configure: Disabling cairo support
 configure: error: *** Could not enable any backends.
 *** Must have at least one backend to build Pango.
 
 cairo and cairo-devel are installed and as best I can tell the font
 backends are included. Anyone done this yet? If so what did you have
 to do to get by this issue.

Dif you build harfbuzz, freetype, and fontconfig?

Regards,
John Ralls
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: glib-mkenums in glib 2

2013-01-01 Thread John Ralls

On Jan 1, 2013, at 8:11 PM, John Emmas john...@tiscali.co.uk wrote:

 On 1 Jan 2013, at 15:54, John Emmas wrote:
 
 
 If anyone has a flash of inspiration, please let me know.
 
 
 I had a flash of inspiration myself...
 
 
 Traceback (most recent call last):
   File 
 F:/+GTK-SOURCES/gnu-win32/src/glib/gio/gdbus-2.0/codegen/gdbus-codegen.in, 
 line 39, in module
 from codegen import codegen_main
   File 
 F:\+GTK-SOURCES\gnu-win32\src\glib\gio\gdbus-2.0\codegen\codegen.py, line 
 26, in module
 from . import config
 ValueError: Attempted relative import in non-package
 
 
 Might this be a 'cascading' problem?  e.g. 'codegen' imports 'codegen_main' 
 which (along the way) imports 'config' which fails - thereby causing them 
 both to fail?
 
 In other words, there might be nothing wrong in the 'codegen_main' package - 
 except that something further down the line is failing to import 'config'

Well, yes, of course. In fact, there's a whole raft of cascading imports:
gdbus-codegen:
from codegen import codegen_main
from . import config
from . import utils
from . import dbustypes
from . import utils
from . import parser
from . import dbustypes
from . import codegen
from . import config
from . import utils
from . import dbustypes
from . import codegen_docbook 
from . import config
from . import utils
from . import dbustypes
from . import parser

What fails? codegen.py, halfway down the list.

Try renaming codegen.py to codegenerator.py and change the import statement in 
codegen_main.py.
Maybe it's a namespace issue.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: glib-mkenums in glib 2

2012-12-30 Thread John Ralls

On Dec 30, 2012, at 3:47 AM, John Emmas john...@tiscali.co.uk wrote:

 On 29 Dec 2012, at 21:12, John Emmas wrote:
 
 
 On 29 Dec 2012, at 16:41, John Ralls wrote:
 
 
 That's because gio/gdbus-2.0/codegen/config.py doesn't exist, but 
 config.py.in does -- another file that needs to have its @variables@ 
 substituted -- in this case @datarootdir@, @prefix@, and @VERSION@.
 
 This one *is* done by configure, which treats it like a Makefile.in; those 
 are all AC_SUBST values. That prolly doesn't make any sense to you, don't 
 worry about it. @prefix@ is the root of the directory tree where glib is 
 getting installed: /usr/local by default on a Unix/Linux box. @datarootdir@ 
 is where various data files (man pages, translation files, etc.) go, 
 normally prefix/share on a Unix/Linux box. @VERSION@ is the Glib version, 
 currently 2.35.4. 
 
 So you need to figure out how to fill in those values and create config.py 
 from MSVS.
 
 
 Many thanks for your help, John.  It's getting later here now but I'll give 
 that some further thought tomorrow.
 
 
 Hi John,
 
 This morning I tried manually replacing @VARIABLE_NAME@ with sensible values 
 and I created the missing config.py file (note that I didn't modify 
 config.py.in - I just copied it, replacing those particular values).  
 However, when I run my python command I still get the same error message:-
 
 Traceback (most recent call last):
   File 
 F:/+GTK-SOURCES/gnu-win32/src/glib/gio/gdbus-2.0/codegen/gdbus-codegen.in, 
 line 39, in module
 from codegen import codegen_main
   File F:\+GTK-SOURCES\gnu-win32\src\glib\gio\gdbus-2.0\codegen\codegen.py, 
 line 26, in module
 from . import config
 ValueError: Attempted relative import in non-package
 
 Note that these lines seem to be the ones causing the error:-
 
 from  whatever  import  something
 
 Python doesn't seem to know what to do when it encounters that instruction.


Hmm. Your python doesn't seem to agree that codegen is a package, in spite of 
being imported into gdbus-codegen.
Try changing the line to just import config.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: glib-mkenums in glib 2

2012-12-30 Thread John Ralls

On Dec 30, 2012, at 8:40 AM, jose.ali...@gmail.com wrote:

 I don't know if this is related, but It seems you are missing the empty  
 __init__.py in the codegen/ directory. This is a requirement for a directory 
 so python may consider it as a package.
 
That would indeed cause the problem, but it seems unlikely: __init__.py isn't 
empty (4 LOC + copyright) and under version control.

Regards,
John Ralls

 
 On Sun, Dec 30, 2012 at 5:36 PM, John Ralls jra...@ceridwen.us wrote:
 
 On Dec 30, 2012, at 3:47 AM, John Emmas john...@tiscali.co.uk wrote:
 
  On 29 Dec 2012, at 21:12, John Emmas wrote:
 
 
  On 29 Dec 2012, at 16:41, John Ralls wrote:
 
 
  That's because gio/gdbus-2.0/codegen/config.py doesn't exist, but 
  config.py.in does -- another file that needs to have its @variables@ 
  substituted -- in this case @datarootdir@, @prefix@, and @VERSION@.
 
  This one *is* done by configure, which treats it like a Makefile.in; 
  those are all AC_SUBST values. That prolly doesn't make any sense to you, 
  don't worry about it. @prefix@ is the root of the directory tree where 
  glib is getting installed: /usr/local by default on a Unix/Linux box. 
  @datarootdir@ is where various data files (man pages, translation files, 
  etc.) go, normally prefix/share on a Unix/Linux box. @VERSION@ is the 
  Glib version, currently 2.35.4.
 
  So you need to figure out how to fill in those values and create 
  config.py from MSVS.
 
 
  Many thanks for your help, John.  It's getting later here now but I'll 
  give that some further thought tomorrow.
 
 
  Hi John,
 
  This morning I tried manually replacing @VARIABLE_NAME@ with sensible 
  values and I created the missing config.py file (note that I didn't modify 
  config.py.in - I just copied it, replacing those particular values).  
  However, when I run my python command I still get the same error message:-
 
  Traceback (most recent call last):
File 
  F:/+GTK-SOURCES/gnu-win32/src/glib/gio/gdbus-2.0/codegen/gdbus-codegen.in,
   line 39, in module
  from codegen import codegen_main
File 
  F:\+GTK-SOURCES\gnu-win32\src\glib\gio\gdbus-2.0\codegen\codegen.py, line 
  26, in module
  from . import config
  ValueError: Attempted relative import in non-package
 
  Note that these lines seem to be the ones causing the error:-
 
  from  whatever  import  something
 
  Python doesn't seem to know what to do when it encounters that instruction.
 
 
 Hmm. Your python doesn't seem to agree that codegen is a package, in spite of 
 being imported into gdbus-codegen.
 Try changing the line to just import config.
 
 Regards,
 John Ralls
 
 ___
 gtk-devel-list mailing list
 gtk-devel-list@gnome.org
 https://mail.gnome.org/mailman/listinfo/gtk-devel-list
 

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: glib-mkenums in glib 2

2012-12-29 Thread John Ralls

On Dec 29, 2012, at 7:20 AM, John Emmas john...@tiscali.co.uk wrote:

 On 29 Dec 2012, at 09:55, David Nečas wrote:
 
 
 Anything ending with .in is usually processed by configure
 (config.status) which you obviously don't have so you must replace
 @VARIABLE@s with the corresponding values using whatever you have.  But
 the only two variables present there are unused on MS Windows anyway –
 MS Windows neither recognise shbangs nor is the fixed datadir code path
 useful there.
 
 
 Thanks for the suggestion David but in this case (gdbus-codegen.in) it seems 
 to be a python script that needs to get processed.

Yes, it's a python script that needs to get processed, replacing the two items 
David mentioned to produce gdbus-codegen. He' mistaken in this case, though: 
It's done by make, and you'll find the script in Makefile.am
 
 Looking in makefile.am suggests that this command line would be right for my 
 particular machine (imagine that this is all on one line) :-
 
 python 
 F:/+GTK-SOURCES/gnu-win32/src/glib/gio/gdbus-2.0/codegen/gdbus-codegen.in
 --interface-prefix org.
 --generate-c-code gdbus-daemon-generated
 --c-namespace _G
 F:/+GTK-SOURCES/gnu-win32/src/glib/gio/dbus-daemon.xml
 
 However, that only seems to produce this error output:-
 
 Traceback (most recent call last):
   File 
 F:/+GTK-SOURCES/gnu-win32/src/glib/gio/gdbus-2.0/codegen/gdbus-codegen.in, 
 line 39, in module
 from codegen import codegen_main
   File F:\+GTK-SOURCES\gnu-win32\src\glib\gio\gdbus-2.0\codegen\codegen.py, 
 line 26, in module
 from . import config
 ValueError: Attempted relative import in non-package
 
 So I'm currently stumped!
 
 Like last time, it'll probably be something quite obvious that I've 
 overlooked.

That's because gio/gdbus-2.0/codegen/config.py doesn't exist, but config.py.in 
does -- another file that needs to have its @variables@ substituted -- in this 
case @datarootdir@, @prefix@, and @VERSION@.

This one *is* done by configure, which treats it like a Makefile.in; those are 
all AC_SUBST values. That prolly doesn't make any sense to you, don't worry 
about it. @prefix@ is the root of the directory tree where glib is getting 
installed: /usr/local by default on a Unix/Linux box. @datarootdir@ is where 
various data files (man pages, translation files, etc.) go, normally 
prefix/share on a Unix/Linux box. @VERSION@ is the Glib version, currently 
2.35.4. 

So you need to figure out how to fill in those values and create config.py from 
MSVS.

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: glib-mkenums in glib 2

2012-12-26 Thread John Ralls

On Dec 26, 2012, at 10:18 AM, John Emmas john...@tiscali.co.uk wrote:

 As many of you will know, GTK's MSVC project files have gotten quite a long 
 way out of date now (presumably since Tor's departure, which was a great 
 pity).  I'm trying to bring mine up-to-date so that they'll build from the 
 latest GIT sources.  I'm starting with glib which is currently at version 
 2.35 I believe.
 
 Along the way I thought I might as well make use of MSVC's ability to launch 
 external programs and scripts which can be run before (and even during) the 
 build process.  My hope was that I'd be able to make a Visual Studio project 
 file that would do everything needed to build glib - including building those 
 files that need to be auto-generated.  Everything seems to have worked fine, 
 except for glib-mkenums.  glib-mkenums is a perl script that needs to get run 
 from time to time to ensure that gio/gioenumtypes.c and gio/gioenumtypes.h 
 are up-to-date.
 
 Taking he header file as an example, it seems as if this command line should 
 work:-
 
 perl glib-mkenums --template path_to_gioenumtypes.h.template
 path_to_gioenumtypes.h
 
 Obviously, in the real example, those paths are the actual paths.  However, 
 in fact, it consistently gives me this error output:-
 
 /* Generated data (by glib-mkenums) */
 
 Use of uninitialized value $_[0] in substitution (s///) at E:/Program 
 Files/Perl/lib/File/Basename.pm line 338.
 fileparse(): need a valid pathname at glib-mkenums line 259
 
 I'm not sure where Perl is up to these days but I'm running version 5.12.1.  
 Do I need to update Perl to a newer version or can anyone suggests anything 
 else that might be causing this error?
 
 I'm not hugely familiar with Perl but FWIW, here's how the script looks 
 around line 259 of glib-mkenums:
 
 if (length($fhead)) {
 my $prod = $fhead;
 my $base = basename ($ARGV[0]);   /* ---  THIS IS LINE 259 !! */
 
 $prod =~ s/\@filename\@/$ARGV[0]/g;
 $prod =~ s/\@basename\@/$base/g;
 $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ 
 s/\\n/\n/g;
 $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g;
 chomp ($prod);
   
 print $prod\n;
 }

ARGV should be a hint: It means the same thing in perl as it does in C. It 
seems that glib-mkenums either isn't getting an @ARGV or it's somehow getting 
cleared before that line.

It's certainly not a perl version problem.

Try running the command from a cmd shell and see if you get the same error. If 
it works from the shell, then there's something about the way MSVS is launching 
perl that's causing the problem.

Regards,
John Ralls
 

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: glib-mkenums in glib 2

2012-12-26 Thread John Ralls

On Dec 26, 2012, at 11:48 AM, John Emmas john...@tiscali.co.uk wrote:

 On 26 Dec 2012, at 19:20, John Ralls wrote:
 
 
 ARGV should be a hint: It means the same thing in perl as it does in C. It 
 seems that glib-mkenums either isn't getting an @ARGV or it's somehow 
 getting cleared before that line.
 
 
 Thanks John.  I think the fact that ARGV[0] is involved might be significant. 
  From my hazy recollection, argv[0] is normally the path to the app that got 
 launched (in this case, the path to perl.exe).  There's nothing particularly 
 unusual about that path:-
 
 E:\Program Files\Perl\bin\perl.exe
 
 although it does contain a space.  I wonder if that's the issue??
 
 
 
 It's certainly not a perl version problem.
 
 Try running the command from a cmd shell and see if you get the same error. 
 If it works from the shell, then there's something about the way MSVS is 
 launching perl that's causing the problem.
 
 
 I'm ahead of you there!  I've already tried it from a command prompt but the 
 result is the same  :-(

That's good, actually. That takes MSVS out of the equation so you can focus on 
what's going on with perl.

In C, you're absolutely right that argv[0] is the program name. However perl 
does a $0 = shift; before passing control to your program, which moves the 
program name to $0 and removes it from @ARGV (in perl a variable name beginning 
with $ is a scalar and one beginning with @ is an array. The first element of 
the array @ARGV is $ARGV[0]). That means that $ARGV[0] should be --template, 
but for some reason is being stripped.

If you run:

perl -e 'print(join(\n, @ARGV));' foo bar

you should get the output

foo
bar

Do you?

Regards,
John Ralls
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


[gtk-osx-devel] gtk-mac-bundler 0.7.3

2012-11-06 Thread John Ralls
This should be good. Note that it's necessary to update to this version in 
order to bundle applications built with the newly-released stable moduleset 
because of changes in Pango.

About gtk-mac-bundler
=

Gtk-mac-bundler creates an OS X Application Bundle from a Gtk+ Quartz
application, automatically retrieving all shared library dependencies
of the application and any designated executables or loadable modules,
converting the rpaths to the bundle locations for all binaries. Data
files, translations, and themes are also installed.

Gtk-mac-bundler is licensed under the Gnu General Public License
Version 2. Resulting bundles carry whatever licenses govern their
contents.

News


- Another minor bugfix, in this case causing some binary dependencies to not be 
found.

NEW IN 0.7.2

- Mnor bugfix fixed crash during pango module processing.



Download

http://download.gnome.org/sources/gtk-mac-bundler/0.7/gtk-mac-bundler-0.7.3.tar.xz
 (27.8K)
 sha256sum: 799d8d2bbd747ba55d32b7c9f08116e5f2b349358175b05544a4baa91365

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: notifications in gtk

2012-11-06 Thread John Ralls

On Nov 6, 2012, at 8:01 AM, Kristian Rietveld k...@loopnest.org wrote:

 
 On Nov 6, 2012, at 4:23 PM, Matthias Clasen wrote:
 Problems with GtkStatusIcon
 
 - It is really centered around the idea that apps just export a small
 bit of their UI into the 'panel'
 
 - It assumes that all desktops want to offer a permanent place
 (system tray) for applications to present a clickable icon with a
 context menu
 
 - It requires the application to be running as long as its icon is
 present, essentially forcing a daemon mode onto applications (eg
 evolution-alarm-notify)
 
 - The X implementation uses XEmbed and can't really be made to work
 nicely in a composited environment
 
 - The win32 implementation is also problematic
 
 I would argue the OS X implementation is also problematic. Showing the icon 
 in the OS X menu bar is quite easy, however, in response we currently 
 typically pop up a GtkMenu. This gives interesting problems with grabs/event 
 handling. Also, it looks quite out of place because native applications show 
 a native menu. The current GtkStatusIcon makes it close to impossible to 
 automatically convert a GtkMenu into a native menu (e.g. custom menu items) 
 and there's also the case where the status icon pops up something that's not 
 a menu.

All very true. This *helps* Matthias's case to get rid of GtkStatusIcon.

Another point in favor of Matthias's proposal is dbus-independence. Dbus is 
great on Linux, but is a poor fit for OSX, and Win32. Dunno about Android, but 
iOS is decidedly daemon-hostile, so dbus isn't likely to happen there.

As an aside, has anyone ever gotten a Gtk-based program into the iTunes Store 
-- or the App Store, for that matter?

Anyway, all-in-all this looks very good to me.

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


[gtk-osx-devel] gtk-mac-bundler 0.7.2

2012-11-05 Thread John Ralls
But I found another problem almost immediately, so I'll release 0.7.3 tomorrow.

About gtk-mac-bundler
=

Gtk-mac-bundler creates an OS X Application Bundle from a Gtk+ Quartz
application, automatically retrieving all shared library dependencies
of the application and any designated executables or loadable modules,
converting the rpaths to the bundle locations for all binaries. Data
files, translations, and themes are also installed.

Gtk-mac-bundler is licensed under the Gnu General Public License
Version 2. Resulting bundles carry whatever licenses govern their
contents.


Download

http://download.gnome.org/sources/gtk-mac-bundler/0.7/gtk-mac-bundler-0.7.2.tar.xz
 (26.0K)
 sha256sum: 74dedb55ed07dc610932e487482faaf9884e03151131ea0af5fd54bf857abc95


___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: [gtk-osx-devel] Previous method for building gtkmm3

2012-10-21 Thread John Ralls

On Oct 21, 2012, at 9:35 AM, Jim Charlton j...@jimc.dyndns.org wrote:

 Here is my previous method for building gtkmm3 on LION
 
 jhbuild bootstrap --skip libiconv
 edited .jhbuildrc to change modulesets-stable to modulesets-unstable

Don't edit .jhbuildrc. You can set moduleset = foo (with whatever value of foo 
you like) in .jhbuildrc-custom.

 added os.environ[ARCHFLAGS] = -arch x86_64 to .jhbuildrc-custom
 jhbuild build meta-gtk-osx-bootstrap
 jhbuild build meta-gtk-osx-gtkmm (it will halt on errors)
 independently build/install mm-common and meta-gtk-osx-freetype and put a 
 link between .../gtk/inst/lib/freetype and .../freetype2.

Since you're building from unstable, and so using Pango git master, you 
shouldn't need Freetype anymore. I (just) added mm-common as a dependency of 
libsig++, so you won't need to build it after I push the commit.

 jhbuild build --skip=atk-bridge gtk+-3.0

Probably better to build meta-gtk-osx-gtk3. The atk-bridge module has been 
removed, and the gtk3 module's autogen-args includes --without-atk-bridge, 
the skip isn't needed.

 got atkmm-2.22.6.tar from gnome.org and unpacked it, started a jhbuild shell 
 and ./configure,  make, make install

I've just added that to the  moduleset as well.

 continue building meta-gtk-osx-gtkmm
 
 That worked a few months ago and I never got the gobject-introspection error.
 
 I will try again from scratch and see how it now works.

Better to wait a little while, I'm testing my additions to the moduleset and 
I'll push it when I'm done.

Regards,
John Ralls

___
Gtk-osx-devel-list mailing list
Gtk-osx-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-devel-list


Re: Introspecting Pango

2012-09-13 Thread John Ralls

On Sep 13, 2012, at 10:56 AM, Mike  Dupont jamesmikedup...@googlemail.com 
wrote:

 see this example:
 https://mail.gnome.org/archives/commits-list/2012-August/msg00770.html
  type name=TestTypeGUInt64 c:type=RegressTestTypeGUInt64/
 it seems that you are missing the name attribute.
 mike
 

Correct. But foo.gir files aren't made by people, they're made by g-ir-scanner.

g-ir-scanner isn't creating the name attribute from the #defines. The question 
is, what hint (i.e. annotation) to I pass to g-ir-scanner to get it to do the 
right thing?

Regards,
John Ralls

 On Tue, Sep 11, 2012 at 8:41 PM, John Ralls jra...@ceridwen.us wrote:
 I'm trying to make Pango introspect on OSX, and The following defines are 
 giving me trouble:
 #define PANGO_GLYPH_EMPTY   ((PangoGlyph)0x0FFF)
 #define PANGO_GLYPH_INVALID_INPUT   ((PangoGlyph)0x)
 #define PANGO_GLYPH_UNKNOWN_FLAG((PangoGlyph)0x1000)
 
 Produce the following in Pango-1.0.gir:
constant name=GLYPH_EMPTY value=268435455 c:type=PANGO_GLYPH_EMPTY
  type c:type=PangoGlyph/
/constant
 Which dependent introspections (including PangoCairo) reject with the 
 following:
 Pango-1.0.gir:40:34: error: Line 40, character 34: The attribute 'name' on 
 the element 'type' must be specified
 error parsing file Pango-1.0.gir: Line 40, character 34: The attribute 'name' 
 on the element 'type' must be specified
 make[4]: *** [Pango-1.0.typelib] Error 1
 
 No doubt there's some magic annotation to fix that, but I can't see it from 
 the annotations page on GnomeLive [1]. What is it?
 
 Regards,
 John Ralls
 
 [1] https://live.gnome.org/GObjectIntrospection/Annotations
 
 ___
 gtk-devel-list mailing list
 gtk-devel-list@gnome.org
 https://mail.gnome.org/mailman/listinfo/gtk-devel-list
 
 
 
 -- 
 James Michael DuPont
 Member of Free Libre Open Source Software Kosova http://flossk.org
 Saving wikipedia(tm) articles from deletion http://SpeedyDeletion.wikia.com
 Contributor FOSM, the CC-BY-SA map of the world http://fosm.org
 Mozilla Rep https://reps.mozilla.org/u/h4ck3rm1k3
 

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Introspecting Pango

2012-09-11 Thread John Ralls
I'm trying to make Pango introspect on OSX, and The following defines are 
giving me trouble:
#define PANGO_GLYPH_EMPTY   ((PangoGlyph)0x0FFF)
#define PANGO_GLYPH_INVALID_INPUT   ((PangoGlyph)0x)
#define PANGO_GLYPH_UNKNOWN_FLAG((PangoGlyph)0x1000)

Produce the following in Pango-1.0.gir:
   constant name=GLYPH_EMPTY value=268435455 c:type=PANGO_GLYPH_EMPTY
 type c:type=PangoGlyph/
   /constant
Which dependent introspections (including PangoCairo) reject with the following:
Pango-1.0.gir:40:34: error: Line 40, character 34: The attribute 'name' on the 
element 'type' must be specified
error parsing file Pango-1.0.gir: Line 40, character 34: The attribute 'name' 
on the element 'type' must be specified
make[4]: *** [Pango-1.0.typelib] Error 1

No doubt there's some magic annotation to fix that, but I can't see it from the 
annotations page on GnomeLive [1]. What is it?

Regards,
John Ralls

[1] https://live.gnome.org/GObjectIntrospection/Annotations

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Adding gtkparasite to gtk?

2012-02-16 Thread John Ralls

On Feb 16, 2012, at 9:00 AM, Colin Walters wrote:

 On Tue, 2012-02-14 at 16:25 +, Richard Hughes wrote:
 and the upstream seems unwilling to port
 to GTK3,
 
 Why?
[Snip]
 It depends on pygtk,

You answered your own question.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: How GTK styling works

2012-01-16 Thread John Ralls

On Jan 16, 2012, at 1:04 PM, Benjamin Otte wrote:

 CSS goes in, styled windows come out. You can't explain that.
 
 And quite frankly, that sucks. So here's a high-level overview of how
 the GTK CSS machinery works in master. 

[SNIP]

Benjamin,

That's a great write-up. Thanks for the great explanation.

There's one thing that could make it better: Put it on GnomeLive! so that it's 
easy to find, even for people who don't read this list.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: RFC: new features

2012-01-12 Thread John Ralls

On Jan 12, 2012, at 3:32 AM, Paolo Borelli wrote:

 Benjamin Otte otte at gnome.org writes:
 
 
 One thing I've been wondering about is what features GTK is missing.
 This is mostly about developer-visible APIs, ie new widgets, and not
 about internal changes. I have some ideas from IRC discussions, mails
 and applications, but of course there might be big things I'm missing.
 
 UNDO
 A full undo/redo stack may belong in glib, but I'd be happy enough if TextView
 and TextEntry supported it
 
 SPELL CHECKING
 Once again, a full spell checking api may belong in glib, but I'd be happy
 enough to have it in gtk and easily enabled for TextView and TextEntry

It already exists as an add-on package: http://gtkspell.sourceforge.net
It works quite well, and has recently been revived under a new maintainer after 
languishing for a couple of years.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GMenuModel has landed

2011-12-08 Thread John Ralls

On Dec 8, 2011, at 4:58 PM, Ryan Lortie wrote:

 hi,
 
 On Fri, 2011-12-09 at 01:34 +0100, Andrea Bolognani wrote:
 Does this mean different windows belonging to the same application will
 not be able to have different per–window menubars? I’m thinking about
 Empathy here, with its Buddy List and Conversation windows having
 different menubars, but it’s not an uncommon scenario.
 
 I guess a reasonable question to ask here is what empathy would look
 like if it were an application designed for mac os.

I think that you misunderstand how mac os works. 

Yes, a single menu bar is displayed at the top of the screen. This is correct 
behavior according to Fit's Law, because you can bang the pointer to the top of 
the screen and it can't overshoot.

No, applications are not limited to having a single menu bar. It's a one-liner 
to switch menubars when different window (or notebook tab, for that matter) 
gets focus.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: gobject-introspection broken (?) on quartz ?

2011-11-18 Thread John Ralls

On Nov 18, 2011, at 6:53 AM, Kristian Rietveld wrote:

 
 On Nov 18, 2011, at 2:03 PM, Paul Davis wrote:
 
 On Fri, Nov 18, 2011 at 7:56 AM, Paul Davis p...@linuxaudiosystems.com 
 wrote:
 On Fri, Nov 18, 2011 at 3:18 AM, Kristian Rietveld k...@loopnest.org 
 wrote:
 Which machine is this on?  If this is on Tiger, you need to build yourself 
 a newer make (3.71, it's in MacPorts) because things break with the (old) 
 make 3.70 that's shipped with latest XCode for Tiger.
 
 did you mean GNU Make? which is at version 3.82 now?
 
 My apologies (I didn't have my Tiger machine handy), I meant that Tiger ships 
 with GNU make 3.80 and you need at least GNU make 3.81.  This is due to usage 
 of $(or ...) and/or $(and ...) which are only available in 3.81 onwards.
 

Interesting. I hadn't encountered that problem before. I'll add a newer make to 
the bootstrap module and skip it for later OSX versions.

For future reference, please use gtk-osx-users-l...@gnome.org for gtk-osx build 
problems.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: gobject-introspection broken (?) on quartz ?

2011-11-18 Thread John Ralls

On Nov 18, 2011, at 7:02 AM, John Ralls wrote:

 
 On Nov 18, 2011, at 6:53 AM, Kristian Rietveld wrote:
 
 
 On Nov 18, 2011, at 2:03 PM, Paul Davis wrote:
 
 On Fri, Nov 18, 2011 at 7:56 AM, Paul Davis p...@linuxaudiosystems.com 
 wrote:
 On Fri, Nov 18, 2011 at 3:18 AM, Kristian Rietveld k...@loopnest.org 
 wrote:
 Which machine is this on?  If this is on Tiger, you need to build 
 yourself a newer make (3.71, it's in MacPorts) because things break with 
 the (old) make 3.70 that's shipped with latest XCode for Tiger.
 
 did you mean GNU Make? which is at version 3.82 now?
 
 My apologies (I didn't have my Tiger machine handy), I meant that Tiger 
 ships with GNU make 3.80 and you need at least GNU make 3.81.  This is due 
 to usage of $(or ...) and/or $(and ...) which are only available in 3.81 
 onwards.
 
 
 Interesting. I hadn't encountered that problem before. I'll add a newer make 
 to the bootstrap module and skip it for later OSX versions.
 
 For future reference, please use gtk-osx-users-l...@gnome.org for gtk-osx 
 build problems.
 

I should also have mentioned that in general MacPorts isn't compatible with 
gtk-osx. Their set up pollutes the global environment, so the linker will often 
find their libraries instead of the ones built with gtk-osx. I know that you 
two (Kris and Paul) are expert enough to fix that, but there are lots of folks 
out there who aren't -- hence the warning on the Building page Paul referenced.

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK and OSX: a call to sanity

2011-10-11 Thread John Ralls

On Oct 11, 2011, at 3:18 PM, Paul Davis wrote:

 On Mon, Oct 10, 2011 at 4:11 PM, John Ralls jra...@ceridwen.us wrote:
 
 Please have a look and comment either here or directly to me.
 I'd like to merge this into gtk-web master by Thursday.
 
 looks good to me. we should also get ardour onto the ported-app list somehow.

It's a wiki. Just do it. ;-)

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK and OSX: a call to sanity

2011-10-10 Thread John Ralls
I've made a lot of progress on this in the last few weeks. The wiki pages are 
transferred, the gtk-osx, gtk-mac-integration, gtk-mac-bundler projects are in 
git.gnome and ftp.gnome, and Kris has gotten most of the patches reviewed and 
I've pushed them.

Now to the web page. I've written a replacement for 
www.gtk.org/downloads/macos.php with a lot of editorial help from Martyn, and 
it's now ready for you all to review. Martyn has put up a preview at 

http://curlybeast.net:8080/download/macos.php

Please have a look and comment either here or directly to me.

I'd like to merge this into gtk-web master by Thursday.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: SF Bay Area GNOME Hackers

2011-09-15 Thread John Ralls

On Sep 15, 2011, at 4:46 PM, Bob Murphy wrote:

 Some of the SF Bay Area GNOME hackers will be getting together for beer and 
 hackish discussion on September 22.
 
 I've been working on documenting the WebKitGTK DOM API, and will bring along 
 copies for review.
 
 If you're interested in attending, check out the event page at 
 http://www.meetup.com/Bay-Area-GNOME-Developers/events/33740822/
 

Sorry, it's my sister's birthday and we're doing a family dinner. Maybe next 
time.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK and OSX: a call to sanity

2011-09-12 Thread John Ralls

On Sep 7, 2011, at 7:26 AM, Federico Mena Quintero wrote:

 Now, on technical matters:
 
 I looked quickly at git diff origin/master..origin/quartz-integration
 and the diff is very simple:
 
 * A bunch of changes to gdk-quartz and gtk*-quartz.c - I imagine that
 these can be merged just as they are, since they don't touch the
 platform-independent code at all.  I'm sure some of these bits could be
 reviewed / prettified by someone who knows a lot of OSX idioms, but it's
 better to have them in *now* and polish them later.
 
 * This bit:
 
 --- a/gdk/x11/gdkdevicemanager-xi2.c
 +++ b/gdk/x11/gdkdevicemanager-xi2.c
 @@ -417,10 +417,6 @@ gdk_x11_device_manager_xi2_constructed (GObject *object)
  for (i = 0; i  ndevices; i++)
{
  dev = info[i];
 -
 -  if (!dev-enabled)
 -   continue;
 -
  add_device (device_manager, dev, FALSE);
 
 No idea what that's about.

Not mine, likely due to my having turned off the nightly merges/builds/pushes 
until this matter gets sorted.

 
 * Some Makefile.am changes; these could use a quick sanity check.
 
 * Some additions to gtkprivate.h, analogous to what it has for win32 right 
 now.
 
 * A bunch of #ifndef GDK_WINDOWING_QUARTZ in gtkselection.c, so that
 those functions can be implemented in gtkselection-quartz.c instead.
 This can probably be made prettier by moving the original functions to a
 gtkselection-x11.c or something like that.

Or I could duplicate the whole file, as was done with gtkdnd-quartz.c and 
gtkclipboard-quartz.c. I prefer not to do that because any maintenance on the 
primary file will cause problems unless it's quickly noticed and the 
quartz-specific file is also updated.

There's a larger problem with this, though, worthy of its own thread: Compile 
time OS/GDK_WINDOWING checks break the multiple-backend architecture of Gtk3. 
Quartz is the worst offender, but there are ifdef OS_WIN32 blocks floating 
around too.

 
 * An unused variable in gtkthemingengine.c; should be removed.
 
 * Inconsequential whitespace changes in some .po files; should be
 removed.

More out-of-sync-with-master differences.

 
 * A tests/testundecorated.c - no idea.

Related to a crash in Lion with undecorated windows. See bug 655079. There's no 
patch to add this to master; I'm not sure whether or not it should be. The fix 
has already been committed to master and backported to 2.24, and the bug closed.

 
 In all, it sounds like you could merge all the changes to *quartz*.[ch]
 files as they are, and just give a quick look to the rest of the
 changes.
 
 As to what is in Bugzilla, is there a quick way to find all the Quartz
 bugs to speed up their review?  (Or are those patches already in the
 quartz-integration branch?  I didn't look at individual commits to see
 if they had bug numbers.)

I rebased a local branch off quartz-integration against master and carefully 
went through all of the changes. There were indeed a couple that didn't have 
bugs, so I created the bugs and attached the relevant patches. There were some 
others that were quite old, so I updated the patches on the bugs. The bugs in 
question are:

514843: gtkfilechooser should be more robust
571582: GtkSelection implementation for quartz.
628936: Minimal change to pass introspection.
657770: Write releaseed memory in gtkdnd-quartz.c
607115: _gtk_key_hash_lookup fails to handle modifiers
658722: Drag and Drop sometimes stops working
658767: Drag and Drop NSEvent is Racy
658772: Directory paths for resource directories are hard coded.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK and OSX: a call to sanity

2011-09-08 Thread John Ralls

On Sep 8, 2011, at 4:55 AM, Olav Vitters wrote:

 On Wed, Sep 07, 2011 at 05:28:21PM -0700, John Ralls wrote:
 The rest of Gtk-OSX isn't Gtk. It's a build system using jhbuild with
 its own modulesets, 

 The moduleset could just be in jhbuild?

Not moduleset, modulesets. Three sets of 9 modulesets. Also 36 patches, some of 
which are obsolete and could be deleted (and a bunch more that could become 
obsolete if they were approved for committing to Gtk), a customized jhbuildrc 
and several examples for further customization. Yes, it could be integrated 
into the jhbuild repo, but it would take some discussion with the jhbuild 
maintainers to work out how to lay it out.

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK and OSX: a call to sanity

2011-09-08 Thread John Ralls

On Sep 7, 2011, at 2:10 AM, Milan Bouchet-Valat wrote:

 Le mardi 06 septembre 2011 à 16:34 -0700, John Ralls a écrit :
 I'm not going to respond to most of that.
 I think you shouldn't take Emmanuele's tone so bad. ;-)
 He's always very direct, but his point is right, and his suggestions are
 actually the acknowledgment that your work is worth being part of core
 GTK - they are meant to help you. I'm going to try telling things in a
 slightly nicer fashion...
 
 Suffice it to say that building gtk-osx is largely automated, and
 there are well-tested instructions at
 http://sourceforge.net/apps/trac/gtk-osx/wiki/Build
 That's not the question. This page should be on live.gnome.org, because
 that's where we assume docs are, and people with an account there can
 give a hand.

Well, you know what they say about assume, but OK. That's probably the 
easiest task on the list, though I think GnomeLive and Trac Wiki use some 
different notation so there would be some work reformatting unless someone 
knows of a ready-made translation program somewhere.

 
 I didn't get commit privs at Gnome.org until just under a year ago, 18
 months after I took over from Richard. I still don't have privs on any
 of the other facilities except Bugzilla, and there only because I'm a
 Gnucash Dev. (That turns out to be sufficient for almost everything.)
 Maybe it took some time, but in my experience getting privileges is very
 fast. Anyway, now you have everything you need to work on gnome.org,
 don't you?

No.
I have commit privs on git.gnome.org, and dev privs on bugzilla (not through 
Gtk+, though). I would need to make binaries available on ftp.gnome.org and to 
have a support mailing list (which I haven't requested, so that's not anyone's 
fault. I did request privs for ftp.gnome.org at the same time I requested git 
commit privs, but that wasn't granted.)

 
 Gtk-OSX needs its own mailing list because it provides jhbuild
 modules for over 100 separate projects, not all of which are even
 Gnome. It's not feasible for me to monitor all of them for support,
 nor is it reasonable for users of my build scripts to have to figure
 out which one to use for any particular problem.
 So maybe you need a separate mailing list for helping building these
 programs, but it could live on gnome.org. For GTK+ development itself ,
 the present list is the natural place, like Emmanuele said.

And the fact that I'm here shows that I agree. Shawn was here (until Olaf 
kicked him off this morning) for the same reason. I'm quite aggressive about 
pushing problems about whatever module to the appropriate bug tracker or 
mailing list. (In most cases, that's gtk-app-devel rather than gtk-devel for 
gtk.)
 
 It's not a fork of Gtk+ (yet, though on days like this one I get
 really tempted). I actually revived the gtk-osx project on SF; the
 previous version was an actual fork of Gtk1.
 So let's improve things a step more, and completely merge the project.
 Sounds like the natural end of the story. :-)

Merge which project with what? The actual build project could be merged with 
jhbuild, but it's not a simple dropin and would need to be discussed. Where 
should that discussion take place? Here?

I could create projects for ige-mac-bundler and ige-mac-integration (though 
they should probably be renamed to gtk-mac-foo) on git.gnome.org, but unless I 
can upload the tarballs it doesn't do me much good. gtk-quartz-engine is 
already on git.gnome. 

On the other hand, bundling is part of building, so bundler could be folded 
into jhbuild. Ige-mac-integration is an add-on to Gtk that (rather tortuously) 
puts the menus on the mac menu bar and provides access to the Dock menu for Gtk 
applications. I think it could be integrated into Gtk+ (I haven't tried) but 
since some app devs like to keep the menus on the windows, it should probably 
be a runtime option.

Two other pieces, gtk-osx-docbook and gnome-doc-utils-fake, could be combined 
under a mac support directory of jhbuild. They don't need much maintenance (I 
haven't needed to touch either of them since I got them from Richard), but 
their tarballs need to be hosted somewhere.

Bugs are another issue. If the build portion gets merged with jhbuild, then I'd 
say there should be an osx component there to receive gtk-osx bugs. (There 
haven't been many.)

The webpage could be moved into gtk.org, though I don't think it should go 
under downloads as that conveys rather the wrong impression. Some assembly 
(no, not that kind ;-) ) definitely required. It would take a bit of cleanup to 
make it look like the rest of the Gtk website; more important, it would need to 
be converted to php, and I have zero knowledge about how to do that.

 
 As I explained earlier, the changes *are* patches, they *are* attached
 to bugs in Bugzilla, and Kris Reitveld *has* promised to review them.
 When he has had time to do so and they have been polished to his high
 standards, they will be committed into mainline.
 If you need

Re: GTK and OSX: a call to sanity

2011-09-07 Thread John Ralls

On Sep 7, 2011, at 7:26 AM, Federico Mena Quintero wrote:

 On Wed, 2011-09-07 at 08:25 +0100, Emmanuele Bassi wrote:
 
 Windows and Linux build issues and support are handled on gnome.org: the
 Quartz backend of gtk is not in any regard special and it should not
 need separate resources.
 
 One thing we have been bad at is learning to accept that sometimes, our
 Gnome ecosystem breeds little niches of their own, and then some of them
 turn into rightful ecosystems that *don't really need* much
 communication with the mainline - they can exist on their own, with
 occasional re-syncs, and with occasional pain.
 
 I imagine that the Quartz backend is such a case: it probably started as
 a let's port this and see where it takes us exercise, and then people
 started writing jhbuild modulesets for apps, integration patches, etc.
 It started growing and generating its own gravity and it didn't really
 need to share much with Gnome or GTK+ proper - it would have been nice
 to keep everything integrated from the start, in both code and
 infrastructure, but it would probably have implied a lot of extra work
 for both parties.
 
 *Now* it seems to be the time where the cost of keeping things separate
 is greater than just re-syncing periodically - so let that be; do the
 integration and forget about the temporary split.  You can think of
 this work of merging as the necessary work to meld two ecosystems
 together - you can't put a desert next to a jungle without a savannah in
 the middle.  Okay, bad analogy, but I'm only on my first coffee today.
 

It's important not to confuse Gtk-OSX with Gtk's quartz backend. The latter is 
completely part of Gtk, and I use Gtk's facilities exclusively for working on 
it... except for ige-mac-integration, a library which allows Gtk applications 
to use the Mac menu bar and Dock menus, and is still a separate project because 
I haven't mad time to integrate it. OTOH, I wrote the gtkselection 
implementation 2 years ago and the patch [1] is still in the review hopper, so 
I'm not the only one short on time.

The rest of Gtk-OSX isn't Gtk. It's a build system using jhbuild with its own 
modulesets, a python script for making application bundles, and a few other 
bits and pieces, including gtk-quartz-engine, a Cocoa HIT theme engine which I 
haven't touched since Richard Hult left it to me except to ensure that the 
github and git.gnome.org repos are the same. I don't even know if it works with 
Gtk3.

What's the cost of keeping those bits on Sourceforge vs. Gnome.org? ISTM it 
will cost me a lot of time and effort to move them into gnome.org with no real 
benefit to anyone except Emmanuele who can't seem to get an SF account. 
(Emmanuele, if you really want to sort that out, email me directly and I'll see 
what I can do to help.)

Regards,
John Ralls

[1] https://bugzilla.gnome.org/show_bug.cgi?id=571582


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Alt and Command keys in the quartz backend

2011-09-06 Thread John Ralls

On Sep 6, 2011, at 1:27 AM, Michael Natterer wrote:

 Hi all,
 
 Currently, the mapping of the Alt and Command keys on the mac
 is completely screwed:
 
 - The key labeled Command maps to GDK_MOD1_MASK (which is
  essentially interpreted as Alt by all existing code)
 
 - The key labeled Alt isn't mapped to any modifier at all
 
 Now there is a lot of discussion in these bug reports:
 
 https://bugzilla.gnome.org/show_bug.cgi?id=607115
 https://bugzilla.gnome.org/show_bug.cgi?id=605799
 
 but at the bottom of all that is the above mentioned
 problem. After it's fixed we can fix whatever keymap
 issues in GTK on top.
 
 It seems pretty obvious to me that the key labeled
 Alt should produce GDK_MOD1_MASK because all existing
 code considers that being the Alt key.
 
 The only question is what to map Command to, and we
 are free to choose whatever, since the behavior will
 change away from the current one of producing GDK_MOD1_MASK
 anyway.
 
 I personally prefer GDK_META_MASK because it's what the
 Windows key is mapped to on PC keyboards, but that's not
 a strong reason (and it is, as saidm completely arbitrary
 anyway).
 
 Opinions? I volunteer to patch up all 3 branches once
 we come to an agreement.

How long have you been using a Mac as your primary computer? On what mac-native 
programs that you use daily is the alt/OPTION key used as a stand-alone 
modifier for shortcuts with default settings (any preference changes you've 
made don't count)?

How does the code know what key produces the mod1 bit? Why would it care?

Regards,
John Ralls
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Alt and Command keys in the quartz backend

2011-09-06 Thread John Ralls

On Sep 6, 2011, at 6:53 AM, Michael Natterer wrote:

 On Tue, 2011-09-06 at 06:37 -0700, John Ralls wrote:
 On Sep 6, 2011, at 1:27 AM, Michael Natterer wrote:
 
 Hi all,
 
 Currently, the mapping of the Alt and Command keys on the mac
 is completely screwed:
 
 - The key labeled Command maps to GDK_MOD1_MASK (which is
 essentially interpreted as Alt by all existing code)
 
 - The key labeled Alt isn't mapped to any modifier at all
 
 Now there is a lot of discussion in these bug reports:
 
 https://bugzilla.gnome.org/show_bug.cgi?id=607115
 https://bugzilla.gnome.org/show_bug.cgi?id=605799
 
 but at the bottom of all that is the above mentioned
 problem. After it's fixed we can fix whatever keymap
 issues in GTK on top.
 
 It seems pretty obvious to me that the key labeled
 Alt should produce GDK_MOD1_MASK because all existing
 code considers that being the Alt key.
 
 The only question is what to map Command to, and we
 are free to choose whatever, since the behavior will
 change away from the current one of producing GDK_MOD1_MASK
 anyway.
 
 I personally prefer GDK_META_MASK because it's what the
 Windows key is mapped to on PC keyboards, but that's not
 a strong reason (and it is, as saidm completely arbitrary
 anyway).
 
 Opinions? I volunteer to patch up all 3 branches once
 we come to an agreement.
 
 How long have you been using a Mac as your primary computer? On what 
 mac-native programs that you use daily is the alt/OPTION key used as a 
 stand-alone modifier for shortcuts with default settings (any preference 
 changes you've made don't count)?
 
 I don't see how this is relevant, but i bow to your experience.
 
 How does the code know what key produces the mod1 bit? Why would it care?
 
 Code *knows* that MOD1 is Alt, and there is a key named Alt
 on the keyboard. Therefore it must produce MOD1. There is nothing
 to argue here.
 
 There is no reason to not use that consistency across
 3 platforms when we can get it for free.

Really? Gtk+ is activating the camera in my Macbook and watching me push the 
alt/option key? 

Your argument is absurd on its face, as I said in the discussion on bug 607119. 

As for why using a Mac is relevant, the object of the exercise is to produce 
programs which are as well-integrated as possible into the Mac user experience. 
If mac users want to run programs that behave like X11, they run them under X11 
(which is provided by Apple as part of the OS, and which initializes 
automatically when the machine receives an X11 connection request). Users of 
Gtk programs with the quartz backend want their programs to behave like native 
programs. Since you don't actually use a Mac, and apparently haven't surveyed 
mac users, why do you think that you should be able to dictate how they use 
their computers, or how the Quartz maintainers configure Gtk to work on a Mac?

By the way, the key you claim is named Alt is in fact named option; it has 
a smaller label alt in the upper left corner of the key, just as the 
command key has a quatrefoil symbol in the upper left corner (older keyboards 
had an Apple logo on that key as well, and it was often referred to as the 
Apple key). It is sometimes referred to as the alt/option key, and while 
it's true that the enum name for it in Cocoa is NSAlternateKey, that's 
invisible to users. As I've also explained more than once in the long running 
discussion on 607119, the primary function of the option key is to extend the 
keyboard for i18n, a feature upon which many European users depend, and which 
conflicts with using option as a naked accelerator (i.e., without command or 
control as additional modifiers) in text context -- meaning at all in practice. 
In other words,  you're right that there's nothing to argue, but you're wrong 
that option should be mapped to Mod1.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Alt and Command keys in the quartz backend

2011-09-06 Thread John Ralls

On Sep 6, 2011, at 9:58 AM, Paul Davis wrote:

 On Tue, Sep 6, 2011 at 12:49 PM, Michael Natterer mi...@gimp.org wrote:
 On Tue, 2011-09-06 at 08:27 -0700, John Ralls wrote:
 
 [ ... imminent turf war ... ]
 
 this seems to be about two different things, neither of which are in
 conflict (and i think john actually agrees with this).
 
 1) whether or not the Alt key should generate MOD1 as a modifier
 2) whether or not code that wants to be cross-platform can assume that
 they can use MOD1 with its own chosen semantics
 
 the problem is that (2) includes GTK, not just applications, and GTK
 already makes this assumption. as a result, john changed the modifier
 that alt/option generates on OS X, because (2) is not true for OS X.
 
 if (2) was fixed so that GTK was not an example of code that assumes
 that MOD1 is free for any interpretation on any platform, then (1) is
 moot, and it really doesn't matter what the Alt key generates on OS X
 (hence, it could be MOD1).
 
 but as long as (2) remains an issue within GTK itself, its hard to
 argue that a key that has clearly different purposes for a large body
 of platform users of OS X should be handled by GTK as if it had some
 different meaning based on another platform.

Actually, that was last changed by Richard Hult in 2008 [1], about 6 months 
before I got involved.

I think I'd go further and require that the MODX masks be made private to GDK 
before I'd agree that it's moot. Even with the MOD1 hardcoding in Gtk removed 
there are still lots of other cases running around, and we'd still get 
complaints like Michael's that it's somehow broken. 

Regards,
John Ralls



[1] 
http://git.gnome.org/browse/gtk+/commit/gdk?id=31357d3cc7d37e5b0fe674835406c255a961a358
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Alt and Command keys in the quartz backend

2011-09-06 Thread John Ralls

On Sep 6, 2011, at 10:42 AM, Michael Natterer wrote:

 On Tue, 2011-09-06 at 12:58 -0400, Paul Davis wrote:
 On Tue, Sep 6, 2011 at 12:49 PM, Michael Natterer mi...@gimp.org wrote:
 On Tue, 2011-09-06 at 08:27 -0700, John Ralls wrote:
 
 [ ... imminent turf war ... ]
 
 this seems to be about two different things, neither of which are in
 conflict (and i think john actually agrees with this).
 
 1) whether or not the Alt key should generate MOD1 as a modifier
 2) whether or not code that wants to be cross-platform can assume that
 they can use MOD1 with its own chosen semantics
 
 the problem is that (2) includes GTK, not just applications, and GTK
 already makes this assumption. as a result, john changed the modifier
 that alt/option generates on OS X, because (2) is not true for OS X.
 
 if (2) was fixed so that GTK was not an example of code that assumes
 that MOD1 is free for any interpretation on any platform, then (1) is
 moot, and it really doesn't matter what the Alt key generates on OS X
 (hence, it could be MOD1).
 
 but as long as (2) remains an issue within GTK itself, its hard to
 argue that a key that has clearly different purposes for a large body
 of platform users of OS X should be handled by GTK as if it had some
 different meaning based on another platform.
 
 That's not what I'm asking for. The only special meaning of Alt
 in GTK is to invoke mnemonics. Other than that, it's simply a modifier.
 Same on the Mac, it's just a modifier. Let's just disable the mnemonics
 on the Mac then.
 
 The fact that the OS uses it to generate special characters is
 not really relevant here. One X11 window manager steals key
 combo A from the app, the other one key combo B, there is nothing
 I can do about this.
 
 Turning Alt into Alt fixes more than it breaks. It fixes e.g.
 configuring GTK keybindings (you can easily make Alt-cursor do
 word navigation then, the config file says alt, it's all correctly
 mapped, the modifier says alt, and it just works).
 
 And it's not just key bindings. Alt-click should be alt-click,
 there is nothing wrong about that. If the OS decides to use it
 for its own purposes, then it's the job of higher-level code
 to be aware of that. 
 
 If we need to change something in GTK as a consequence of that
 change, then so be it, but please let's not do strange stuff
 to the quartz' backend's modifier mapping just to accommodate
 some code in GTK that was never meant to handle the Mac, but
 can easily be changed to simply do it.

It's not really different. Getting rid of the hard-coded association between 
alt in an accelerator map or key binding and GDK_MOD1_MASK is part of Paul's 
(2). I'd map it to GDK_META_MASK, but I'm open to super, hyper, or a new 
GDK_ALT_MASK (bit 25, perhaps). It *is* the right thing to do, I think, but 
it's not a quartz-only change and it probably would not be welcome in 
gtk+-2.24. 

This doesn't have anything to do with being able to map option-d to an 
accelerator map item altd and have it work. It won't. (At present in master 
altd will map to command-d, which works fine and presents only a 
documentation problem to the app developer.)

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK and OSX: a call to sanity

2011-09-06 Thread John Ralls

On Sep 6, 2011, at 11:12 AM, Emmanuele Bassi wrote:

 okay, I've tried to get ahold of the gtk-osx project for a while, now,
 but since sf.net is just a joke and decided to reject my @gmail.com
 emails, let's try here.
 
 can we *please* stop this madness:
 
 17:05  CIA-8 jralls quartz-integration * r7e37d94f2178 gtk+/ (10 files
   in 4 dirs): Merge branch 'master' into quartz-integration
 17:05  CIA-8 jralls quartz-integration * rf75a882670a8 gtk+/ (9 files
   in 4 dirs): Merge branch 'master' into quartz-integration
 17:05  CIA-8 jralls quartz-integration * r8c288f0f890e gtk+/ (24 files
   in 7 dirs): Merge branch 'master' into quartz-integration
 17:05  CIA-8 jralls quartz-integration * r41abe4a72f16 gtk+/ (4 files
   in 3 dirs): Merge branch 'master' into quartz-integration
 17:05  CIA-8 jralls quartz-integration * r964b25d17b45 gtk+/ (35 files
   in 3 dirs): Merge branch 'master' into quartz-integration
 
 if there are patches for gtk-quartz, why are these inside at least three
 branches instead of being committed to corresponding main line one? why
 are these branch continuously being merged instead of being rebased, if
 they are personal branches?
 
 why are the tools to make bundles and modulesets hosted on github
 instead of being on gnome.org?
 
 why is gtk-osx a separate project, with mailing lists hosted on
 sourceforge, instead of being on gnome.org? every time that a project
 maintainer decides to use sourceforge, the Universe kills a puppy.
 
 can we please, *please*, for the love of all that's nice and pure in this
 Universe, stop killing puppies?

Emmanuele,

You could have written me directly: my email address is in the git 
repositories, attached to the commits that you're complaining about.

The tools and modulesets are on GitHub because that's where Richard Hult put 
them when he started 5 or 6 years ago and I haven't had time to change that 
since getting commit privs on git.gnome.org last year. What bothers you about 
it?

Gtk-OSX is a separate project hosted on Sourceforge because Richard was using 
the facilities of his company, Imendio, which he had just dissolved. Those 
resources weren't available to me. The barriers to setting up a full project on 
Gnome including mailing lists, a bugtracker, web fora, source repositories, web 
pages, and ftp downloads seem daunting and time consuming -- while I (or anyone 
else) can have it set up on Sourceforge in a few hours with a single request. 
Sourceforge is working well hosting all of that stuff and no puppies are being 
killed -- nor is anything else bad happening.

I'm sorry that you're irritated by the noise of the daily merges between master 
and quartz-integration, and between gtk-2.24 and gtk-2.24-quartz. Those 
tracking branches exist because I want to make it easy for application 
developers to use my changes to quartz, synchronized with the latest changes on 
the masters of each branch. Kris Reitveld asked me to wait until he reviews the 
patches to commit them to the mainline branches, and since his review is very 
valuable (he has a much deeper knowledge of the codebase than I do) I am 
complying with his request. If the noise from the merges is really that 
annoying I can easily move the quartz branches to Github and delete them from 
git.gnome.org.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Alt and Command keys in the quartz backend

2011-09-06 Thread John Ralls

On Sep 6, 2011, at 12:10 PM, Michael Natterer wrote:

 On Tue, 2011-09-06 at 11:57 -0700, John Ralls wrote:
 On Sep 6, 2011, at 10:42 AM, Michael Natterer wrote:
 
 On Tue, 2011-09-06 at 12:58 -0400, Paul Davis wrote:
 On Tue, Sep 6, 2011 at 12:49 PM, Michael Natterer mi...@gimp.org wrote:
 On Tue, 2011-09-06 at 08:27 -0700, John Ralls wrote:
 
 [ ... imminent turf war ... ]
 
 this seems to be about two different things, neither of which are in
 conflict (and i think john actually agrees with this).
 
 1) whether or not the Alt key should generate MOD1 as a modifier
 2) whether or not code that wants to be cross-platform can assume that
 they can use MOD1 with its own chosen semantics
 
 the problem is that (2) includes GTK, not just applications, and GTK
 already makes this assumption. as a result, john changed the modifier
 that alt/option generates on OS X, because (2) is not true for OS X.
 
 if (2) was fixed so that GTK was not an example of code that assumes
 that MOD1 is free for any interpretation on any platform, then (1) is
 moot, and it really doesn't matter what the Alt key generates on OS X
 (hence, it could be MOD1).
 
 but as long as (2) remains an issue within GTK itself, its hard to
 argue that a key that has clearly different purposes for a large body
 of platform users of OS X should be handled by GTK as if it had some
 different meaning based on another platform.
 
 That's not what I'm asking for. The only special meaning of Alt
 in GTK is to invoke mnemonics. Other than that, it's simply a modifier.
 Same on the Mac, it's just a modifier. Let's just disable the mnemonics
 on the Mac then.
 
 The fact that the OS uses it to generate special characters is
 not really relevant here. One X11 window manager steals key
 combo A from the app, the other one key combo B, there is nothing
 I can do about this.
 
 Turning Alt into Alt fixes more than it breaks. It fixes e.g.
 configuring GTK keybindings (you can easily make Alt-cursor do
 word navigation then, the config file says alt, it's all correctly
 mapped, the modifier says alt, and it just works).
 
 And it's not just key bindings. Alt-click should be alt-click,
 there is nothing wrong about that. If the OS decides to use it
 for its own purposes, then it's the job of higher-level code
 to be aware of that. 
 
 If we need to change something in GTK as a consequence of that
 change, then so be it, but please let's not do strange stuff
 to the quartz' backend's modifier mapping just to accommodate
 some code in GTK that was never meant to handle the Mac, but
 can easily be changed to simply do it.
 
 It's not really different. Getting rid of the hard-coded association between 
 alt in an accelerator map or key binding and GDK_MOD1_MASK is part of 
 Paul's (2). I'd map it to GDK_META_MASK, but I'm open to super, hyper, or a 
 new GDK_ALT_MASK (bit 25, perhaps). It *is* the right thing to do, I think, 
 but it's not a quartz-only change and it probably would not be welcome in 
 gtk+-2.24. 
 
 It is not the right thing to do. Why do you insist on that,
 and what is wrong about the hard-coded association between
 ALT and MOD1_MASK? What is the problem about fixing GDK to
 map Alt to what is globally considered Alt, and then fix
 the platform-specific things in GTK+ afterwards?


For one thing, the platform-specific stuff belongs in Gdk. That's why there's 
gdk/broadway, gdk/quartz, gdk/wayland, gdk/win32, and gdk/x11. Yes, there are 
gtkdnd-quartz, gtkclipboard-quartz, gtkstatusicon-quartz, and (in 
quartz-integration) gtkselection-quartz. That's an unfortunate side effect of 
the main implementations being so closely tied to the X11 model that they 
couldn't be integrated with quartz at the gdk level, and it breaks the 
multiple-backend feature of Gtk+-3.

For another, key-mapping is done in gdk as the very first step in processing a 
native key-down/up event (well, OK, the second step, the first being to decide 
that it's a key-down/up event and to dispatch it to the key-mapping routine). 
That is, of course, in a virtualized gdk function call. You're proposing to 
then reinterpret those key-down/up events in gtk? That seems rather complicated.
 
Nothing is wrong with alt being mapped to GDK_MOD1_MASK so long as 
NSCommandKey is also mapped to GDK_MOD1_MASK. Why do you object to that? Is it 
that the GIMP documenters don't want to write (Command-foo on Macs) next to 
every occurrence of The accelerator for Bar is Alt-foo?

Regards,
John Ralls



___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Alt and Command keys in the quartz backend

2011-09-06 Thread John Ralls

On Sep 6, 2011, at 1:13 PM, Michael Natterer wrote:

 On Tue, 2011-09-06 at 21:51 +0200, Kristian Rietveld wrote:
 On Sep 6, 2011, at 6:58 PM, Paul Davis wrote:
 this seems to be about two different things, neither of which are in
 conflict (and i think john actually agrees with this).
 
 1) whether or not the Alt key should generate MOD1 as a modifier
 2) whether or not code that wants to be cross-platform can assume that
 they can use MOD1 with its own chosen semantics
 
 I have typically avoided the debate on modifiers/etc. since I am not very 
 familiar with the X11 background of them either.
 
 The two things you set out indeed seem to make much sense to me. The big 
 question to me is around (2), if MOD1 is passed by GDK, should  GTK+ or an 
 application still include cross-platform handling or should the 
 cross-platform handling already been taken care of?  I get the impression 
 that given that keybindings still need cross-platform porting at the GTK+ 
 level, the former is perhaps not a strange assumption.  For the former, 
 having modifiers bound to keys with similar labels is, I *think*, helpful 
 for implementing the cross-platform handling in GTK+ and/or applications. 
 
 I agree, and I would argue like this about ALT/MOD1:
 
 - on GTK+, ALT/MOD1 are used for mnemonics, which are typically
  translatable, which means unforeseeable, so cannot really be used
  for apps.
 
 - on the Mac, ALT/Option is used for generating special chars, which
  are different per keyboard layout, which means unforeseeable, so
 cannot
  really be used for apps.
 
 So there is no conflict here, see below.
 
 if (2) was fixed so that GTK was not an example of code that assumes
 that MOD1 is free for any interpretation on any platform, then (1) is
 moot, and it really doesn't matter what the Alt key generates on OS X
 (hence, it could be MOD1).
 
 but as long as (2) remains an issue within GTK itself, its hard to
 argue that a key that has clearly different purposes for a large body
 of platform users of OS X should be handled by GTK as if it had some
 different meaning based on another platform.
 
 My impression is that GTK+ has to be fixed first here before we can consider 
 binding the key labeled with Alt to MOD1 like is done on other platforms.
 
 IMHO for the ALT/MOD1 mapping to work nicely, we simply need to
 hardcode gtk-enable-mnemonics to FALSE and we're done. Apps are
 used to have Alt-foo being taken by the system in an unpredictable
 way, and Alt-mouse interaction will just start working on the Mac
 too, so will keybindings that use Alt. Note that key bindings
 don't have above being taken problem, since they will typically
 modify a widget's key binding to do exactly what the respective
 Mac control does, so there should be no conflict.
 
 Did I miss anything here?

Uh, won't hard coding gtk-enable-mnemonics=FALSE (I suppose you mean the 
GtkSettings property, and that you propose to do it inside of some sort of a 
runtime check for the quartz backend) mean that all keybindings, regardless of 
what modifier keys they use, *don't* work?

Have you actually tried any of these things? On a Mac? With the deadkeys patch 
[1]? No? Why don't you, and when you get it working post your patch on Bug 
607115 [2]? You might find the test program I posted there [3] helpful in 
understanding how the Apple keyboard differs from the Microsoft one. It should 
compile in a gtk-osx or macports-quartz environment with 'gcc -o keytest 
keytest.c `pkg-config --cflags --libs gtk+-3.0`'

Regards,
John Ralls

[1] https://bugzilla.gnome.org/attachment.cgi?id=175439
[2] https://bugzilla.gnome.org/show_bug.cgi?id=607115
[3] https://bugzilla.gnome.org/attachment.cgi?id=175074
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK and OSX: a call to sanity

2011-09-06 Thread John Ralls

On Sep 6, 2011, at 3:07 PM, Emmanuele Bassi wrote:

 On 2011-09-06 at 13:32, John Ralls wrote:
 
 if there are patches for gtk-quartz, why are these inside at least three
 branches instead of being committed to corresponding main line one? why
 are these branch continuously being merged instead of being rebased, if
 they are personal branches?
 
 why are the tools to make bundles and modulesets hosted on github
 instead of being on gnome.org?
 
 why is gtk-osx a separate project, with mailing lists hosted on
 sourceforge, instead of being on gnome.org? every time that a project
 maintainer decides to use sourceforge, the Universe kills a puppy.
 
 can we please, *please*, for the love of all that's nice and pure in this
 Universe, stop killing puppies?
 
 The tools and modulesets are on GitHub because that's where Richard
 Hult put them when he started 5 or 6 years ago and I haven't had time
 to change that since getting commit privs on git.gnome.org last year.
 What bothers you about it?
 
 that something that should be in a central location is not. in order to
 build gtk on OSX I have to hunt down various bits and blobs, and the
 barrier to contribution from me, a gtk developer, is higher.
 
 Gtk-OSX is a separate project hosted on Sourceforge because Richard
 was using the facilities of his company, Imendio, which he had just
 dissolved. Those resources weren't available to me. The barriers to
 setting up a full project on Gnome including mailing lists, a
 bugtracker, web fora, source repositories, web pages, and ftp
 downloads seem daunting and time consuming -- while I (or anyone else)
 can have it set up on Sourceforge in a few hours with a single
 request. Sourceforge is working well hosting all of that stuff and no
 puppies are being killed -- nor is anything else bad happening.
 
 sourceforge is working so well that it bounces and rejects my emails to
 the mailing lists for days. their bug tracking system is the scourge of
 the earth, and the mailing list archives are a joke.
 
 but those are moot points: the gtk resources *are* on gnome.org. why you
 need a separate mailing list and forum and bug tracker is beyond me:
 
  • once you have a Git account you can create repositories on
  git.gnome.org in 30 seconds;
 
  • the gtk bug tracking system in bugzilla.gnome.org; the Quartz
  backend specific bugs have a component under the gtk+ product;
 
  • the separate tools for OS X integration can get a separate product
  just by opening a bug on bugzilla.gnome.org;
 
  • the gtk website is hosted in git.gnome.org; the OS X integration
  should be part of that website;
 
  • downloads are available from download.gnome.org;
 
  • gtk has three mailing lists already: gtk-list, gtk-app-devel-list
  and gtk-devel-list; application and toolkit development on OS X is
  on topic on those three lists.
 
 there is no time consumption — just the willingness to cooperate in an
 open source project according to the rules of said open source project.
 
 I'm sorry that you're irritated by the noise of the daily merges
 between master and quartz-integration,
 
 I'm moderately irritated by the fact that the branch's history is
 immensely fucked up — but that's just because I'm OCD on the history in
 a revision control system.
 
 that is, however, *not* my issue.
 
 the issue is that those branches should *not* exist, unless they are
 personal development branches. if you plan on letting other users target
 them then you should get those commits merged into the main line and
 keep the patches in bugzilla, where the review for gtk fixes and
 enhancements happens.
 
 otherwise you're just forking gtk, and using the resources of the gtk
 project to give an aura of officiality to what is essentially your own
 personal project.

I'm not going to respond to most of that. Suffice it to say that building 
gtk-osx is largely automated, and there are well-tested instructions at
http://sourceforge.net/apps/trac/gtk-osx/wiki/Build

I didn't get commit privs at Gnome.org until just under a year ago, 18 months 
after I took over from Richard. I still don't have privs on any of the other 
facilities except Bugzilla, and there only because I'm a Gnucash Dev. (That 
turns out to be sufficient for almost everything.) Gtk-OSX needs its own 
mailing list because it provides jhbuild modules for over 100 separate 
projects, not all of which are even Gnome. It's not feasible for me to monitor 
all of them for support, nor is it reasonable for users of my build scripts to 
have to figure out which one to use for any particular problem.

It's not a fork of Gtk+ (yet, though on days like this one I get really 
tempted). I actually revived the gtk-osx project on SF; the previous version 
was an actual fork of Gtk1.

As I explained earlier, the changes *are* patches, they *are* attached to bugs 
in Bugzilla, and Kris Reitveld *has* promised to review them. When he has had 
time to do so and they have been polished to his high standards

Re: Alt and Command keys in the quartz backend

2011-09-06 Thread John Ralls

On Sep 6, 2011, at 3:46 PM, Michael Natterer wrote:

 On Tue, 2011-09-06 at 14:30 -0700, John Ralls wrote:
 On Sep 6, 2011, at 12:10 PM, Michael Natterer wrote:
 
 On Tue, 2011-09-06 at 11:57 -0700, John Ralls wrote:
 On Sep 6, 2011, at 10:42 AM, Michael Natterer wrote:
 
 On Tue, 2011-09-06 at 12:58 -0400, Paul Davis wrote:
 On Tue, Sep 6, 2011 at 12:49 PM, Michael Natterer mi...@gimp.org wrote:
 On Tue, 2011-09-06 at 08:27 -0700, John Ralls wrote:
 
 [ ... imminent turf war ... ]
 
 this seems to be about two different things, neither of which are in
 conflict (and i think john actually agrees with this).
 
 1) whether or not the Alt key should generate MOD1 as a modifier
 2) whether or not code that wants to be cross-platform can assume that
 they can use MOD1 with its own chosen semantics
 
 the problem is that (2) includes GTK, not just applications, and GTK
 already makes this assumption. as a result, john changed the modifier
 that alt/option generates on OS X, because (2) is not true for OS X.
 
 if (2) was fixed so that GTK was not an example of code that assumes
 that MOD1 is free for any interpretation on any platform, then (1) is
 moot, and it really doesn't matter what the Alt key generates on OS X
 (hence, it could be MOD1).
 
 but as long as (2) remains an issue within GTK itself, its hard to
 argue that a key that has clearly different purposes for a large body
 of platform users of OS X should be handled by GTK as if it had some
 different meaning based on another platform.
 
 That's not what I'm asking for. The only special meaning of Alt
 in GTK is to invoke mnemonics. Other than that, it's simply a modifier.
 Same on the Mac, it's just a modifier. Let's just disable the mnemonics
 on the Mac then.
 
 The fact that the OS uses it to generate special characters is
 not really relevant here. One X11 window manager steals key
 combo A from the app, the other one key combo B, there is nothing
 I can do about this.
 
 Turning Alt into Alt fixes more than it breaks. It fixes e.g.
 configuring GTK keybindings (you can easily make Alt-cursor do
 word navigation then, the config file says alt, it's all correctly
 mapped, the modifier says alt, and it just works).
 
 And it's not just key bindings. Alt-click should be alt-click,
 there is nothing wrong about that. If the OS decides to use it
 for its own purposes, then it's the job of higher-level code
 to be aware of that. 
 
 If we need to change something in GTK as a consequence of that
 change, then so be it, but please let's not do strange stuff
 to the quartz' backend's modifier mapping just to accommodate
 some code in GTK that was never meant to handle the Mac, but
 can easily be changed to simply do it.
 
 It's not really different. Getting rid of the hard-coded association 
 between alt in an accelerator map or key binding and GDK_MOD1_MASK is 
 part of Paul's (2). I'd map it to GDK_META_MASK, but I'm open to super, 
 hyper, or a new GDK_ALT_MASK (bit 25, perhaps). It *is* the right thing to 
 do, I think, but it's not a quartz-only change and it probably would not 
 be welcome in gtk+-2.24. 
 
 It is not the right thing to do. Why do you insist on that,
 and what is wrong about the hard-coded association between
 ALT and MOD1_MASK? What is the problem about fixing GDK to
 map Alt to what is globally considered Alt, and then fix
 the platform-specific things in GTK+ afterwards?
 
 
 For one thing, the platform-specific stuff belongs in Gdk. That's why 
 there's gdk/broadway, gdk/quartz, gdk/wayland, gdk/win32, and gdk/x11. Yes, 
 there are gtkdnd-quartz, gtkclipboard-quartz, gtkstatusicon-quartz, and (in 
 quartz-integration) gtkselection-quartz. That's an unfortunate side effect 
 of the main implementations being so closely tied to the X11 model that they 
 couldn't be integrated with quartz at the gdk level, and it breaks the 
 multiple-backend feature of Gtk+-3.
 
 For another, key-mapping is done in gdk as the very first step in processing 
 a native key-down/up event (well, OK, the second step, the first being to 
 decide that it's a key-down/up event and to dispatch it to the key-mapping 
 routine). That is, of course, in a virtualized gdk function call. You're 
 proposing to then reinterpret those key-down/up events in gtk? That seems 
 rather complicated.
 
 I have no idea what you are talking about.
 
 Nothing is wrong with alt being mapped to GDK_MOD1_MASK so long as 
 NSCommandKey is also mapped to GDK_MOD1_MASK. Why do you object to that? Is 
 it that the GIMP documenters don't want to write (Command-foo on Macs) 
 next to every occurrence of The accelerator for Bar is Alt-foo?
 
 Why on earth would you want to map both keys to the same modifier?
 
 Nobody uses Alt for accelerators, I don't think we are talking
 about the same things here, in GTK+:
 
 - Accelerator is the thing to invoke actions (menu shortcuts)
  - invoked by Command on the mac, and by Control on != Mac.
 
 - Mnemonic is the thing that invokes

Re: [g-a-devel] GTK and ATK

2011-05-12 Thread John Ralls

On May 12, 2011, at 5:25 AM, Piñeiro wrote:

 On 05/11/2011 02:57 PM, Benjamin Otte wrote:
 
 Well most of the paragraphs were already answered by Brian, but I would like 
 to add a comment here.What concerns me a lot is that there is only very few 
 applications
 
 that actually make use of this huge abstraction layer that is AT-SPI.
 I'm often thinking that we would have less code to maintain if we
 indeed wrote Orca code once for every toolkit we target Orca at
 instead of having to maintain a big ATK interface for every toolkit.
 (And the same for the other few applications that have accessibility
 requirements.) But of course I have no idea if that is actually true,
 Well, there are some issues with this proposal:
  * It is true that right now the AT more mature and maintained is Orca, but 
 we still have other AT tools, like Caribou, Dasher (if it migrates to 
 libatspi), MouseTrap/OpenGazer, Gnome Shell magnifier (Joseph is planning to 
 use some AT-SPI features).
  * And although that would be true, I think that our target is GNOME being 
 accessible, and provide a proper framework to do that. Just providing 
 support to Screen Readers are limited.
  * In fact, improving the a11y general support would allow to create new ATs 
 easily.
  * As you said, one of the current problems on the ATK-toolkit relation is 
 that the implementor requires to know both in order to do a good work here. 
 But with this proposal you are just moving from need to know about an 
 abstract accessibility toolkit and an specific toolkit to need to know 
 about screen readers and an specific toolkit. Screen readers can be tricky.
  * A lot of people working on those toolkits already know about abstract 
 accessibility toolkits. IE: LibreOffice and Gecko has also support for IA2. 
 Most of the people that are already implementing support for IA2 are also 
 implementing ATK support.
 
 I just wouldn't rule it out from the start like you seem to do.
 
 Well, sorry if thats what you extracted from my comments. It is clear that 
 current accessibility status is not good enough. Thats a fact. And we all are 
 open to proposals to solve that. I was just trying to discuss your proposals 
 in a constructive way.  Sorry if I failed at that.
 
 What remains is that we have a problem: The AT code in GTK is so bad
 that it is off by default and nobody is in sight that wants to fix it.
 And that is bad.
 
 Well, just a comment here. As Brian said one of the reason is that a lot of 
 effort these years were used on the at-spi IPC switch. During those years we 
 were in a situation were nobody put a lot of effort on at-spi as it was using 
 an deprecated technology, and at-spi2 was in a work in progress status. 
 Mike Gorse was starting to try to solve the just on the last iterations. (And 
 DBUS is still, in general, less performant that CORBA).
 
 Anyway, one of the big problems in performance preventing to having by 
 default the a11y on is related to the treeview. Specifically the 
 adding/removing a lot of rows on the model means a performance penalty [1]. 
 As Li said a11y treeview implementation is really complex because the lacking 
 way to expose the internal information of the treeview. I hope that this 
 gail-to-gtk move could help to improve this, and mainly, simplify 
 gailtreeview implementation. Right now it is mostly an gtktreeview 
 replication.

I would like to inject into this discussion the point that however a11y is 
implemented there need to be hooks to integrate it with the native a11y 
features of all platforms that Gtk supports, not just Linux. It rather misses 
the point of a11y to force users who depend upon it to use an a11y tool for the 
Gtk applications on their systems different from the one provided by the OS.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Make a UML model from GObject-Introspection Gir files

2011-04-26 Thread John Ralls

On Apr 26, 2011, at 1:11 PM, Stefan Kost wrote:

 Hi,
 
 Am 15.04.2011 03:01, schrieb John Ralls:
 I don't know if anyone else will find this useful, but I've written a perl 
 program to translate gir files into xmi files which can be imported into 
 ArgoUML or KDE Umbrello. It follows include elements, putting each Gir 
 namespace into a separate package in the UML model. 
 
 
 Sounds interesting. When running it I got a couple of
 
 Type resolution failure on
 property name=resolver introspectable=0 writable=1 
 transfer-ownership=none
type/
  /property
 Failed to find type name in element type/ at ./gir2xmi line 145.
 
 When I loaded the generated xmi into umbrello I got quite a few items in the
 logical view, but no single diagram. Should there be one?
 

Yes, it doesn't silently ignore empty type elements. I think that more of a 
girscanner bug than a gir2xmi bug; the property should have a type.

No, there's no diagram generated. Just drag the classes that you're interested 
in over to the diagram space.

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Resource framework, relocatability (was Re: Glib: a Win32 discussion)

2011-04-17 Thread John Ralls
 directory) and ask the OS for the path (CFBundle and 
NSBuncle provide interfaces for querying the bundle in C and Objective-C 
respectively). There is a plugin registration facility [3] that can be used for 
loadable modules, but is intended for third-party plugins of the sort common 
for web browsers. There's also some environment variables (which can be set 
with an Info.plist key or with a launcher script), LD_LIBRARY_PATH, 
DYLD_LIBRARY_PATH, and DYLD_FALLBACK_LIBRARY_PATH which control both the 
loading of dynamic libraries and dlopen.

Dbus works just fine on OSX. There's nothing wrong with the well known place 
approach for system services; Apple's own services use it extensively. There's 
no real need for dbus, of course; OSX has its own, better, notification, 
configuration management, and resource location facilities. I hope to find time 
this summer to write gdbus and gsettings backends that use  them.

That said, Damjan's basic point that application directories work very well in 
OSX is absolutely correct. 

Regards,
John Ralls

[1]Services Implementation Guide
[2]Information Property List Key Reference
[3]Plug-ins

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Resource framework, relocatability (was Re: Glib: a Win32 discussion)

2011-04-15 Thread John Ralls

On Apr 15, 2011, at 6:01 AM, Alexander Larsson wrote:

 On Fri, 2011-04-15 at 14:18 +0200, Damjan Jovanovic wrote:
 
 
 Of course, some files are inherently made to be external, read by 
 other
 applications. Such files are hard to relocate, like application
 icons,
 desktop files, icon themes, widget themes, plugins, custom mimetype
 descriptions, dbus service files. I don't really know what to do
 with these.
 
 A library can discover its current path by calling dladdr() on *nix
 and MacOS X, and GetModulePath() on Windows. The library then loads
 resources relative to that path.
 
 Yes, thats is doable on many OSes, but its still kinda ugly, as it
 implies that the relative paths to the files are kept, and thus implies
 that things are stored in typical unix style hierarchies, etc. It is
 much cleaner to just have a single file.
 
 It doesn't solve the inherently hard things listed above though, because
 the problem for them is that *other* things than the library itself
 loads these files.

ISTM that it's cleaner and more broadly applicable to use something like 
binreloc (sadly no longer being developed, but widely copied and used in unix 
applications), where the paths to various resources can be configured at 
runtime in whatever way is appropriate for the system. We do this with Gnucash 
and it works well, though some of our dependencies don't and we have to resort 
to hacks to work around their limitations. 

Regards,
John Ralls
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Resource framework, relocatability (was Re: Glib: a Win32 discussion)

2011-04-15 Thread John Ralls

On Apr 15, 2011, at 10:45 AM, Alexander Larsson wrote:

 On Fri, 2011-04-15 at 08:49 -0700, Kevin Fox wrote:
 On Fri, 2011-04-15 at 06:01 -0700, Alexander Larsson wrote:
 On Fri, 2011-04-15 at 14:18 +0200, Damjan Jovanovic wrote:
 
 
 Of course, some files are inherently made to be external, read by 
 other
 applications. Such files are hard to relocate, like application
 icons,
 desktop files, icon themes, widget themes, plugins, custom mimetype
 descriptions, dbus service files. I don't really know what to do
 with these.
 
 A library can discover its current path by calling dladdr() on *nix
 and MacOS X, and GetModulePath() on Windows. The library then loads
 resources relative to that path.
 
 Yes, thats is doable on many OSes, but its still kinda ugly, as it
 implies that the relative paths to the files are kept, and thus implies
 that things are stored in typical unix style hierarchies, etc. It is
 much cleaner to just have a single file.
 
 It doesn't solve the inherently hard things listed above though, because
 the problem for them is that *other* things than the library itself
 loads these files.
 
 Usually the tool used to solve this problem though is a file system.
 
 An appdir like structure is a good compromise between other things
 needing to easily access the data and having all the stuff in one
 location that can be easily copied and moved around.
 
 Another option might be to simply tar (but not [bg]zip) up the library
 and related files and change the dynamic linker to mmap the correct
 subsection of the file instead of the whole thing.
 
 An appdir doesn't solve the issue here. Its not that its hard to load
 the file from the relocated file that makes it problematic. Its the fact
 that the other app doesn't even know about the existance of the file.
 
 For instance, let us take a desktop file as an example. Applications
 typically install their desktop files in /usr/share/applications. That
 way other applications like the panel, the open with dialog, etc will
 find it, because they all look in that directory. There are some env
 vars you can set globally to manually make other apps look in a some
 specific other directory, but this is quite limited and doesn't work for
 random relocation of apps.
 
 The same thing happens for the other types of files i mentioned above.
 dbus looks only for service files in /usr/share/dbus-1/services, gtk
 looks for themes in /usr/lib64/gtk-3.0/3.0.0/theming-engines, etc, etc.
 So, anything that has a file of this type is hard to relocate.
 
 Also, apps that consume such files are also hard to relocate. Take
 nautilus for instance, it looks for extensions
 in /usr/lib64/nautilus/extensions-3.0/, but if you relocate it, how does
 extensions know where to install extensions?

At some point some system-level facility has to provide a way of registering 
such locations. M$Win and MacOSX provide both well known places and a facility 
for programs to let the system and other apps know where things are if the user 
put something somewhere else. Linux does too, it just that it's a bit clumsy: 
Environment variables. The problem for Glib isn't creating such a thing for 
Gnome (assuming Gnome doesn't already have one), but providing a uniform 
interface that all GLib-based applications and libraries can use to find their 
resources regardless of which platform they're running on. Gtk simply needs to 
use that interface. At the app level, it's up to app developers to use the 
interface (and to select dependencies that do, too) if they want good 
portability.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Make a UML model from GObject-Introspection Gir files

2011-04-14 Thread John Ralls
I don't know if anyone else will find this useful, but I've written a perl 
program to translate gir files into xmi files which can be imported into 
ArgoUML or KDE Umbrello. It follows include elements, putting each Gir 
namespace into a separate package in the UML model. 

You can find it at https://github.com/jralls/gir2xmi.

You'll also find there a RelaxNG compact schema for the gir format of a couple 
of weeks ago, tested by validating most of the contents of share/gir-1.0.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Newbie question about gtk

2011-02-28 Thread John Ralls

On Feb 27, 2011, at 3:44 PM, tam2000k2 wrote:

 
 I am trying to go through some steps to get gtk-osx on my G4 PPC and when I
 run the script gtk-osx-build-setup.sh I receive the following error --
 gtk-osx-build-setup.sh: line 65: /usr/local/bin/git: Bad CPU type in
 executable Failed to clone jhbuild
 
 I then searched on the internet for a universal binary of git and it
 installed without errors.
 
 What can I do to remedy this situation?
 

This list isn't for support, and it isn't for gtk-osx. Try 
https://lists.sourceforge.net/lists/listinfo/gtk-osx-users

But before you do, consider that gtk-osx-build-setup.sh doesn't install git, so 
it would seem that your situation is of your own making and is in any case 
resolved.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gtk-2.24.0 tarball doesn't build on quartz

2011-01-31 Thread John Ralls

On Jan 30, 2011, at 8:47 PM, Matthias Clasen wrote:

 On Sun, Jan 30, 2011 at 11:25 PM, John Ralls jra...@ceridwen.us wrote:
 Undefined symbols:
  _gtk_combo_box_text_new, referenced from:
  _create_combo_box in sizegroup.o
  _attach_widgets in textview.o
  _gtk_combo_box_text_new_with_entry, referenced from:
  _do_combobox in combobox.o
  _gtk_combo_box_text_append_text, referenced from:
  _do_combobox in combobox.o
  _do_combobox in combobox.o
  _do_combobox in combobox.o
  _do_combobox in combobox.o
  _create_combo_box in sizegroup.o
  _attach_widgets in textview.o
  _attach_widgets in textview.o
  _attach_widgets in textview.o
 
 Something went wrong during autogen so that gtk/gtkcomboboxtext.lo isn't 
 included with its gtkcombobox friends in am__objects_17. Building quartz 
 from git works fine, and has done for several weeks.
 
 Not sure what to say... it built fine here.
 
 Since autogen.sh isn't included in the tarball this isn't easily repairable 
 by users.
 
 autogen is just
 
 aclocal
 libtoolize
 gtkdocize
 autoheader
 automake
 autoconf
 ./configure
 
 with suitable arguments.
 In practice, autoreconf is probably enough to fix the problem, if it
 is fixable this way.

Ah, good thought. `Autoreconf -fis` does indeed fix it. Thanks.

Regards,
John Ralls
 
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Gtk-2.24.0 tarball doesn't build on quartz

2011-01-30 Thread John Ralls
Undefined symbols:
  _gtk_combo_box_text_new, referenced from:
  _create_combo_box in sizegroup.o
  _attach_widgets in textview.o
  _gtk_combo_box_text_new_with_entry, referenced from:
  _do_combobox in combobox.o
  _gtk_combo_box_text_append_text, referenced from:
  _do_combobox in combobox.o
  _do_combobox in combobox.o
  _do_combobox in combobox.o
  _do_combobox in combobox.o
  _create_combo_box in sizegroup.o
  _attach_widgets in textview.o
  _attach_widgets in textview.o
  _attach_widgets in textview.o

Something went wrong during autogen so that gtk/gtkcomboboxtext.lo isn't 
included with its gtkcombobox friends in am__objects_17. Building quartz from 
git works fine, and has done for several weeks. 

Since autogen.sh isn't included in the tarball this isn't easily repairable by 
users.

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gobject-Introspection and CMPH

2010-12-16 Thread John Ralls

On Dec 16, 2010, at 9:47 AM, Colin Walters wrote:

 On Wed, Dec 15, 2010 at 8:43 PM, John Ralls jra...@ceridwen.us wrote:
 
 Okay well, I *think* you answered my question, which is that you want
 the stack to build with c99.

No, but Emmanuele did: It should be c89. Gobject-introsopection has been 
failing that for some time, but before you added cmph, it built with c99.

Regards,
John Ralls
 
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gobject-Introspection and CMPH

2010-12-15 Thread John Ralls

On Dec 15, 2010, at 9:21 AM, Colin Walters wrote:

 On Mon, Dec 13, 2010 at 1:35 PM, John Ralls jra...@ceridwen.us wrote:
 One of the files in the new (to introspection) cmph directory, chd_ph.c, 
 includes an anonymous union which requires -std=gnu99 to compile. Is that OK?
 
 This would have been better as a bug.  However, if what you're
 *really* asking here is:
 
 * What's the gtk+/GNOME policy on compilers that we should build with?
 
 That would be a good subject for a list discussion =)
 
 What's the actual problem you ran into that caused you to make this
 post (hypothetical example: You are trying to build the stack with
 LLVM, and it doesn't support anonymous unions (it may actually, i'm
 just making this up)).
 
 Now, if we're trying to say that GTK+/GNOME only requires C89,
 strictly speaking, we have work to do:
 
 $ metabuild CFLAGS='-Wall -std=c89'
 metabuild: logging to '/tmp/build-gtk3.log'
 metabuild: Detected Makefile, using it
 metabuild: Running: ['chrt', '--idle', '0', 'nice', 'ionice', '-c',
 '3', '-t', 'make', 'CFLAGS=-Wall -std=c89', '-j', '24']
 make  all-recursive
 make[1]: Entering directory `/src/checkout/gtk3'
 ...
 make[2]: Entering directory `/src/checkout/gtk3/gdk'
 make[3]: Entering directory `/src/checkout/gtk3/gdk'
 make[4]: Entering directory `/src/checkout/gtk3/gdk/win32'
 make[4]: `.gitignore' is up to date.
 make[4]: Leaving directory `/src/checkout/gtk3/gdk/win32'
 make[4]: Entering directory `/src/checkout/gtk3/gdk/quartz'
 make[4]: `.gitignore' is up to date.
 make[4]: Leaving directory `/src/checkout/gtk3/gdk/quartz'
 make[3]: Leaving directory `/src/checkout/gtk3/gdk'
 make  all-recursive
 make[3]: Entering directory `/src/checkout/gtk3/gdk'
 Making all in x11
 make[4]: Entering directory `/src/checkout/gtk3/gdk/x11'
  CC gdkapplaunchcontext-x11.lo
  CC gdkasync.lo
  CC gdkcursor-x11.lo
  CC gdkdevice-core.lo
  CC gdkdevicemanager-core.lo
  CC gdkdevicemanager-x11.lo
  CC gdkdisplay-x11.lo
  CC gdkdnd-x11.lo
  CC gdkeventsource.lo
  CC gdkgeometry-x11.lo
  CC gdkeventtranslator.lo
  CC gdkglobals-x11.lo
  CC gdkim-x11.lo
  CC gdkinput.lo
  CC gdkkeys-x11.lo
  CC gdkmain-x11.lo
  CC gdkproperty-x11.lo
  CC gdkscreen-x11.lo
  CC gdkselection-x11.lo
  CC gdkspawn-x11.lo
  CC gdktestutils-x11.lo
  CC gdkvisual-x11.lo
  CC gdkwindow-x11.lo
  CC gdkxftdefaults.lo
  CC gdkxid.lo
  CC checksettings.o
 checksettings.c: In function ‘main’:
 checksettings.c:43:7: error: expected expression before ‘/’ token
 
 make[4]: *** [checksettings.o] Error 1
 make[4]: *** Waiting for unfinished jobs
 make[4]: Leaving directory `/src/checkout/gtk3/gdk/x11'
 
 Now, obviously C++ comments in C files are pretty easy for other
 compilers to implement.  But it's hard to know what other GNU C
 extensions the GTK+ stack uses with without fixing those.  Are there
 any nested functions for example in GTK+?  I'd be surprised, but you
 never know...
 
 The CMPH situation for g-i is special in a few ways because it's an
 import of sort-of-maintained code, and I really don't want to be in
 the business of diverging too far.  I should probably invest in axing
 out a lot of the code that isn't used, but it's nontrivial.
 
 Bottom line here - if there's a use case you think should be
 supported, *explain what it is*, and let's discuss getting a buildbot
 set up.

I wanted to know whether I should file a bug on cmph not compiling when I feed 
it -std=c99 (almost everything else,
including gtk+, builds happily with c89, so no, it doesn't have nested 
functions) or just change the gtk-osx jhbuild module to use gnu99. 

I guess you answered the question, so I'll write a patch and file a bug... but 
probably not till early next week, as we're releasing Gnucash 2.4.0 this 
weekend and I've some work to do there first.

But since you bring it up, what is the official policy? Is it C89? Is it 
published somewhere?

Regards,
John Ralls


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gobject-Introspection and CMPH

2010-12-15 Thread John Ralls

On Dec 15, 2010, at 5:54 PM, Matthias Clasen wrote:

 On Wed, Dec 15, 2010 at 8:43 PM, John Ralls jra...@ceridwen.us wrote:
 
 But since you bring it up, what is the official policy? Is it C89? Is it 
 published somewhere?
 
 For GTK+, we're generally avoiding C++ comments, since they cause
 problems for the compilers that are used on win32. What other non-C89
 features do you have in mind ?
 Nested functions are not really worth discussing, thats just a
 historical accident on the part of the gcc team...

Actually, I don't have anything in mind. Although I like C++ comments (and C++ 
in general) I have no issues writing C89 (or KR  for that matter) code.

I just want to know what constitutes breaking the build so that I do the 
right thing when it happens. 

(I don't know why Colin went off on C++ comments. My original post was about an 
anonymous union.)

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Gobject-Introspection and CMPH

2010-12-13 Thread John Ralls
One of the files in the new (to introspection) cmph directory, chd_ph.c, 
includes an anonymous union which requires -std=gnu99 to compile. Is that OK?

Regards,
John Ralls

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Building multiple backends on on same system

2010-12-10 Thread John Ralls

On Dec 10, 2010, at 9:37 AM, Benjamin Otte wrote:

 While we're talking about getting rid of stuff, I'd like to get rid of
 gdk_utf8_to_string_target
 gdk_string_to_compound_text_for_display
 gdk_utf8_to_compound_text_for_display
 gdk_free_text_list
 gdk_free_compound_text
 
 But I lack enough clue about selections to do that. Is there anyone
 with enough clue that could find an API that can do this?
 The biggest problem I have with these APIs is that either they should
 be used (in which case we need to make sure people actually use them
 when they have to by introducing GdkCompoundText etc types) or they
 should not be used and the gdk selection code should take care of
 them. But the current situation is that even people who worked on the
 DND code have no idea what it's for. (I asked in #gtk+ and nobody had
 any clue.)
 

GdkSelection is a wrapper around the X11 selection functions. It's not used by 
Gtk, which has its own higher-level selection object which ties into 
GtkClipboard and GtkDnd... which is why almost nobody knows about GdkSelection 
any more. I only know about it only because I implemented GtkSelection for 
quartz last summer.

It probably should  be dropped completely, but if that's too radical, by all 
means banish it to the X11 backend.

Regards,
John Ralls
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


  1   2   >