REMINDER: List moved to Discourse; archival in 1 week

2019-04-24 Thread Emmanuele Bassi via gtk-devel-list
Hi all;

next week, on May 1st, this list will be archived[0]. This means no new
subscriptions, and no new email.

If you have questions about GTK, GLib, and the rest of the core GNOME
development platform, you can use the Discourse[1] instance hosted on GNOME
infrastructure; we have a Platform/Core category, and we can use
appropriate tags that you can watch[2] and filter on.

You can use existing single-sign on systems, like Google and Github, to
authenticate yourself; if you have a GNOME LDAP account already, you're
strongly encouraged to use that method of authentication.

You can still use email to interact with Discourse, and a guide is
available[3] to configure your account.

If you have any questions or feedback on Discourse, please use the
appropriate category[4].

Ciao,
 Emmanuele.

[0]: https://mail.gnome.org/archives/gtk-devel-list/2019-March/msg00024.html
[1]: https://discourse.gnome.org
[2]: https://discourse.gnome.org/t/tags-and-watching/94
[3]: https://discourse.gnome.org/t/interacting-with-discourse-via-email/46
[4]: https://discourse.gnome.org/c/site-feedback

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Demo/Sample for drag and drop

2019-04-23 Thread Daniel Boles via gtk-devel-list
I found these quite good (even though I wasn't using ListBox; they can be
generalised)

https://blog.gtk.org/2017/04/23/drag-and-drop-in-lists/

https://blog.gtk.org/2017/06/01/drag-and-drop-in-lists-revisited/
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Demo/Sample for drag and drop

2019-04-15 Thread Pankaj Bansal via gtk-devel-list
Hi All,

 

I am working with OpenJDK JavaFX dev group and we are facing some problems with 
drag and drop functionality with gtk3.20 or later. You can have a look at the 
bug for more information https://bugs.openjdk.java.net/browse/JDK-8211302

 

I am looking for a sample/demo for drag and drop functionality using gtk3. I 
can see that there is one demo at [1], but it is not compatible with gtk3 as it 
is using gtk4 specific structs and functions. I am not able to find any other 
working demo/sample working with gtk3. It would be great if anyone can point to 
me to something useful.

 

[1] https://github.com/GNOME/gtk/blob/master/demos/gtk-demo/dnd.c

 

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


ANNOUNCE: Phasing out GTK mailing lists and move to Discord

2019-03-18 Thread Emmanuele Bassi via gtk-devel-list
Hi all;

as announced in:

  https://mail.gnome.org/archives/gtk-devel-list/2019-March/msg0.html

we have created a Discourse instance available at:

  https://discourse.gnome.org

After testing it for the past couple of weeks, we're very satisfied with
how the platform behaves, so we are going to officially migrate all
GTK-related discussion lists over to Discourse. This means the following
mailing lists:

 - gtk-devel-list
 - gtk-app-devel-list
 - gtk-list

Will be closed and archived on May 1st, 2019. The archives will remain
public, but you won't be able to subscribe or send emails to the list.

If you're subscribed to any of those lists you will receive a link to
Discourse where you'll be able to create an account on that platform; you
can also use other single sign-on systems, like Google or GitHub; and if
you have an LDAP account on gnome.org, you're strongly encouraged to use
that account.

For further information on Discourse, please see the following topics:

 - https://discourse.gnome.org/t/interacting-with-discourse-via-email/46
 - https://discourse.gnome.org/t/tags-and-watching/94

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gtk::Widget::is_mapped ()

2019-03-03 Thread Emmanuele Bassi via gtk-devel-list
No, it's not. The issue is not GTK: it's the windowing system.

With the advent of compositing, all windows are "visible" all the time,
from a toolkit perspective. The compositor is responsible for building
what's presented to the user. For example: are windows fully visible when
doing an "exposé"-like view? Are they not? If the compositor is ultimately
responsible of creating the final result of what's on the screen, it could
put each window on separate planets as far as the toolkit is concerned
(assuming latency and coordinate space size aren't a problem).

On Wayland is even "worse", because each window surface is completely
separate from every other window surface by design; each window has its own
coordinate system, that has an origin in the top-left corner of the window.
A window *cannot* be obscured by another window, as far as the toolkit is
concerned.

If you're targeting an X11 system from the late '90s/early '00s, then
visibility notifications *may* be emitted (though they are never
guaranteed). On anything more modern than that, or on
Wayland/Windows/macOS, visibility notification events are either
non-sensical, not emitted, or not possible by design.

This is why I said: "there is no way to know".

Ciao,
 Emmanuele.

On Sun, 3 Mar 2019 at 16:10, Paul Davis  wrote:

>
>
>
> On Sun, Mar 3, 2019 at 6:26 AM Emmanuele Bassi via gtk-devel-list <
> gtk-devel-list@gnome.org> wrote:
>
>> On Sun, 3 Mar 2019 at 12:58, John Emmas  wrote:
>>
>>>
>> For example... let's say the widget is a top-level window.  If it's
>>> currently displayed on screen but there's some other window hiding it
>>> (maybe from a totally different app) would 'is_visible()' return true or
>>> false?
>>>
>>
>> That's entirely different, and you should have said so at the very
>> beginning of the thread. Yes, both "visible" and "mapped" would be set to
>> true because you called show() on the window, and a window has no parents,
>> so once it's visible and realized, it'll be mapped as well; there is no way
>> to know, from a toolkit perspective, if a top level is being partially, or
>> totally, covered by some other window, either in the same process or from a
>> different process. That information is only available to the window manager.
>>
>
> John should really know that there's code to do this (to the best extent
> possible) within the Ardour source code at
> libs/gtkmm2ext/visibility_tracker.cc :)))
>
> It works (to whatever extent it does work) by handling GtkEventVisibility
> notifications. Hopefully this is still possible in GTK3 ?
>
>

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gtk::Widget::is_mapped ()

2019-03-03 Thread Emmanuele Bassi via gtk-devel-list
On Sun, 3 Mar 2019 at 12:58, John Emmas  wrote:

> On 03/03/2019 11:22, Emmanuele Bassi wrote:
>
> On Sun, 3 Mar 2019 at 11:09, John Emmas  wrote:
>
>> Sorry to ask a dumb question...
>>
>> What does it mean if a widget is "mapped" ?
>>
>
> It means that:
>
>  - the widget is visible
>  - the widget is realized
>  - all its ancestors up to the top level window are mapped
>
> Thanks Emmanuele - can I just check 'is_visible()'?  Does it mean
> 'literally visible' or 'capable of being visible'?
>

If it were enough, why would we have two flags? :-)

The "visible" property means "you, or something else, called
gtk_widget_show()" on the widget. A widget can be visible and not have any
parent, for instance.

If you want to know that a widget is going to be drawn, and respond to
events, then you have to check the "mapped" state.

For example... let's say the widget is a top-level window.  If it's
> currently displayed on screen but there's some other window hiding it
> (maybe from a totally different app) would 'is_visible()' return true or
> false?
>

That's entirely different, and you should have said so at the very
beginning of the thread. Yes, both "visible" and "mapped" would be set to
true because you called show() on the window, and a window has no parents,
so once it's visible and realized, it'll be mapped as well; there is no way
to know, from a toolkit perspective, if a top level is being partially, or
totally, covered by some other window, either in the same process or from a
different process. That information is only available to the window manager.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Discourse instance

2019-03-01 Thread LRN via gtk-devel-list
On 01.03.2019 20:17, Neil McGovern wrote:
> On Fri, 2019-03-01 at 19:52 +0300, LRN via gtk-devel-list wrote:
>> On 01.03.2019 18:41, Emmanuele Bassi via gtk-devel-list wrote:
>>> Feedback is very much appreciated.
>>>
>>
>> Need moar tags!
>>
> 
> Tag suggestions welcome :)
> 

Well, what i mean is that i'd like to be able to be notified of topics that are
relevant to me, and one way to do that is to allow topics to be tagged and
allow people to subscribe to tags. Kind of like issues on gitlab are tagged,
which allows me to be notified only of Windows-related issues. Unless the
amount of new topics will be modest (kind of like gtk-devel-list right now), in
which case i'd probably manage by just sorting out the new topics manually (i'm
definitely going to use the email notification thing).

Also, related: if i watch a topic, do i get email notifications for each
message? If not, i'd have to enable the ML mode. Also, email notifications are
issued once per topic, right? So, if the topic subject changes (like how an
email thread can split by changing the topic), i won't be notified?



signature.asc
Description: OpenPGP digital signature
_______________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Discourse instance

2019-03-01 Thread LRN via gtk-devel-list
On 01.03.2019 18:41, Emmanuele Bassi via gtk-devel-list wrote:
> Feedback is very much appreciated.
> 

Need moar tags!



signature.asc
Description: OpenPGP digital signature
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Discourse instance

2019-03-01 Thread Emmanuele Bassi via gtk-devel-list
Note: for those who prefer email, we've written down a handy guide on how
to use email with Discourse:

  https://discourse.gnome.org/t/interacting-with-discourse-via-email/46

Ciao,
 Emmanuele.

On Fri, 1 Mar 2019 at 15:50, Emmanuele Bassi  wrote:

> And, of course, I forgot the link: https://discourse.gnome.org
>
> Embarrassing.
>
> Ciao,
>  Emmanuele.
>
> On Fri, 1 Mar 2019 at 15:41, Emmanuele Bassi  wrote:
>
>> Hi all;
>>
>> after the discussion[1] last month, and the feedback received (both on
>> list and off), we decided to trial a Discourse instance on the GNOME
>> infrastructure.
>>
>> The Platform/Core sub-category is meant to be used for all discussions
>> about GTK, GLib, GdkPixbuf, Pango, and other core libraries of the GNOME
>> stack.
>>
>> Email is still allowed for both posting and replying, though I strongly
>> encourage people to give the web UI a try; it's really nice.
>>
>> Feedback is very much appreciated.
>>
>> Ciao,
>>  Emmanuele.
>>
>> [1]:
>> https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg1.html
>>
>> --
>> https://www.bassi.io
>> [@] ebassi [@gmail.com]
>>
>
>
> --
> https://www.bassi.io
> [@] ebassi [@gmail.com]
>


-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Discourse instance

2019-03-01 Thread Emmanuele Bassi via gtk-devel-list
And, of course, I forgot the link: https://discourse.gnome.org

Embarrassing.

Ciao,
 Emmanuele.

On Fri, 1 Mar 2019 at 15:41, Emmanuele Bassi  wrote:

> Hi all;
>
> after the discussion[1] last month, and the feedback received (both on
> list and off), we decided to trial a Discourse instance on the GNOME
> infrastructure.
>
> The Platform/Core sub-category is meant to be used for all discussions
> about GTK, GLib, GdkPixbuf, Pango, and other core libraries of the GNOME
> stack.
>
> Email is still allowed for both posting and replying, though I strongly
> encourage people to give the web UI a try; it's really nice.
>
> Feedback is very much appreciated.
>
> Ciao,
>  Emmanuele.
>
> [1]:
> https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg1.html
>
> --
> https://www.bassi.io
> [@] ebassi [@gmail.com]
>


-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Discourse instance

2019-03-01 Thread Ryan Gonzalez via gtk-devel-list
Since you forgot the link...

https://discourse.gnome.org/

--
Ryan (ライアン)
Yoko Shimomura, ryo (supercell/EGOIST), Hiroyuki Sawano >> everyone else
https://refi64.com/


On Fri, Mar 1, 2019, 9:42 AM Emmanuele Bassi via gtk-devel-list <
gtk-devel-list@gnome.org> wrote:

> Hi all;
>
> after the discussion[1] last month, and the feedback received (both on
> list and off), we decided to trial a Discourse instance on the GNOME
> infrastructure.
>
> The Platform/Core sub-category is meant to be used for all discussions
> about GTK, GLib, GdkPixbuf, Pango, and other core libraries of the GNOME
> stack.
>
> Email is still allowed for both posting and replying, though I strongly
> encourage people to give the web UI a try; it's really nice.
>
> Feedback is very much appreciated.
>
> Ciao,
>  Emmanuele.
>
> [1]:
> https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg1.html
>
> --
> https://www.bassi.io
> [@] ebassi [@gmail.com]
> ___
> 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


Discourse instance

2019-03-01 Thread Emmanuele Bassi via gtk-devel-list
Hi all;

after the discussion[1] last month, and the feedback received (both on list
and off), we decided to trial a Discourse instance on the GNOME
infrastructure.

The Platform/Core sub-category is meant to be used for all discussions
about GTK, GLib, GdkPixbuf, Pango, and other core libraries of the GNOME
stack.

Email is still allowed for both posting and replying, though I strongly
encourage people to give the web UI a try; it's really nice.

Feedback is very much appreciated.

Ciao,
 Emmanuele.

[1]:
https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg1.html

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Project rename to "GTK"

2019-02-14 Thread Owen Taylor via gtk-devel-list
On Wed, Feb 6, 2019 at 10:23 AM Owen Taylor  wrote:
>
> On Wed, Feb 6, 2019 at 5:04 AM Emmanuele Bassi via gtk-devel-list
>  wrote:
> >
> > Hi all;
> >
> > tl;dr: GTK is GTK, not GTK+. The documentation has been updated, and the 
> > pkg-config file for the future 4.0 major release is now called "gtk4"
> >
> > over the years, we had discussions about removing the "+" from the project 
> > name. The "plus" was added to "GTK" once it was moved out of the GIMP 
> > sources tree and the project gained utilities like GLib and the GTK type 
> > system, in order to distinguish it from the previous, in-tree version. Very 
> > few people are aware of this history, and it's kind of confusing from the 
> > perspective of both newcomers and even expert users; people join the wrong 
> > IRC channel, the URLs on wikis are fairly ugly, etc.
>
> Thanks for moving this along! It's good to see the GTK name finally
> get less confusing and easier to talk about!
>
> But to clarify the history, the "+" predates the point when GTK was
> moved out of the GIMP tree. Every single version of GTK with publicly
> released sources was called GTK+. As I understand it, Peter Mattis
> added the + to mark a change from a very early version that was
> structured more like Xt/Motif, to a version that had a fuller type
> system with inheritance.

To add a little more to this - Elijah Lynn pointed me to an answer he
obtained from Peter on the subject - see
https://unix.stackexchange.com/a/443832/27902 -

GTK was the first version of the toolkit used in pre-1.0 versions
of the GIMP.
At some point, the architectural limitations were revealed and I rewrote and
   renamed it as GTK+. This too was used in pre-1.0 versions of the GIMP.
   I don't believe any project outside of the GIMP used GTK-(no-plus).
   Why a "+" instead of a version number? No reason other than whim.
   ~ Peter Mattis
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Moving from mailing lists to Discourse

2019-02-08 Thread Jan Tojnar via gtk-devel-list
On Pá, úno 8, 2019 at 11:53 PM, Reuben Rissler  
wrote:
Thanks. But it probably isn't possible to open an issue for Gtk by 
emailing a specific email address on GitLab, or am I wrong?


Only in Enterprise Edition Premium: 
https://gitlab.com/help/user/project/service_desk


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


Re: Moving from mailing lists to Discourse

2019-02-08 Thread Emmanuele Bassi via gtk-devel-list
On Wed, 6 Feb 2019 at 12:19, Emmanuele Bassi  wrote:

>
> The main differences are that you’d need a different subscription account
> than the existing one, and that you wouldn’t have the weekly digests, as
> far as I can see.
>

It turns out I was wrong: Discourse has "weekly summaries" as well.

As for the subscription: Discourse supports multiple identity
providers—Google, Facebook, Instagram, Twitter, Yahoo, and GitHub are all
supported, and there's a plugin available for GitLab authentication as
well, so we might be able to automatically authenticate existing GTK
contributors with an account on gitlab.gnome.org.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Moving from mailing lists to Discourse

2019-02-08 Thread Emmanuele Bassi via gtk-devel-list
On Thu, 7 Feb 2019 at 00:54,  wrote:

> > We already looked at Hyperkitty, and found it fairly limited in
> > functionality. Avoiding Hyperkitty is what led us to Discourse in the
> > first place.
> Can you link that discussion please?


It was on IRC and in person discussions, and private emails between various
people.


> I'm interested what newcomers want
> to do such that Hyperkitty doesn't let. Negatives of Discourse: loads
> slower, broken without evergreen CSS and JS, huge blank margins. Fedora
> uses Hyperkitty on its other, non-Silverblue lists.
>

We asked Fedora developers for their experiences, and they weren't overly
impressed with it.

Off the top of my head (and after using Hyperkitty to browse Fedora desktop
and devel mailing lists for the last couple of years):

 - Hyperkitty's UX is confusing, cluttered to the point of being unhelpful
 - navigating through recent discussions never makes it clear which emails
are newer, and the fake threading makes it visually harder to scan
 - searching is a disaster, with results returned without any sense of
what's relevant or not
 - mobile access is pretty much not supported
 - it's all just a front to a mailman, instead of being a whole packaged
software; this means:
  - harder to set up and upgrade
  - no moderation tools
  - no categories, sub-categories, or tagging to organise email
  - no integration with services or additional plugins

In general, mailman3 + hyperkitty is a somewhat good upgrade on mailman2
(even though I still prefer the old archive pages compared to hyperkitty;
I've been going through those *a lot* for my "History of GNOME" project),
but it does not compare to other platforms like Discourse.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Moving from mailing lists to Discourse

2019-02-06 Thread Ryan Gonzalez via gtk-devel-list
As has been mentioned, Discourse allows you to receive and via email, you
would largely only use the web UI to sign up or change your settings.

--
Ryan (ライアン)
Yoko Shimomura, ryo (supercell/EGOIST), Hiroyuki Sawano >> everyone else
https://refi64.com/

On Wed, Feb 6, 2019, 11:25 PM Felix Miata via gtk-devel-list <
gtk-devel-list@gnome.org> wrote:

> Emmanuele Bassi via gtk-devel-list composed on 2019-02-06 12:46 (UTC+0100):
>
> > Are there any objections? Did somebody already try out Discourse and has
> > opinions about it that they want to share with the community?
>
> As happened when various mozilla dev mailing lists moved to discourse, I
> ceased having anything to
> do with those subjects. The same will happen if gtk mailing lists move to
> discourse. Web sites and
> all their CSS and JS interference and bandwidth overhead are no substitute
> for plain legible text
> email lists.
> --
> Evolution as taught in public schools is religion, not science.
>
>  Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!
>
> Felix Miata  ***  http://fm.no-ip.com/
> _______
> 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: Moving from mailing lists to Discourse

2019-02-06 Thread Felix Miata via gtk-devel-list
Emmanuele Bassi via gtk-devel-list composed on 2019-02-06 12:46 (UTC+0100):

> Are there any objections? Did somebody already try out Discourse and has
> opinions about it that they want to share with the community?

As happened when various mozilla dev mailing lists moved to discourse, I ceased 
having anything to
do with those subjects. The same will happen if gtk mailing lists move to 
discourse. Web sites and
all their CSS and JS interference and bandwidth overhead are no substitute for 
plain legible text
email lists.
-- 
Evolution as taught in public schools is religion, not science.

 Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!

Felix Miata  ***  http://fm.no-ip.com/
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Moving from mailing lists to Discourse

2019-02-06 Thread Felix Miata via gtk-devel-list
makep...@firemail.cc composed on 2019-02-07 02:54 (UTC+0200):

>> We already looked at Hyperkitty, and found it fairly limited in
>> functionality. Avoiding Hyperkitty is what led us to Discourse in the
>> first place.

> Can you link that discussion please? I'm interested what newcomers want 
> to do such that Hyperkitty doesn't let. Negatives of Discourse: loads 
> slower, broken without evergreen CSS and JS, huge blank margins. Fedora 
> uses Hyperkitty on its other, non-Silverblue lists.

Hyperkitty made Fedora mailing lists a displeasure, like most of the rest of 
the web, scripts
hiding things that previously were obvious and made inaccessible without 
scripting overhead
enabled, overabundant whitespace, tiny gray text, short lists where 5X as many 
would otherwise fit.
I avoid it as much as possible, trying to get answers from bugzilla.redhat.com 
or IRC or the
archlinux wiki whenever possible instead.
-- 
Evolution as taught in public schools is religion, not science.

 Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!

Felix Miata  ***  http://fm.no-ip.com/
___________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Moving from mailing lists to Discourse

2019-02-06 Thread Ryan Gonzalez via gtk-devel-list
Hmm, unfortunately it was over some scattered IRC messages, I can try and
find them in the logs if you like.

--
Ryan (ライアン)
Yoko Shimomura, ryo (supercell/EGOIST), Hiroyuki Sawano >> everyone else
https://refi64.com/

On Wed, Feb 6, 2019, 8:38 PM  wrote:

> > I know someone who set up HyperKitty, it was a nightmare
>
> How so? Can you link their blog post? I'm not its user or developer, I
> want to better understand the software choice.
>
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Moving from mailing lists to Discourse

2019-02-06 Thread Ryan Gonzalez via gtk-devel-list
I know someone who set up HyperKitty, it was a nightmare and still is a
nightmare.

--
Ryan (ライアン)
Yoko Shimomura, ryo (supercell/EGOIST), Hiroyuki Sawano >> everyone else
https://refi64.com/

On Wed, Feb 6, 2019, 6:54 PM  wrote:

> > We already looked at Hyperkitty, and found it fairly limited in
> > functionality. Avoiding Hyperkitty is what led us to Discourse in the
> > first place.
> Can you link that discussion please? I'm interested what newcomers want
> to do such that Hyperkitty doesn't let. Negatives of Discourse: loads
> slower, broken without evergreen CSS and JS, huge blank margins. Fedora
> uses Hyperkitty on its other, non-Silverblue lists.
> _______________
> 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: Moving from mailing lists to Discourse

2019-02-06 Thread Ryan Gonzalez via gtk-devel-list
As a side note, Python has also opened a Discourse instance (in addition to
their Zulip experiment), and the results have pretty much been positive.
I've also been on Fedora's for quite some time, and it's great.

On Wed, Feb 6, 2019 at 5:46 AM Emmanuele Bassi via gtk-devel-list <
gtk-devel-list@gnome.org> wrote:

> [Cross-posted to various relevant mailing lists; please, reply to
> gtk-devel-list]
>
> As part of an attempt at making GTK more friendly to newcomers, I and
> other core developers were thinking of moving the mailing lists from the
> current mailman installation to Discourse:
>
>   https://discourse.org/
>
> Possibly still hosted on GNOME infrastructure, depending on the
> requirements for our sysadmins.
>
> The GTK project would have various sub-topics, mostly around development
> with and of GTK. Having a better archive search, a better moderation
> system, and a decent web UI are the major selling points for switching to
> Discourse. The fact that the project is also open source is neatly aligned
> with our values.
>
> Are there any objections? Did somebody already try out Discourse and has
> opinions about it that they want to share with the community?
>
> Ciao,
>  Emmanuele.
> --
> https://www.bassi.io
> [@] ebassi [@gmail.com]
> ___
> gtk-devel-list mailing list
> gtk-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-devel-list
>


-- 
Ryan (ライアン)
Yoko Shimomura, ryo (supercell/EGOIST), Hiroyuki Sawano >> everyone else
https://refi64.com/
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Moving from mailing lists to Discourse

2019-02-06 Thread Niels De Graef via gtk-devel-list
Hi all,

I'm very much in favor! Being able to still use e-mail while also
having a convenient and pretty-looking interface is something I look
*really* forward to.

My only question is: what happens to the old archives? Do we keep them
online as-is, or is there a plan to also migrate them? The former
means of course less effort, but the latter would keep everything
unified in one UI for example.
I'm fine with whatever you choose :-)

Thanks in any case for taking this up, Emmanuele!

Cheers,
nielsdg

On Wed, Feb 6, 2019 at 3:42 PM Emmanuele Bassi via gtk-devel-list
 wrote:
>
> More information on Discourse:
>
>   - About: https://www.discourse.org/about
>   - Features: https://www.discourse.org/features
>
> Discourse is a forum software that has multiple ways to access it: web, 
> native apps, and email. It's not a mailing list software with a web frontend.
>
> The interesting (to me) parts are:
>
>  - 2FA instead of Mailman's plaintext password
>  - real moderation tools, that can scale with the community and encourage 
> civility and code of conduct compliant behaviour
>  - anti-spam measures
>  - open source software (kind of a pre-requisite)
>  - good UI for reading and replying to topics
>
> The Fedora (Silverblue) and Ubuntu communities already use Discourse, for 
> instance; the SDL community also does.
>
> Ciao,
>  Emmanuele.
>
>
> On Wed, 6 Feb 2019 at 12:46, Emmanuele Bassi  wrote:
>>
>> [Cross-posted to various relevant mailing lists; please, reply to 
>> gtk-devel-list]
>>
>> As part of an attempt at making GTK more friendly to newcomers, I and other 
>> core developers were thinking of moving the mailing lists from the current 
>> mailman installation to Discourse:
>>
>>   https://discourse.org/
>>
>> Possibly still hosted on GNOME infrastructure, depending on the requirements 
>> for our sysadmins.
>>
>> The GTK project would have various sub-topics, mostly around development 
>> with and of GTK. Having a better archive search, a better moderation system, 
>> and a decent web UI are the major selling points for switching to Discourse. 
>> The fact that the project is also open source is neatly aligned with our 
>> values.
>>
>> Are there any objections? Did somebody already try out Discourse and has 
>> opinions about it that they want to share with the community?
>>
>> Ciao,
>>  Emmanuele.
>> --
>> https://www.bassi.io
>> [@] ebassi [@gmail.com]
>
>
>
> --
> https://www.bassi.io
> [@] ebassi [@gmail.com]
> _______
> 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: Project rename to "GTK"

2019-02-06 Thread Owen Taylor via gtk-devel-list
On Wed, Feb 6, 2019 at 5:04 AM Emmanuele Bassi via gtk-devel-list
 wrote:
>
> Hi all;
>
> tl;dr: GTK is GTK, not GTK+. The documentation has been updated, and the 
> pkg-config file for the future 4.0 major release is now called "gtk4"
>
> over the years, we had discussions about removing the "+" from the project 
> name. The "plus" was added to "GTK" once it was moved out of the GIMP sources 
> tree and the project gained utilities like GLib and the GTK type system, in 
> order to distinguish it from the previous, in-tree version. Very few people 
> are aware of this history, and it's kind of confusing from the perspective of 
> both newcomers and even expert users; people join the wrong IRC channel, the 
> URLs on wikis are fairly ugly, etc.

Thanks for moving this along! It's good to see the GTK name finally
get less confusing and easier to talk about!

But to clarify the history, the "+" predates the point when GTK was
moved out of the GIMP tree. Every single version of GTK with publicly
released sources was called GTK+. As I understand it, Peter Mattis
added the + to mark a change from a very early version that was
structured more like Xt/Motif, to a version that had a fuller type
system with inheritance.

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


Re: Moving from mailing lists to Discourse

2019-02-06 Thread Emmanuele Bassi via gtk-devel-list
More information on Discourse:

  - About: https://www.discourse.org/about
  - Features: https://www.discourse.org/features

Discourse is a forum software that has multiple ways to access it: web,
native apps, and email. It's not a mailing list software with a web
frontend.

The interesting (to me) parts are:

 - 2FA instead of Mailman's plaintext password
 - real moderation tools, that can scale with the community and encourage
civility and code of conduct compliant behaviour
 - anti-spam measures
 - open source software (kind of a pre-requisite)
 - good UI for reading and replying to topics

The Fedora (Silverblue) and Ubuntu communities already use Discourse, for
instance; the SDL community also does.

Ciao,
 Emmanuele.


On Wed, 6 Feb 2019 at 12:46, Emmanuele Bassi  wrote:

> [Cross-posted to various relevant mailing lists; please, reply to
> gtk-devel-list]
>
> As part of an attempt at making GTK more friendly to newcomers, I and
> other core developers were thinking of moving the mailing lists from the
> current mailman installation to Discourse:
>
>   https://discourse.org/
>
> Possibly still hosted on GNOME infrastructure, depending on the
> requirements for our sysadmins.
>
> The GTK project would have various sub-topics, mostly around development
> with and of GTK. Having a better archive search, a better moderation
> system, and a decent web UI are the major selling points for switching to
> Discourse. The fact that the project is also open source is neatly aligned
> with our values.
>
> Are there any objections? Did somebody already try out Discourse and has
> opinions about it that they want to share with the community?
>
> Ciao,
>  Emmanuele.
> --
> https://www.bassi.io
> [@] ebassi [@gmail.com]
>


-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Moving from mailing lists to Discourse

2019-02-06 Thread Emmanuele Bassi via gtk-devel-list
On Wed, 6 Feb 2019 at 15:11, Charles Lindsey  wrote:

>
>
> On 06/02/2019 11:46, Emmanuele Bassi via gtk-devel-list wrote:
> > [Cross-posted to various relevant mailing lists; please, reply to
> > gtk-devel-list]
> >
> > As part of an attempt at making GTK more friendly to newcomers, I and
> other
> > core developers were thinking of moving the mailing lists from the
> current
> > mailman installation to Discourse:
> >
> >https://discourse.org/
> >
> > Possibly still hosted on GNOME infrastructure, depending on the
> > requirements for our sysadmins.
>
> > Are there any objections? Did somebody already try out Discourse and has
> > opinions about it that they want to share with the community?
>
> Does that mean I have to log in to Discourse every day just to check
> whether
> some new message has arrived? If so, then no thank you.


No, you could still get email notifications for messages, and you could
still send email replies; that's supported on Discourse, as you could
easily check on their website.


> This is a low volume
> list, often with two or more weeks between messages.
>

Yes, the *gtk-devel-list* mailing list is low volume, compared to
gtk-app-devel-list and gtk-list. Did you ever wonder why it is? Mostly
because mailing lists are kind of terrible. The idea behind switching to
Discourse is to improve the communication channels available to GTK
developers and users to something more useful than email.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Moving from mailing lists to Discourse

2019-02-06 Thread Emmanuele Bassi via gtk-devel-list
Hi;

On Wed, 6 Feb 2019 at 13:10, Reuben Rissler  wrote:

>
> To introduce myself, I only am using Gtk for 3 years, but really like
> the infrastructure / people / open source surrounding Gtk. I am
> sometimes seen as 'theGtknerd'.
>
>
> On 02/06/2019 06:46 AM, Emmanuele Bassi via gtk-devel-list wrote:
> >
> > The GTK project would have various sub-topics, mostly around
> > development with and of GTK. Having a better archive search, a better
> > moderation system, and a decent web UI are the major selling points
> > for switching to Discourse. The fact that the project is also open
> > source is neatly aligned with our values.
> Let me ask a poignant question, was moderation ever a problem with
> mailing lists?


As the person that moderates two out of the three GTK mailing lists, yes:
it’s somewhat annoying the amount of spam going on every day. Not terrible,
but it’d be nice not to have to deal with it. Additionally, Discourse would
allow us to deal with code of conduct violations in a much better way than
mailman currently lets us.



> >
> > Are there any objections? Did somebody already try out Discourse and
> > has opinions about it that they want to share with the community?
> I have a computer that is email only for work (no web browser for
> several personal reasons). I could no longer be a part of the Gtk
> responders as far as I can see.


That’s not accurate: Discourse also works with email, so you’d receive
email messages and you’d be able to reply to email messages.

The main differences are that you’d need a different subscription account
than the existing one, and that you wouldn’t have the weekly digests, as
far as I can see.

Ciao,
 Emmanuele.
-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Project rename to "GTK"

2019-02-06 Thread Emmanuele Bassi via gtk-devel-list
Hi all;

tl;dr: GTK is GTK, not GTK+. The documentation has been updated, and the
pkg-config file for the future 4.0 major release is now called "gtk4"

over the years, we had discussions about removing the "+" from the project
name. The "plus" was added to "GTK" once it was moved out of the GIMP
sources tree and the project gained utilities like GLib and the GTK type
system, in order to distinguish it from the previous, in-tree version. Very
few people are aware of this history, and it's kind of confusing from the
perspective of both newcomers and even expert users; people join the wrong
IRC channel, the URLs on wikis are fairly ugly, etc.

With the move to Git, years ago, we had to add a couple of hacks to allow
for the "plus" to stay in the repository browsing UI; those hacks were
dropped once we moved to GitLab. We discussed again during IRC meetings and
hackfests whether to drop the "plus", and we finally decided to do so.

With the work in the master branch towards the 4.0 release, it's finally
time to say goodbye to the "plus" in "GTK+".

The documentation is updated so that the project in named consistently.

The removal of the plus has a side effect on the name of the pkg-config
file for GTK 4; additionally, since we don't break API across the same
major version, having a fully qualified major.minor version in the
pkg-config file is redundant. This means that the pkg-config file for GTK 4
is going to be called "gtk4".

Incidentally, the IRC channel on irc.gnome.org is now called "#gtk";
there's a re-direct in place, so if you join "#gtk+" you'll end up in the
right place.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


GTK meeting notes

2019-01-07 Thread Matthias Clasen via gtk-devel-list
Minutes of the GTK team meeting of January 7, 2019

Agenda:


   - Update on the GTK Hackfest after FOSDEM
   - Current state of GTK4 branches
   - Revert of A11Y focus changes in stable branches
   - Releases?

Notes
1) Hackfest

Venue is booked
We have a wiki page
Sufficient attendence confirmed
Put agenda items on the wiki, please
And book your rooms soon!

2) State of GTK4 branches

listview branch: still quite in flux, but lots of things possible already.
Matthias has started to look at it recently, will create a writeup together
with Benjamin on state and remaining work.

transformations branch: Emmanuele is reviewing it, will work on an MR

wip/layout-manager branch: Current work-in-progress by Emmanuele on
separating layout managers from containers.

Current issues on master:
- window resizing problems with wayland / gl (Matthias)
- driver problems with vulkan (Emmanuele)
- Adwaita has regressions and is out of sync with 3.24

Some discussion around the way forward for Adwaita. We have a branch
with a theme refresh that is targeted for GNOME 3.32, but that might be
radical enough that it breaks some apps targeting Adwaita. We could
ship a beta-form NewAdwaita with the next 3.24.x release to give people
time to try it out. Still need a better theme selection api, ultimatively.
Currently
we just have the theme name to go off.

3) General agreement that we should revert the a11y changes on 3.24, since
they were breaking things too much. Carlos will look into it.

4) Releases were not discussed directly. Matthias will look at doing a
3.24.x release
this week.

Next meeting time: March 4
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


OS X issues

2018-12-13 Thread Matthias Clasen via gtk-devel-list
Hey John,

since you are one of our OS X contributors: It seems the 2.24.2 release
from this week has some issues on OS X:

https://gitlab.gnome.org/GNOME/gtk/issues/1517
https://gitlab.gnome.org/GNOME/gtk/issues/1518

We could really use your help here! I'd like to do a follow-up release
before X-mas to fix
a few other issues, and it would be great to take care of the OS X problems
at the
same time.

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


Re: Quartz Coordinates

2018-12-12 Thread Matthias Clasen via gtk-devel-list
On Tue, Nov 20, 2018 at 8:06 AM John Ralls  wrote:

> 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. This question may also
> bear upon 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?
>
>
Yes, we haven't fully resolved this, in particular with respect to hi-dpi.
It is still an open issue on the gtk4 roadmap:
https://gitlab.gnome.org/GNOME/gtk/issues/1106
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


GTK meeting notes

2018-12-10 Thread Matthias Clasen via gtk-devel-list
At long last, another GTK team meeting! See notes below.

Matthias

---

Minutes of the GTK team meeting of December 10th, 2018

Agenda
 - Welcome EmmanueleBassi <https://wiki.gnome.org/EmmanueleBassi>
-  - GTK Hackfest at FOSDEM (or some other time/place ?)
-  - Listfest at FOSDEM
-  - 3.26 for Gnome 3.32
-- theme refresh
-- more invasive changes during 3.24:
https://gitlab.gnome.org/GNOME/gtk/merge_requests/391
-  - Review GTK4 task list
-  - Revise GTK4 plan
-  - Website refresh for GTK4
-  - Miscellaneous

Notes

1) Meeting time and cadence

  Aiming for monthly meetings, first Monday of the month, 15:00 utc
  Next date: January 7, 2019

1) GTK Hackfest.

  Tentative dates: Mon - Wed after FOSDEM
  Location: Brussels
  We'll look at getting the same venue as this year
  Emmanuele volunteered for that, Matthias has contact info
  Will set up a wiki page to organize

2) Listfest

  Benjamin is trying to get this organized with various listbox consumers
  https://wiki.gnome.org/Hackfests/ListFest2018

3) 3.26 release ?

  Some concern about the scale of theme refresh going into 3.24
  And some special-purpose new api needed for a statusicon regression fix
  Clash between expectations of minor gnome release vs micro gtk release
  Options:
tone down theme changes
keep the api private

  Inconclusive discussion, will revisit at hackfest

4) GTK4 tasks

  Not a lot of progress recently
  Matthias has been off doing other things
  Benjamin has a deep stack of unfinished changes that he is
struggling to unwind
  Timm has an unreviewed transformation branch. Ebassi volunteered to review

  Big gtk4 blockers:
popovers
dnd
  Beyond that, need to identify end user and app developer features,
write demos and advertise

  We have a media demo (puzzle)

  A blur demo (in tests)

  A 2.5 million files list box demo (in a branch)

5) Misc

  Some discussion around improving docs, tutorials, examples
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


compile error in GNOME Builder 3.22.4 https://developer.gnome.org/gtk3/3.24/ch01s02.html

2018-11-16 Thread Krzysztof Sadowski via gtk-devel-list
build error in gtk with doc in Builder
it seems that I see the problem of the change I have made below


#include 

static void
print_hello (GtkWidget *widget,
 gpointer   data)
{
  g_print ("Hello World\n");
}

static void
activate (GtkApplication *app,
  gpointeruser_data)
{
  GtkWidget *window;
  GtkWidget *grid;
  GtkWidget *button;

  /* utwórz nowe okno i ustaw jego tytuł */
  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "Window");
  gtk_container_set_border_width (GTK_CONTAINER (window), 10);

  /* Tutaj skonstruujemy kontener, który będzie pakował nasze guziki */
  grid = gtk_grid_new ();

  /* Zapakuj pojemnik w okno */
  gtk_container_add (GTK_CONTAINER (window), grid);

  button = gtk_button_new_with_label ("Button 1");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);

  /* Umieść pierwszy przycisk w komórce siatki (0, 0) i wypełnij go
   * tylko 1 komórka poziomo i pionowo (tzn. bez rozpiętości)
   */
  gtk_grid_attach (GTK_GRID (grid), button, 0, 0, 1, 1);

  button = gtk_button_new_with_label ("Button 2");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);

  /* Umieść drugi przycisk w komórce siatki (1, 0) i wypełnij go
   * tylko 1 komórka poziomo i pionowo (tzn. bez rozpiętości)
   */
  gtk_grid_attach (GTK_GRID (grid), button, 1, 0, 2, 1);

  button = gtk_button_new_with_label ("Quit");
  g_signal_connect_swapped (button, "clicked", G_CALLBACK
(gtk_widget_destroy), window);

  /* Umieść przycisk Zakończ w komórce siatki (0, 1) i ustaw go
   * rozpiętość 2 kolumn.
   */
  gtk_grid_attach (GTK_GRID (grid), button, 0, 1, 3, 1);

  /* Teraz, gdy skończyliśmy pakować nasze widżety, pokazujemy je wszystkie
   * za jednym zamachem, przez wywołanie gtk_widget_show_all () w oknie.
   * To wywołanie rekursywnie wywołuje gtk_widget_show () we wszystkich
widżetach
   * które są zawarte w oknie, bezpośrednio lub pośrednio.
   */
  gtk_widget_show_all (window);

}

int
main (intargc,
  char **argv)
{
  GtkApplication *app;
  int status;

  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;
}

Krzysztof Sadowski
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


logind + GDbus API

2018-10-18 Thread Germano Massullo via gtk-devel-list
Good day, I planned to write a tiny software for testing purposes that
will use GDbus API to interact with logind, in order to detect user
idle time.
I am still studying GDbus API, and I am also looking for some very
good example of GDbus API + logind usage, in order to learn best
practices in using both of them.
Do you know any? I actually have not found anything yet that fits my
needs, but there should be some for sure. I have just found this
StackOverflow topic [1]

Thank you for your time

[1]: 
https://stackoverflow.com/questions/37185735/sample-program-for-gdbus-signals
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


A pango update

2018-10-16 Thread Matthias Clasen via gtk-devel-list
Pango development has been slow in the last few years, while most of the
work on the text
rendering stack has moved to harfbuzz. But recently, Behdad and I got
together for a pango
work day, and made some plans, which we want to share. The underlying goal
of these changes
is to ensure that GTK+ and GNOME continue to have a competitive text
rendering stack,
and to avoid pango becoming a roadblock for this.

To give some background, pango provides these major pieces of
functionaliity. Originally,
pango has had a backend- and module-based architecture to implement most of
these things per platform:

- Unicode text analysis (direction, scripts, languages).

This is mostly based on Unicode data tables which are for the most part
(but not entirely)
provided by GLib and firibidi.

- Font enumeration.

Font enumeration will remain platform-specific, with a Linux implementation
based
on fontconfig.

- Shaping.

Shaping is the domain of harfbuzz, and we want to use it on all platforms
in the
future. The web browsers are ahead of us here, and already use harfbuzz
across
platforms. The soon-to-be released harfbuzz 2.0 will close one of the last
few feature
gaps for this by supporting Apple-specific font tables.

- Font rendering.

For rendering, we nowadays rely on cairo everywhere.

In terms of concrete plans, we want to

- Move things that need to be updated with Unicode (scripts, character
properties)
  to GLib and/or fribidi

- Update the Emoji iterator to be in sync with chrome

- Use harfbuzz for shaping everywhere

- Provide api to make harfbuzz objects available, so we can get access to
harfbuzz
  features without wrapping everything in pango api

There's also a small amount of feature work that we've looked at:

- Add some apis to support font variations

- Subpixel positioning

There is a gitlab milestone to track these:
https://gitlab.gnome.org/GNOME/pango/milestones/9
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


About external general purpose modules suppression in GTK+ 4.0

2018-10-05 Thread Durilindandero Asidefero via gtk-devel-list
So it seems that GTK external modules support in GTK+ will be
deprecated in 4.x branch.

I guess it seems feasible because aside from global menubar guys, it
seems to me that there aren't so many active external modules.

Well, there's at least another useful one, plotinus, a blessing
command palettes module that let *all menu item positioning disputes
quietly die* while at the same time enhancing usability of all gtk+
applications.

https://github.com/p-e-w/plotinus

In general, do I understand correctly or what does it go with this
removal is the chance to globally modify gtk+ behaviour without
forking and continuously patching the toolkit unless you get to import
your changes upstream?
Emmanuele wrote this in one of this posts in this bug tracker
(https://gitlab.gnome.org/GNOME/gtk/issues/1132):

>You get to do what everyone else does: engage with the upstream community, 
>interact with the maintainers and designers, and try to outline your intent. 
>If you get to convince them, good: the toolkit gets a supported feature, and 
>applications get to use it, and test it, properly.

In practice, doesn't this mean additional work for the app developers
that want to integrate features like command palettes in their apps
without waiting that upstream takes its time to decide whether the
feature deserves to be integrated in the toolkit?

Sticking to plotinus, I like a lot what it does and I get to use it
*for free* in the applications I've written installing it alongside
the app and loading it at runtime, when the user didn't already
globally installed by himself:
in that case I got support for it out of the box without writing a
single extra line.

So, when (and now if) I will port my app to gtk4 I will have to
explicitly replicate a command palette inside my app; so probably it
won't get it because, well, there are more important things when you
have deadlines.

If I get it right, it seems to me that this external modules
suppression will in theory slow down innovation coming from external
developers; not that it seriously happened in many cases, but I can
say that  I wouldn't have lobbied for
 command palettes if I didn't get to use them in the first place and
that *wouldn't have been possible without modules*, apparently.

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


Re: An alternative to gdk-pixbuf

2018-09-16 Thread Alan Coopersmith via gtk-devel-list

On 09/15/18 10:48 AM, John Emmas wrote:

On 15/09/2018 12:07, Magnus Bergman wrote:

Some mismatch in versions of libtiff
could for example be a reason. Otherwise you should probably file a bug
report with more information (perhaps to your distribution firstly).



Do you happen to know if the tiff library has its own mailing list? I haven't 
had much success in finding one


Yes - see http://www.simplesystems.org/libtiff/ for info on the list.

--
-Alan Coopersmith-   alan.coopersm...@oracle.com
 Oracle Solaris Engineering - https://blogs.oracle.com/alanc
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: An alternative to gdk-pixbuf

2018-09-16 Thread Emmanuele Bassi via gtk-devel-list
On Sun, 16 Sep 2018 at 10:47, John Emmas  wrote:

> On 15/09/2018 18:48, John Emmas wrote:
> >
> > Do you happen to know if the tiff library has its own mailing list? I
> > haven't had much success in finding one
> >
>
> In fact I'll need the mailing list for gdk-pixbuf now - except that I
> can't find that one either!! (or is this the correct place for reporting
> gdk-pixbuf issues?)
>
>
The correct way to report issues for gdk-pixbuf:

1. use the issue tracker:
https://gitlab.gnome.org/GNOME/gdk-pixbuf/issues/new
2. do not attach to an existing, unrelated thread on a mailing list; create
a new topic instead

For discussions, you can use this mailing list—but issues should strictly
be reported on the issue tracker.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: An alternative to gdk-pixbuf

2018-09-11 Thread John Cupitt via gtk-devel-list
On Tue, 11 Sep 2018 at 03:11, Magnus Bergman
 wrote:
> On Tue, 11 Sep 2018 00:07:27 +0200
> Bastien Nocera  wrote:
> > No, it really isn't:
> > https://www.cvedetails.com/vulnerability-list/vendor_id-1749/Imagemagick.html
> >
> > We want to have less CVEs, not more.
>
> I see what you mean. A few of them (although none of the more serious
> ones) were even related to the GIF loader specifically. But the sheer
> volume kind of speaks for itself otherwise. :(

IM joined Google's OSS-Fuzz programme last year:

https://github.com/google/oss-fuzz

The huge surge in CVEs was caused by that --- they've been fixing one
or two a day ever since. Once they are through this very painful
process, IM ought to be rather safe.

I do agree though that it's a large and complex thing to use for such
a (relatively) simple task.

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


Re: An alternative to gdk-pixbuf

2018-09-10 Thread John Cupitt via gtk-devel-list
On Mon, 10 Sep 2018 at 08:02, Debarshi Ray  wrote:
> > too with the right plugin (probably using GEGL in that case). But I
> > think the problem with large images (say 12000x12000 or so) is giving
> > it to the application as a pixmap. From my own tests it seams it's fine
> > at least as long as the images are no bigger than the screen. So if the
> > drawing (and implicitly also scaling) is handed over to the loading
> > library (which in turn might hand it over to the plugin), this problem
> > can be avoided.
>
> Even if one does decode the entire full resolution image into a tiled
> data structure (say, GeglBuffer), there's no need to create a Cairo
> surface for the entire image at 1:1 zoom. All that's needed is a
> surface to represent the visible area at the visible zoom. That's a
> lot more manageable.

I make a gtk viewer that can display large images efficiently (over
100,000 x 100,000), linked above. I hit a few other issues:

1. You can't use a large ScrolledWindow and only paint the visible
area, since you can easily go over the 64k pixel limit on viewports.
You have to handle all the scrolling yourself.
2. You need to keep all image processing in a set of background
threads and update the display asynchronously, perhaps this is
obvious.
3. You have to do the double-buffering yourself as well, since it can
take a while to generate a new view and you have to update the screen
as new chunks of image are generated.

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


Re: Problems with git.gnome.org

2018-09-06 Thread Emmanuele Bassi via gtk-devel-list
Are you trying to access a repository using a `git://` URL? That has been
deprecated a long time ago, for security reasons, and with GitLab it was
removed altogether.

Ciao,
 Emmanuele.

On Thu, 6 Sep 2018 at 14:09, John Emmas  wrote:

> Hi guys - sorry for posting this here but I've tried gnome's
> 'gitlab-issues' mailing list and couldn't get any response.  Maybe
> someone here can help..?
>
> For the past few weeks I've been seeing errors if I try to update (i.e.
> pull) certain libraries from git (e.g. pango / pangomm / gtkmm etc).
> Here's what I see...
>
>  Looking up git.gnome.org ... done.
>  Connecting to git.gnome.org (port 9418) ... fatal: unable to
> connect to git.gnome.org
>  git.gnome.org[0: 209.132.180.168]: errno=No error
>  git.gnome.org[1: 209.132.180.180]: errno=No error
>
> At first I assumed the repos were down temporarily but it's not getting
> any better so I'm guessing the libraries have been moved somewhere
> else?  So do I maybe need to change something at my end?
>
> It doesn't seem to be affecting all my gtk support libs BTW - just some
> of them... Thanks,
>
> John
> ___________
> gtk-devel-list mailing list
> gtk-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-devel-list
>


-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: An alternative to gdk-pixbuf

2018-09-06 Thread John Cupitt via gtk-devel-list
On Thu, 6 Sep 2018 at 11:40, Emmanuele Bassi via gtk-devel-list
 wrote:
> On Wed, 5 Sep 2018 at 19:25, Magnus Bergman  
> wrote:
>> Gegl is great for image editing. But not as much for simple viewing.
>
> This is debatable. If I'm viewing a 4000x4000 RGB image on a hidpi display 
> I'm already pushing gdk-pixbuf and cairo to their limits because of the 
> scaling factor applied to the window — not only the buffer gets loaded 
> uncompressed to allow for zooming, but the image viewer needs to render a 
> CPU-scaled down copy of the image.

It doesn't have to be gegl, of course, you could use any image
processing library to load and scale down the images. I made a tiny
image viewer based on libvips:

https://github.com/jcupitt/vipsdisp-tiny

It's 300 lines, but does multi-threaded, asynchronous painting of many
image formats. It can display gigapixel images on very modest
hardware, and it should be quick.

There's a more complete image viewer here:

https://github.com/jcupitt/vipsdisp

That adds most of the usual navigation stuff, though it's not quite
done, I must get back to it. The image display part is a widget you
could easily cut out and paste into other applications. It's in C, but
libvips is a GObject-based library, so it'd be easy to write in any
language.

Here it is displaying a 18k x 8k 16-bit TIFF:

http://www.rollthepotato.net/~john/summer.png

That image takes about 8s to load on this laptop. Here it is
displaying a 120k x 100k pixel ndpi slide image:

http://www.rollthepotato.net/~john/slide.png

That image loads instantly, since ndpi supports random access and
vipsdisp can just load the parts it needs to paint the screen.

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


Re: An alternative to gdk-pixbuf

2018-09-06 Thread Emmanuele Bassi via gtk-devel-list
wrap them in sandboxes, would be
a fairly good thing to do; it need to be decided at run time, though,
because there are many users of GdkPixbuf that already run in a sandbox,
which prevents creating smaller sandboxes inside it.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: An alternative to gdk-pixbuf

2018-09-05 Thread Ray Strode via gtk-devel-list
hi,

On Tue, Sep 4, 2018, 6:19 PM Magnus Bergman 
wrote:

> Over the years it has been discussed from time to time to replace
> gdk-pixbuf with something else[1][2].

[...]

> I finally took some time to design an
> image loading library on top of cairo

[...]

>  abydos, which at least
> suits my needs. And also some needs mentioned in this list over the
> years. First I thought it could suit the needs of GTK+ as well.

So one thing i think a modern image library needs is sandboxing.  the
loader should be contained with bubblewrap and it should just give back a
chunk of pixels in shared memory as a memfd or similar.

then if it crashes it doesnt take down the app.  if its exploited the most
the attacker can do is make the caller show the wrong image (which could
still be bad of course)

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


Re: An alternative to gdk-pixbuf

2018-09-05 Thread Emmanuele Bassi via gtk-devel-list
Hi;

On Tue, 4 Sep 2018 at 23:19, Magnus Bergman 
wrote:

> Over the years it has been discussed from time to time to replace
> gdk-pixbuf with something else[1][2]. Something was even in the making
> (I guess over ten years ago) but it never replaced gdk-pixbuf
> apparently. Now I don't even remember what it was called. And something
> else called pig was proposed more recently.
>
> One major reason to replace gdk-pixbuf has been the long term goal to
> phase out GDK in favour of cairo. And some people (including me) has
> been displeased with the gdk-pixbuf API for more subtle reasons. It has
> also been brough up that it lacks some features (which I guess are hard
> to implement as an afterthought). I finally took some time to design an
> image loading library on top of cairo called abydos, which at least
> suits my needs. And also some needs mentioned in this list over the
> years. First I thought it could suit the needs of GTK+ as well. But I
> just learned that even cairo is now considered "legacy technology" by
> the GTK+ developers[3], so I guess cairo is also being phased out now.
> But in favour of what?


We're phasing out Cairo in favour of the CSS rendering model, implemented
on top of OpenGL and Vulkan, as it's the API that most closely matches the
requirements of GTK.

Cairo is still used as a fallback mechanism — both when running on
platforms without support for OpenGL or Vulkan, and in the interim period
while the GL/Vulkan rendering pipelines inside GTK don't support a CSS
feature. Additionally, you may still use Cairo for 2D high quality
rendering, for printing and for custom drawing.

Internally, GTK only cares about GdkPixbuf in as much as it provides us
with a way to load graphic assets like icons, which are typically in a very
limited amount of formats. As far as we're concerned, image data coming
from GdkPixbuf and Cairo gets loaded into memory buffers that get submitted
to the GPU almost immediately, and all transformations and rendering happen
using shaders, on the GPU.

Anything bigger than an icon should probably be loaded and displayed
through Gegl, the same library used by the GIMP; this is especially true if
you're planning to process the image using filters. Images, these days, are
pretty big buffers — and so are displays; using a simple linear buffer like
GdkPixbuf's does not scale.

>From the perspective of a consumer of GdkPixbuf, the only thing that an
image loading library should do is, pretty literally, load images. No
scaling, no compositing, no rendering. Saving to a file may be interesting
— but that opens the whole transcoding can of worms, so maybe it should
just be a debugging feature. Ideally, I/O operations should happen in a
separate thread, and possible use multi-threading to chunk out the work on
multiple cores; it definitely needs to integrate with GIO, as it's a modern
API that well maps to GUIs.

In the near future, I'll very likely deprecate most of GdkPixbuf's API,
except for the I/O operations; I'd also be happy to seal off most of its
internals, within the ABI stability promise, to avoid leakage of internal
state.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Derivable class - Part. 2

2018-08-20 Thread Pavlo S. via gtk-devel-list
Derivable class based on GObject is there. 


http://psunfun.blogspot.com/2018/08/part-2-deriving-from-gobject-based.html


-- 
- Pavlo Solntsev
-
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

Sent from Evolution on GNU/Debian 


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


Re: Development with GObjects

2018-08-20 Thread Pavlo S. via gtk-devel-list
I can help. But my interests do not got beyond C/C++ scope. I am
writing other sections for my blog, where all other concepts will be
introduced little-by-little. Anyway, let me know how I can help and we
can discuss. 

On Mon, 2018-08-20 at 09:10 -0600, Sriram Ramkrishna wrote:
> 
> 
> On Sat, Aug 18, 2018 at 2:03 PM Philip Chimento via gtk-devel-list <
> gtk-devel-list@gnome.org> wrote:
> > Nice work, Pavlo! I wonder if you can work this into a patch for
> > the GObject documentation :-)
> > 
> > You might want to check out 
> > https://blogs.gnome.org/desrt/2012/02/26/a-gentle-introduction-to-gobject-construction/
> >  as well.
> > 
> > 
> 
> Pavlo, if you're interested we are working on a developer
> documentation portal.  We might not hit C first, but I'm sure we
> could use your help when it comes to organizing and writing tutorials
> when the time comes.  It's worth joining up.  Let me know!
> 
> sri
> 

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


Re: Development with GObjects

2018-08-19 Thread Karan Ahuja via gtk-devel-list
I needed this.

i will try this out. thanks.

please include a patreon link as well

On Sun, Aug 19, 2018 at 2:27 AM, Pavlo S. via gtk-devel-list <
gtk-devel-list@gnome.org> wrote:

> Thank you, Philip,
>
> On Sat, 2018-08-18 at 16:02 -0400, philip.chime...@gmail.com wrote:
> > Nice work, Pavlo! I wonder if you can work this into a patch for the
> > GObject documentation :-)
>
> I see no reason why not. I am planning to issue other sections, e.g.
> derivable objects, interfaces, properties. I am open for discussion the
> best way to incorporate my work to the official manual. What I found,
> very often, it is hard to incorporate documentation to the existing
> one. Mainly because of the existing structure and logic flow. Also, as
> I mentioned in the post, the official manual very technical and very
> confused for newcomers. Spending enough time in academia, I always
> interested in simplification of the complex concepts. Therefore, I
> decided to present my interpretation of very complex concept in a way
> that a beginner will be able to understand.
>
> > You might want to check out
> > https://blogs.gnome.org/desrt/2012/02/26/a-gentle-
> introduction-to-gobject-construction/
> >  as well.
> >
> > In my personal style I would do three things differently, I don't
> > know for sure whether I'm correct about these or how widespread they
> > are as best practices:
> >
> > - It's not necessary to override dispose or finalize if the only
> > thing you do is chain up.
>
> I totally agree with this. The reason I mentioned them is for logic
> flow consistency. I mentioned constructor before so I have to mentioned
> a destructor and probably copy constructor concept (which I didn't).
>
> > - I would free self->name in finalize instead of dispose, along with
> > any other memory that is fully owned by the MyPoint instance. In
> > dispose, I would only drop any references to memory that had been
> > passed in through MyPoint's API.
>
> Hm... This is interesting point. For myself, dispose and finalize are
> still very confusing. But it make sense now. I will try to add some
> additional explanation to the text.
>
> > - I think it's confusing to have my_point_free() that calls
> > g_clear_object(), since usually g_object_unref() is known as the
> > standard way to release a reference to a GObject, and it doesn't
> > necessarily free the object if there are other references.
>
> I would call this as my personal vision. I mentioned that
> _free() is just a convenient wrapper around g_object_unref(). I
> think this analogy comes from C world, where the free() family
> functions are used to free the memory. Again, you probably observe this
> situation through a prism of your experience but in my opinion for
> beginner it is a little bit confusing to call g_object_unref()
> especially in the situation where simple structure can be seen. I will
> try to add some additional wording to clarify this a little bit more.
>
> Best,
> >
> > Best regards,
> > Philip C
> >
> > On Fri, Aug 17, 2018 at 3:11 PM Pavlo S. via gtk-devel-list <
> > gtk-devel-list@gnome.org> wrote:
> > > I am putting together a tutorial how to use GObject. It is my
> > > interpretation and I was trying to keep is as simple as possible
> > > and
> > > clear for new users.
> > >
> > > https://psunfun.blogspot.com/
> > >
> > > Thanks.
> > >
>
> ___
> 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: Development with GObjects

2018-08-18 Thread Pavlo S. via gtk-devel-list
Thank you, Philip, 

On Sat, 2018-08-18 at 16:02 -0400, philip.chime...@gmail.com wrote:
> Nice work, Pavlo! I wonder if you can work this into a patch for the
> GObject documentation :-)

I see no reason why not. I am planning to issue other sections, e.g.
derivable objects, interfaces, properties. I am open for discussion the
best way to incorporate my work to the official manual. What I found,
very often, it is hard to incorporate documentation to the existing
one. Mainly because of the existing structure and logic flow. Also, as
I mentioned in the post, the official manual very technical and very
confused for newcomers. Spending enough time in academia, I always
interested in simplification of the complex concepts. Therefore, I
decided to present my interpretation of very complex concept in a way
that a beginner will be able to understand. 

> You might want to check out 
> https://blogs.gnome.org/desrt/2012/02/26/a-gentle-introduction-to-gobject-construction/
>  as well.
> 
> In my personal style I would do three things differently, I don't
> know for sure whether I'm correct about these or how widespread they
> are as best practices:
> 
> - It's not necessary to override dispose or finalize if the only
> thing you do is chain up.

I totally agree with this. The reason I mentioned them is for logic
flow consistency. I mentioned constructor before so I have to mentioned
a destructor and probably copy constructor concept (which I didn't). 

> - I would free self->name in finalize instead of dispose, along with
> any other memory that is fully owned by the MyPoint instance. In
> dispose, I would only drop any references to memory that had been
> passed in through MyPoint's API.

Hm... This is interesting point. For myself, dispose and finalize are
still very confusing. But it make sense now. I will try to add some
additional explanation to the text. 

> - I think it's confusing to have my_point_free() that calls
> g_clear_object(), since usually g_object_unref() is known as the
> standard way to release a reference to a GObject, and it doesn't
> necessarily free the object if there are other references.

I would call this as my personal vision. I mentioned that
_free() is just a convenient wrapper around g_object_unref(). I
think this analogy comes from C world, where the free() family
functions are used to free the memory. Again, you probably observe this
situation through a prism of your experience but in my opinion for
beginner it is a little bit confusing to call g_object_unref()
especially in the situation where simple structure can be seen. I will
try to add some additional wording to clarify this a little bit more. 

Best,
> 
> Best regards,
> Philip C
> 
> On Fri, Aug 17, 2018 at 3:11 PM Pavlo S. via gtk-devel-list <
> gtk-devel-list@gnome.org> wrote:
> > I am putting together a tutorial how to use GObject. It is my
> > interpretation and I was trying to keep is as simple as possible
> > and
> > clear for new users. 
> > 
> > https://psunfun.blogspot.com/
> > 
> > Thanks.
> > 

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


Re: Development with GObjects

2018-08-18 Thread Philip Chimento via gtk-devel-list
Nice work, Pavlo! I wonder if you can work this into a patch for the
GObject documentation :-)

You might want to check out
https://blogs.gnome.org/desrt/2012/02/26/a-gentle-introduction-to-gobject-construction/
as well.

In my personal style I would do three things differently, I don't know for
sure whether I'm correct about these or how widespread they are as best
practices:

- It's not necessary to override dispose or finalize if the only thing you
do is chain up.
- I would free self->name in finalize instead of dispose, along with any
other memory that is fully owned by the MyPoint instance. In dispose, I
would only drop any references to memory that had been passed in through
MyPoint's API.
- I think it's confusing to have my_point_free() that calls
g_clear_object(), since usually g_object_unref() is known as the standard
way to release a reference to a GObject, and it doesn't necessarily free
the object if there are other references.

Best regards,
Philip C

On Fri, Aug 17, 2018 at 3:11 PM Pavlo S. via gtk-devel-list <
gtk-devel-list@gnome.org> wrote:

> I am putting together a tutorial how to use GObject. It is my
> interpretation and I was trying to keep is as simple as possible and
> clear for new users.
>
> https://psunfun.blogspot.com/
>
> Thanks.
>
> --
> - Pavlo Solntsev
> -
> Please avoid sending me Word or PowerPoint attachments.
> See http://www.gnu.org/philosophy/no-word-attachments.html
>
> Sent from Evolution on GNU/Debian 
>
>
> _______
> 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


Development with GObjects

2018-08-17 Thread Pavlo S. via gtk-devel-list
I am putting together a tutorial how to use GObject. It is my
interpretation and I was trying to keep is as simple as possible and
clear for new users. 

https://psunfun.blogspot.com/

Thanks.

-- 
- Pavlo Solntsev
-
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

Sent from Evolution on GNU/Debian 


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


compilation error with 3.22.28

2018-08-13 Thread Harris, TerryX via gtk-devel-list
Does there exist a patch for :

./.libs/libgtk-3.so: undefined reference to `_gtk_marshal_BOOLEAN__BOXED_BOXED'

Has this been otherwise resolved?

How should I proceed to correct this error?

Terry L. Harris | CompuCom
Software Technician
direct 480.554.9839
mobil 480.215.9680
terryx.har...@intel.com<mailto:terryx.har...@intel.com>
www.Compucom.com<http://www.Compucom.com>

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


Re: Using "user.mime_type" xattr for MIME guessing

2018-08-10 Thread Colin Atkinson via gtk-devel-list
On Thu, Aug 9, 2018 at 2:47 PM Bastien Nocera  wrote:

> On Thu, 2018-08-09 at 13:09 -0400, Colin Atkinson wrote:
> > On Thu, Aug 9, 2018 at 10:47 AM Bastien Nocera 
> > wrote:
> > > On Thu, 2018-08-09 at 10:35 -0400, Colin Atkinson via gtk-devel-
> > > list
> > > wrote:
> > > > Hi everyone,
> > > > I'm working on a FUSE file system which makes network requests
> > > > whenever a file is read. So obviously, I would like to avoid
> > > excess
> > > > read requests to files.
> > > >
> > > > The current implementation [0] of gio's MIME guessing seems to
> > > check
> > > > the file extension, and then immediately fall back on reading
> > > magic
> > > > bytes when this is not possible (i.e. files with an ambiguous or
> > > no
> > > > extension). In my situation, this can potentially lead to many
> > > > network requests any time a user opens a directory in Nautilus or
> > > a
> > > > file selection dialog.
> > > >
> > > > According to the FreeDesktop specs [1], implementations may query
> > > the
> > > > user.mime_type xattr for a given file's MIME. But the current
> > > version
> > > > of glib seems not to make use of this.
> > > >
> > > > Would there be any interest in a patch to add this functionality?
> > > If
> > > > so, I would be happy to work on it.
> > > >
> > > > Please let me know if there's anything I've missed/misunderstood.
> > >
> > > It's probably something interesting to add to GIO, though checking
> > > xattrs also has a cost, especially on local disks.
> > >
> > > Depending on what your FUSE is, you might want to consider writing
> > > a
> > > gvfs backend instead, where the backend is responsible for
> > > providing
> > > the mime-type/content-type (and all the other metadata), so you can
> > > use
> > > whichever method is the most useful to you, with no added costs
> > > because
> > > the metadata and the enumeration can be done in one go.
> > >
> > > Cheers
> >
> > While there is an overhead for getting the value of an xattr, it also
> > potentially prevents the expense of doing glob lookups
>
> A glob look is essentially free. There's an mmapped cache with those,
> and it takes microseconds to do a lookup.
>
> >  and magic guessing. It was added partially to help avoid those very
> > operations, as they were deemed expensive.
>
> magic guessing is only going to be expensive because it needs to do
> I/O. So would looking up the xattr.
>
> > I'm hesitant to commit to writing a full gvfs backend. Correct me if
> > I'm wrong, but from reading through some of the backends in the gvfs
> > repo, it seems like writing one would require essentially duplicating
> > all of that effort.
>
> Well, yes and no. We've not seen your code, we just know that it's for
> a network filesystem. A gvfs backend will integrate better with GNOME
> in general, but most of the code should be trivial if you're using a
> library to hide all the intricacies of the underlying protocol.
>
> As for the benefits of writing a gvfs backend, there's an "afc" (Apple
> File Conduit, for iOS devices) FUSE backend, but we also wrote a gvfs
> backend. The gvfs backend integrates with a separate backend that
> watches for plugged in devices, and uses that to mount the filesystems.
> There's integration with GNOME because it knows how to tell you about
> unlocking your device, it can set thumbnails or icons, and mime-types
> on files without doing extra I/O.
>
> Using a file manager that speaks gvfs on top of a gvfs backend is just
> going to be more efficient. A FUSE backend is nice when you're
> prototyping, and want people to test out the code, and kick the tires.
> It's just not a long-term solution for a lot of use cases. (Though it's
> plenty fine if the filesystem is a local one, and the format matches
> POSIX expectations, such as local filesystems that are unsupported by
> the kernel, you'd then teach udisks how to mount them and integration
> would be good enough).
>
> >  And then duplicating it again for KDE. All while maintaining support
> > for the FUSE system so that it is usable on Windows/OS X.
>
> Depends what your target is. I doubt that Windows will read xattrs, but
> then again, I don't know anything about FUSE under Windows.
>
> > This also isn't an isolated situation. There are tons of situations
> > where excess reads should b

Re: Using "user.mime_type" xattr for MIME guessing

2018-08-09 Thread Colin Atkinson via gtk-devel-list
On Thu, Aug 9, 2018 at 10:47 AM Bastien Nocera  wrote:

> On Thu, 2018-08-09 at 10:35 -0400, Colin Atkinson via gtk-devel-list
> wrote:
> > Hi everyone,
> > I'm working on a FUSE file system which makes network requests
> > whenever a file is read. So obviously, I would like to avoid excess
> > read requests to files.
> >
> > The current implementation [0] of gio's MIME guessing seems to check
> > the file extension, and then immediately fall back on reading magic
> > bytes when this is not possible (i.e. files with an ambiguous or no
> > extension). In my situation, this can potentially lead to many
> > network requests any time a user opens a directory in Nautilus or a
> > file selection dialog.
> >
> > According to the FreeDesktop specs [1], implementations may query the
> > user.mime_type xattr for a given file's MIME. But the current version
> > of glib seems not to make use of this.
> >
> > Would there be any interest in a patch to add this functionality? If
> > so, I would be happy to work on it.
> >
> > Please let me know if there's anything I've missed/misunderstood.
>
> It's probably something interesting to add to GIO, though checking
> xattrs also has a cost, especially on local disks.
>
> Depending on what your FUSE is, you might want to consider writing a
> gvfs backend instead, where the backend is responsible for providing
> the mime-type/content-type (and all the other metadata), so you can use
> whichever method is the most useful to you, with no added costs because
> the metadata and the enumeration can be done in one go.
>
> Cheers
>

While there is an overhead for getting the value of an xattr, it also
potentially prevents the expense of doing glob lookups and magic guessing.
It was added partially to help avoid those very operations, as they were
deemed expensive.

I'm hesitant to commit to writing a full gvfs backend. Correct me if I'm
wrong, but from reading through some of the backends in the gvfs repo, it
seems like writing one would require essentially duplicating all of that
effort. And then duplicating it again for KDE. All while maintaining
support for the FUSE system so that it is usable on Windows/OS X.

This also isn't an isolated situation. There are tons of situations where
excess reads should be avoided (e.g. slow disk with lots of files in a
directory), or where a FUSE or application has explicitly set the MIME
(e.g. curl setting user.mime_type based on the Content-Type header).

I may try to whip up a minimal proof-of-concept patch sometime in the next
week (unless there's strong opposition to it). From there, it should be
feasible to see how checking user.mime_type affects performance.

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


Using "user.mime_type" xattr for MIME guessing

2018-08-09 Thread Colin Atkinson via gtk-devel-list
Hi everyone,
I'm working on a FUSE file system which makes network requests whenever a
file is read. So obviously, I would like to avoid excess read requests to
files.

The current implementation [0] of gio's MIME guessing seems to check the
file extension, and then immediately fall back on reading magic bytes when
this is not possible (i.e. files with an ambiguous or no extension). In my
situation, this can potentially lead to many network requests any time a
user opens a directory in Nautilus or a file selection dialog.

According to the FreeDesktop specs [1], implementations may query the
user.mime_type xattr for a given file's MIME. But the current version of
glib seems not to make use of this.

Would there be any interest in a patch to add this functionality? If so, I
would be happy to work on it.

Please let me know if there's anything I've missed/misunderstood.

Cheers,
Colin

[0]: https://github.com/GNOME/glib/blob/master/gio/xdgmime/xdgmime.c#L489
[1]:
https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html#idm140625828614912
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Combined search and combobox?

2018-07-28 Thread Dov Grobgeld via gtk-devel-list
n arrows within the text entry.
> Btw, this happens also if I only replace (without setting up all the
> connections), gtk_combo_box_new() with gtk_combo_box_new_with_entry(). I'm
> still trying to figure out what went wrong.
>
> I will hazard a guess that you didn't set the text column with
> gtk_combo_box_set_entry_text_column ()
>
> Reuben
>
>
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Combined search and combobox?

2018-07-27 Thread Dov Grobgeld via gtk-devel-list
I agree that setting this up is a bit too complex, and it would be nice if
there was a standalone widget that this everything for you.

Meanwhile I tried converting your widget into C (with the intention of
replacing the font selection widget in gucharmap), and something is not
working. I get lots of warnings about:

(gucharmap:30880): Gtk-CRITICAL **: 17:41:07.804: gtk_entry_set_text:
assertion 'text != NULL' failed

This happens e.g. when I'm using the up down arrows within the text entry.
Btw, this happens also if I only replace (without setting up all the
connections), gtk_combo_box_new() with gtk_combo_box_new_with_entry(). I'm
still trying to figure out what went wrong.

Regards,
Dov


On Fri, Jul 27, 2018 at 2:25 PM Reuben Rissler  wrote:

> On 07/27/2018 12:15 AM, Dov Grobgeld wrote:
>
> Thanks. This is exactly what I was looking for! I didn't realize that a
> combobox can be attached to a model, and that a model can be filtered.
>
> Gtk models are powerful, but with great power comes great complexity ;)
>
>
> Imo multiple partial string match should be default behavior, which it is
> unfortunately not. E.g. inkscape only matches in the beginning of the
> string.
>
> Agreed.
>
>
> Is there a GNOME guide line about this?
>
> Not that I have seen in my travels using Gtk.
>
> I came up with this tool out of necessity for my accounting/small business
> system. I never gave it a thought somebody else would find it useful until
> your post to this mailing list. When you posted, I thought you might find
> this interesting. So would this be useful to a wider audience? I don't know
> if the Gtk devs would consider making a special combo with this feature, as
> it seems so easy to setup. After you know how :)
>
> Glad to be of help,
> Reuben
> ___
> 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: GNOME GitLab instance slow?

2018-07-27 Thread Luca Bacci via gtk-devel-list
Thank you very much, Tristan. What is d-d-l?

In the meantime I have been able to push the Merge Request, but after
trying some times over three hours without success

Luca

2018-07-27 15:19 GMT+02:00 Tristan Van Berkom <
tristan.vanber...@codethink.co.uk>:

> This is probably better on another list, maybe d-d-l, since this would
> effect everyone.
>
> I can say that since 2 weeks ago, the gitlab.com instance seems to have
> deployed a huge and sluggish JS payload which brings my browser to a crawl,
> i dont know if we've opted into that update on the GNOME instance, though.
>
> Cheers,
> -Tristan
>
> > On Jul 27, 2018, at 8:17 PM, Luca Bacci via gtk-devel-list <
> gtk-devel-list@gnome.org> wrote:
> >
> > Hi, do you experience too general slowness in GNOME's GitLab?
> >
> > In general the workflow is too sluggish and this gets a bit in the way.
> >
> > But the real problem is that I'm not able to create a Merge Request. It
> waits for about 30 seconds and fails with: "502 Whoops, GitLab is taking
> too much time to respond."
> >
> > Also I get errors in many places like "Error loading viewer", even
> though everything seems to work fine!
> >
> > I don't know if the problem is related to GitLab or the GNOME instance /
> installation
> >
> > Is it me or do you encounter these problems too?
> > Just to ask..
> >
> > Thank You!
> > Luca
> > ___________
> > 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: GNOME GitLab instance slow?

2018-07-27 Thread Tristan Van Berkom via gtk-devel-list
This is probably better on another list, maybe d-d-l, since this would effect 
everyone.

I can say that since 2 weeks ago, the gitlab.com instance seems to have 
deployed a huge and sluggish JS payload which brings my browser to a crawl, i 
dont know if we've opted into that update on the GNOME instance, though.

Cheers,
-Tristan

> On Jul 27, 2018, at 8:17 PM, Luca Bacci via gtk-devel-list 
>  wrote:
> 
> Hi, do you experience too general slowness in GNOME's GitLab?
> 
> In general the workflow is too sluggish and this gets a bit in the way.
> 
> But the real problem is that I'm not able to create a Merge Request. It waits 
> for about 30 seconds and fails with: "502 Whoops, GitLab is taking too much 
> time to respond."
> 
> Also I get errors in many places like "Error loading viewer", even though 
> everything seems to work fine!
> 
> I don't know if the problem is related to GitLab or the GNOME instance / 
> installation
> 
> Is it me or do you encounter these problems too?
> Just to ask..
> 
> Thank You!
> Luca
> ___
> 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


GNOME GitLab instance slow?

2018-07-27 Thread Luca Bacci via gtk-devel-list
Hi, do you experience too general slowness in GNOME's GitLab?

In general the workflow is too sluggish and this gets a bit in the way.

But the real problem is that I'm not able to create a Merge Request. It
waits for about 30 seconds and fails with: "502 Whoops, GitLab is taking
too much time to respond."

Also I get errors in many places like "Error loading viewer", even though
everything seems to work fine!

I don't know if the problem is related to GitLab or the GNOME instance /
installation

Is it me or do you encounter these problems too?
Just to ask..

Thank You!
Luca
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Combined search and combobox?

2018-07-26 Thread Dov Grobgeld via gtk-devel-list
Thanks. This is exactly what I was looking for! I didn't realize that a
combobox can be attached to a model, and that a model can be filtered.

Imo multiple partial string match should be default behavior, which it is
unfortunately not. E.g. inkscape only matches in the beginning of the
string.

Is there a GNOME guide line about this?

Regards,
Dov

On Thu, Jul 26, 2018 at 8:38 PM Reuben Rissler  wrote:

> On 07/26/2018 07:36 AM, Dov Grobgeld via gtk-devel-list wrote:
>
> Is there a widget that combines a searchbox with a combobox?
>
> A use case would be to search for a fontname in a very long font list.
>
> I would like to be able to type a search string, and have the opened
> combobox display only entries that match the typed string. A plus would be
> if it is possible to change how matches take place, e.g. between multiple
> word (like helm-mode in emacs), a regular expression, or an absolute match.
>
> Has someone written anything like that?
>
>
> You didn't specify a language, so here's an example in Python. It uses
> space separated keywords, like in Google search or so. It may not be
> exactly as you requested, but will give you something to start with.
>
> #! /usr/bin/env python3
>
> import gi
> gi.require_version('Gtk', '3.0')
> from gi.repository import Gtk
> import os, sys
>
>
> class GUI (Gtk.Window):
> def __init__(self):
>
> Gtk.Window.__init__(self, title="Combo with search")
> self.model = Gtk.ListStore(str)
> self.populate_model()
> #combobox
> combo = Gtk.ComboBox.new_with_model_and_entry(model = self.model)
> combo.set_entry_text_column(0)
> combo.connect('changed', self.changed)
> #completion
> completion = Gtk.EntryCompletion ()
> completion.set_model(self.model)
> completion.set_text_column(0)
> completion.set_match_func(self.match_func)
> completion.connect ('match-selected', self.match_selected)
> #combobox entry
> entry = combo.get_child()
> entry.set_completion (completion)
> #main window
> self.add (combo)
> self.show_all()
>
> def changed (self, combo):
> _iter = combo.get_active_iter()
> if _iter != None:
> font = self.model[_iter][0]
> print ('You selected combo:', font)
>
> def match_selected (self, completion, model, _iter):
> print ('You selected completion:', model[_iter][0])
>
> def match_func (self, completion, string, _iter):
> for word in string.split():
> if word not in self.model[_iter][0].lower(): #search is always
> lower case
> return False
> return True
>
> def on_window_destroy(self, window):
> Gtk.main_quit()
>
> def populate_model (self):
> for i in range (100):
>     self.model.append(["Font %d" % i])
>
> def main():
> app = GUI()
> Gtk.main()
>
> if __name__ == "__main__":
>     sys.exit(main())
>
>
> Reuben
>
>
> ___________
> 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


Combined search and combobox?

2018-07-26 Thread Dov Grobgeld via gtk-devel-list
Is there a widget that combines a searchbox with a combobox?

A use case would be to search for a fontname in a very long font list.

I would like to be able to type a search string, and have the opened
combobox display only entries that match the typed string. A plus would be
if it is possible to change how matches take place, e.g. between multiple
word (like helm-mode in emacs), a regular expression, or an absolute match.

Has someone written anything like that?

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


VeraCrypt support in GNOME

2018-07-25 Thread segfault via gtk-devel-list
Hi,

first a quick status update: the project to add VeraCrypt support to
GNOME made good progress in the last months. Our work on Disks, glib,
GVfs, and partly GTK+, was merged already:

  https://gitlab.gnome.org/GNOME/gnome-disk-utility/issues/84
  https://gitlab.gnome.org/GNOME/glib/merge_requests/120
  https://gitlab.gnome.org/GNOME/gvfs/merge_requests/4/
  https://gitlab.gnome.org/GNOME/gtk/merge_requests/260

The remaining important merge requests are:

  https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/126
  https://gitlab.gnome.org/GNOME/gtk/merge_requests/200
  https://gitlab.gnome.org/GNOME/gtk/merge_requests/244

We hope that these can be merged in time for the GTK+ 3.24 / GNOME Shell
3.30 releases. Given the feature freeze will happen soon, time is pressing.

Our main concern is the GNOME Shell merge request
(https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/126), which
seems to be stalled, possibly due to holiday or higher priority work,
which is why we're hereby reaching out to the broader GNOME development
community, in the hope that someone has time to look into it :)

We are also concerned about the merge request for including interesting
device mapper devices and loop devices in the GTK places sidebar
(https://gitlab.gnome.org/GNOME/gtk/merge_requests/200), which was
rejected. The purpose of this merge request is to include encrypted file
containers in the sidebar. Based on our user survey, file containers are
very common among VeraCrypt users (used by 76% of Tails+VeraCrypt users):

  https://tails.boum.org/blueprint/veracrypt/#survey

We did not get an explanation for the rejection, except that there
should be no special-casing of these devices in GTK+. So a couple weeks
ago, we asked for a clarification and we explained that we don't think
that this would qualify as special-casing, given these volumes are
already listed by the GVfs volume monitor:

  https://gitlab.gnome.org/GNOME/gtk/merge_requests/200#note_261361

The volume monitor documentation explicitly states that it lists devices
and volumes interesting for the user, i.e. "what a file selector or file
manager would show in a sidebar". In our tests, the only volumes that
were added to the sidebar by our patches were encrypted volumes
(excluding those on internal drives).

We would appreciate  to get a comment on this, because we see this as an
essential feature for the usability of the VeraCrypt support in GNOME.
Thanks a lot in advance!

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


Re: About Gtk4, modules and GlobalMenu approach

2018-06-24 Thread Konstantin P. via gtk-devel-list
OK, so, I need another more hackish way to apply it (I like system-wide
menu removal, which not depend on application developers at all (maybe an
LD_PRELOAD hack or try to use module with dummy GIO extension
implementation)).


On Sat, Jun 23, 2018 at 11:19 PM Matthias Clasen 
wrote:

>
>
> On Tue, Jun 5, 2018 at 6:57 AM, Konstantin P. 
> wrote:
>
>> I am a developer of GlobalMenu applets for XFCE, Mate and Budgie. Also I
>> maintain appmenu-gtk-module and Jayatana.
>> I heard than you removed general purpose loadable modules support, so, I
>> cannot alter GtkMenuBar and GtkWindow to acheive support for Global Menu.
>>
>> Can I develop a patch to GTK which enables support exporting all
>> GtkMenuBar instances as GMenuModels (regardless of origin) when
>> gtk-shell-shows-menubar is enabled and set to 1?
>>
>>
> No, we don't think that is appropriate, as we already said in
> https://gitlab.gnome.org/GNOME/gtk/issues/1132
>
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: About Gtk4, modules and GlobalMenu approach

2018-06-23 Thread Matthias Clasen via gtk-devel-list
On Tue, Jun 5, 2018 at 6:57 AM, Konstantin P. 
wrote:

> I am a developer of GlobalMenu applets for XFCE, Mate and Budgie. Also I
> maintain appmenu-gtk-module and Jayatana.
> I heard than you removed general purpose loadable modules support, so, I
> cannot alter GtkMenuBar and GtkWindow to acheive support for Global Menu.
>
> Can I develop a patch to GTK which enables support exporting all
> GtkMenuBar instances as GMenuModels (regardless of origin) when
> gtk-shell-shows-menubar is enabled and set to 1?
>
>
No, we don't think that is appropriate, as we already said in
https://gitlab.gnome.org/GNOME/gtk/issues/1132
___________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


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 gtk-devel-list
Posted Here Also:
https://stackoverflow.com/questions/50430314/g-stat-in-src-glade3-3-8-5-gladeui-glade-utils-c-at-line-1865-causes-sigsegv-in


This may strictly be an issue on MSYS64 / MinGW64. That is unknown.


The problem has been duplicated: 
https://github.com/Alexpux/MINGW-packages/issues/3780

The Runtime Environment Is MSYS64 / MinGW64. (MSYS2 20161025 Upgraded with 
pacman -Syu). It worked fine, previous to my most recent set of pacman updates.

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.

When I use gdb to troubleshoot the Segmentation Fault, I get the following:

Thread 1 received signal SIGSEGV, Segmentation fault.
0x7ff90f48c981 in strlen () from C:\Windows\System32\msvcrt.dll

Whether I run an executable installed by pacman or built from source.

When I build from source and enable debugging symbols, I get more info as 
below, but in the first few lines it identifies the file and line below, and 
the problem has been isolated to that line.

(gdb) bt
#0 0x7ff90f48c981 in strlen () from C:\Windows\System32\msvcrt.dll
#1 0x68611286 in ?? () from C:\msys64\mingw64\bin\libglib-2.0-0.dll
#2 0x68611f25 in ?? () from C:\msys64\mingw64\bin\libglib-2.0-0.dll
#3 0x62dbdab4 in glade_util_get_file_mtime (filename=0x0,
error=error@entry=0x0) at ../../glade3-3.8.5/gladeui/glade-utils.c:1865

When I change line 1865 of glade-utils.c from:

retval = g_stat (filename, );

To:

retval = stat (filename, );

I get the following warning:

warning: Invalid parameter passed to C runtime function.

But the program appears to save the file correctly.

If I hardcode it like this:

1865 // retval = g_stat (filename, ); 
1866 retval = 0;
I get a message about the filename being null, and it does not appear to save 
the file correctly, but it does not segfault.

Below is my history of Gtk2 and Glib Installation:

$ grep mingw-w64-x86_64-gtk2 /var/log/pacman.log | grep installed
[2017-11-19 19:29] [ALPM] installed mingw-w64-x86_64-gtk2 (2.24.31-6)

[2018-05-11 02:18] [ALPM] reinstalled mingw-w64-x86_64-gtk2 (2.24.32-1)

$ grep mingw-w64-x86_64-glib2 /var/log/pacman.log | grep installed
[2017-11-19 19:26] [ALPM] installed mingw-w64-x86_64-glib2 (2.54.2-1)

[2018-05-11 01:58] [ALPM] reinstalled mingw-w64-x86_64-glib2 (2.56.1-1)

Glade Version is 3.8.5

Source Info:

pkgver=3.8.5

pkgrel=2

sha256sums=('58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735')
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


fdwalk

2018-03-06 Thread Markus Teich via gtk-devel-list
Heyho,

I discovered you have a fdwalk implementation in glib/gspawn.c which is not
exported as a usable symbol. Is there any reason for this? If not, I'd
suggest exporting that symbol and maybe even another wrapper that takes a
list of FDs to keep open instead of the callback pointer and closes all
other ones. Closing all fds except some specific ones is a common pattern
before exec()ing.

--Markus


-- 
Google Germany GmbH, Erika-Mann-Str. 33, 80636 München, Geschäftsführer:
Paul Manicle, Halimah DeLaine Prado, Registergericht und -nummer: Hamburg,
HRB 86891, Sitz der Gesellschaft: Hamburg
This e-mail is confidential. If you received this communication by mistake,
please don't forward it to anyone else, please erase all copies and
attachments, and please let me know that it has gone to the wrong person.
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: fdwalk

2018-01-29 Thread Markus Teich via gtk-devel-list
Heyho,

I'm going to unsubscribe from the list now to avoid noise. If someone gets
interested in this, please CC me in any response. Thanks!

--Markus


On Mon, Jan 15, 2018 at 4:46 PM Markus Teich <
mteich+gtk-devel-l...@google.com> wrote:

> Heyho,
>
> I discovered you have a fdwalk implementation in glib/gspawn.c which is
> not exported as a usable symbol. Is there any reason for this? If not, I'd
> suggest exporting that symbol and maybe even another wrapper that takes a
> list of FDs to keep open instead of the callback pointer and closes all
> other ones. Closing all fds except some specific ones is a common pattern
> before exec()ing.
>
> --Markus
>
>
> --
> Google Germany GmbH, Erika-Mann-Str. 33, 80636 München, Geschäftsführer:
> Paul Manicle, Halimah DeLaine Prado, Registergericht und -nummer: Hamburg,
> HRB 86891, Sitz der Gesellschaft: Hamburg
> This e-mail is confidential. If you received this communication by
> mistake, please don't forward it to anyone else, please erase all copies
> and attachments, and please let me know that it has gone to the wrong
> person.
>
-- 
Google Germany GmbH, Erika-Mann-Str. 33, 80636 München, Geschäftsführer:
Paul Manicle, Halimah DeLaine Prado, Registergericht und -nummer: Hamburg,
HRB 86891, Sitz der Gesellschaft: Hamburg
This e-mail is confidential. If you received this communication by mistake,
please don't forward it to anyone else, please erase all copies and
attachments, and please let me know that it has gone to the wrong person.
___________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


RE: Is a Module Definition File needed when building with MSVC (gtk-2-24)?

2018-01-21 Thread 范,君維 via gtk-devel-list
Hi John,

Can you try generating gtk/gtkmarshalers.[c|h] using glib-genmarshal?  Can you 
also test using the Python version of glib-genmarshal and see whether the 
linking z   works properly?  If not, use the former .exe version of the tool, 
and perhaps file a bug against the Python version of glib-genmarshal?

(In the gtk\ subdir)
$(glib-genmarshal command) --prefix=_gtk_marshal ./gtkmarshalers.list 
--header > gtkmarshalers.h

echo #include "gtkmarshalers.h" > gtkmarshalers.c
echo #include "gtkalias.h" >> gtkmarshalers.c
$(glib-genmarshal command) --prefix=_gtk_marshal ./gtkmarshalers.list --body >> 
gtkmarshalers.c 

With blessings, thank you!

從 Windows 10 手機傳送

寄件者: John Emmas
傳送時間: 2018年1月22日 00:06
收件者: gtk-devel-list
主旨: Is a Module Definition File needed when building with MSVC (gtk-2-24)?

Perhaps wrongly I've been using a module definition file when building gtk-2-24 
with MSVC (I'm saying "perhaps" because it used to be needed at one time but 
maybe that eventually got superseded and I didn't notice...)

On 8th Jan, the following symbols got added to 'gtk/gtk.symbols' by commit 
#331877fe36 (Fix abicheck):-

  gtk_marshal_VOID__BOOLEAN
  gtk_marshal_VOID__BOXED
  gtk_marshal_VOID__ENUM
  gtk_marshal_VOID__INT
  gtk_marshal_VOID__OBJECT
  gtk_marshal_VOID__POINTER
  gtk_marshal_VOID__STRING
  gtk_marshal_VOID__UINT
  gtk_marshal_VOID__VOID

Like I said, I'd always assumed that 'gtk.symbols' was needed for generating a 
module definition file ('gtk.def') as that's generally what a symbols file gets 
used for (with MSVC).

If the module definition file isn't needed any more, just ignore this (gtk-2-24 
seems to link okay without it).  But if it is still used, MSVC now produces the 
following linker errors:-

    gtk.def : error LNK2001: unresolved external symbol 
gtk_marshal_VOID__BOOLEAN
    gtk.def : error LNK2001: unresolved external symbol gtk_marshal_VOID__BOXED
    gtk.def : error LNK2001: unresolved external symbol gtk_marshal_VOID__ENUM
    gtk.def : error LNK2001: unresolved external symbol gtk_marshal_VOID__INT
    gtk.def : error LNK2001: unresolved external symbol gtk_marshal_VOID__OBJECT
    gtk.def : error LNK2001: unresolved external symbol 
gtk_marshal_VOID__POINTER
    gtk.def : error LNK2001: unresolved external symbol gtk_marshal_VOID__STRING
    gtk.def : error LNK2001: unresolved external symbol gtk_marshal_VOID__UINT
    gtk.def : error LNK2001: unresolved external symbol gtk_marshal_VOID__VOID

Taking 'gtk_marshal_VOID__ENUM' as an example, 'gtk/gtkmarshalers.c' contains 
some variants - e.g.

    gtk_marshal_VOID__ENUM_BOOLEAN
    gtk_marshal_VOID__ENUM_ENUM
    gtk_marshal_VOID__ENUM_FLOAT
    gtk_marshal_VOID__ENUM_FLOAT_BOOLEAN

along with a few others- but I can't find one that's just called 
'gtk_marshal_VOID__ENUM' (hence the linker error if it it gets included in 
gtk.symbols).

Hope this all makes sense...

John

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


fdwalk

2018-01-15 Thread Markus Teich via gtk-devel-list
Heyho,

I discovered you have a fdwalk implementation in glib/gspawn.c which is not
exported as a usable symbol. Is there any reason for this? If not, I'd
suggest exporting that symbol and maybe even another wrapper that takes a
list of FDs to keep open instead of the callback pointer and closes all
other ones. Closing all fds except some specific ones is a common pattern
before exec()ing.

--Markus


-- 
Google Germany GmbH, Erika-Mann-Str. 33, 80636 München, Geschäftsführer:
Paul Manicle, Halimah DeLaine Prado, Registergericht und -nummer: Hamburg,
HRB 86891, Sitz der Gesellschaft: Hamburg
This e-mail is confidential. If you received this communication by mistake,
please don't forward it to anyone else, please erase all copies and
attachments, and please let me know that it has gone to the wrong person.
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK3 - GtkExpander problem, bug ?

2017-12-15 Thread Eric Cashon via gtk-devel-list

 
Thanks Matthias. I probably should have checked bugzilla first. Just rebuilt 
GTK to version 3.22.26 and it works fine. There is no click through after 
closing the expander.

Eric

 


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


Re: GTK3 - GtkExpander problem, bug ?

2017-12-14 Thread Eric Cashon via gtk-devel-list

 
Hi Sébastien,

If I try some test code... it should work. The code uses a grid instead of a 
fixed container. Is this similar to what you have tried?

Eric

/*
   gcc -Wall buttons1.c -o buttons1 `pkg-config --cflags --libs gtk+-3.0`
   Tested with GTK3.18 on Ubuntu16.04
*/
#include

static void button_clicked1(GtkWidget *button, gpointer user_data)
  {
g_print("1 %s\n", gtk_button_get_label(GTK_BUTTON(button)));
  }
static void button_clicked2(GtkWidget *button, gpointer user_data)
  {
g_print("2 %s\n", gtk_button_get_label(GTK_BUTTON(button)));
  }
int main(int argc, char *argv[])
  {
gtk_init (, );

GtkWidget *window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Buttons");
gtk_window_set_default_size(GTK_WINDOW(window), 400, 400);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);

gint i=0;
gint j=0;
GtkWidget *buttons1[100];
GtkWidget *buttons2[100];

//First set of buttons.
for(i=0;i<100;i++)
  {
gchar *string=g_strdup_printf("button%i", i);
buttons1[i]=gtk_button_new_with_label(string);
g_free(string);
  }

GtkWidget *grid1=gtk_grid_new();
for(i=0;i<10;i++)
  {
for(j=0;j<10;j++)
  {
gtk_grid_attach(GTK_GRID(grid1), buttons1[i*10+j], j, i, 1, 1);
g_signal_connect(buttons1[i*10+j], "clicked", 
G_CALLBACK(button_clicked1), NULL);
  }
  } 

//Second set of buttons.
for(i=0;i<100;i++)
  {
gchar *string=g_strdup_printf("button%i", i);
buttons2[i]=gtk_button_new_with_label(string);
g_free(string);
  }

GtkWidget *grid2=gtk_grid_new();
for(i=0;i<10;i++)
  {
for(j=0;j<10;j++)
  {
gtk_grid_attach(GTK_GRID(grid2), buttons2[i*10+j], j, i, 1, 1);
g_signal_connect(buttons2[i*10+j], "clicked", 
G_CALLBACK(button_clicked2), NULL);
  }
  }   

GtkWidget *scroll1=gtk_scrolled_window_new(NULL, NULL);
gtk_widget_set_vexpand(scroll1, TRUE);
gtk_widget_set_hexpand(scroll1, TRUE);
gtk_container_add(GTK_CONTAINER(scroll1), grid1);

GtkWidget *scroll2=gtk_scrolled_window_new(NULL, NULL);
gtk_widget_set_vexpand(scroll2, TRUE);
gtk_widget_set_hexpand(scroll2, TRUE);
gtk_container_add(GTK_CONTAINER(scroll2), grid2);

GtkWidget *expander1=gtk_expander_new("buttons1");
gtk_container_add(GTK_CONTAINER(expander1), scroll1);

GtkWidget *expander2=gtk_expander_new("buttons2");
gtk_container_add(GTK_CONTAINER(expander2), scroll2);

GtkWidget *grid3=gtk_grid_new();
gtk_grid_attach(GTK_GRID(grid3), expander1, 0, 0, 1, 1);
gtk_grid_attach(GTK_GRID(grid3), expander2, 0, 1, 1, 1);

gtk_container_add(GTK_CONTAINER(window), grid3);

gtk_widget_show_all(window);

    gtk_main();

return 0;
  }   

 


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


Re: webassembly

2017-11-20 Thread Andrea Zagli via gtk-devel-list

Il giorno lun 20 nov 2017 19:23:08 CET, Emmanuele Bassi ha scritto:


On 20 November 2017 at 17:34, Andrea Zagli <aza...@libero.it> wrote:

Il giorno lun 20 nov 2017 16:02:11 CET, Emmanuele Bassi ha scritto:


Hi;

On 20 November 2017 at 14:52, Andrea Zagli via gtk-devel-list
<gtk-devel-list@gnome.org> wrote:


do you plan to port (i don't know if "port" is the right word) glib/gtk
to
webassembly?



There are no plans that I'm aware of, nor use cases that have
materialised that would require such a port.





for example it could replace broadway


Considering that the Broadway backend is mostly a toy, and it hasn't
seen much development at all in master, I'm not sure replacing it is
going to work.

Writing new GDK backends, and ensuring that they keep working, is not
a trivial matter.


since i hate other languages than c, i wrote a little library with glib to
easy develop cgi; and i use other libraries (libgda, libsoup, libxml, etc
etc) to make my web apps

the base code for that web apps is always a library that i use also for the
gui backend of the web app

with webassembly i could write backend and frontend in glib/gtk


If you are volunteering to write a new GDK backend, and maintain it,
then by all means: feel free to work on it and submit your code for
review!

I strongly advise you work on the master branch, as the rendering
model has drastically changed from the gtk-2-24 and gtk-3-22 stable
branches.




unfortunately my knowledge of glib/gtk structure/architecture is close to zero

same thing for webassembly and what it means port to it a library of  
the level of glib/gtk



PS: an other use case could be use latest version of glib/gtk/etc  
"under" winxp (but maybe the browser version that support webassembly  
doesn't suport anymore winxp)

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


Re: webassembly

2017-11-20 Thread Andrea Zagli via gtk-devel-list

Il giorno lun 20 nov 2017 16:02:11 CET, Emmanuele Bassi ha scritto:


Hi;

On 20 November 2017 at 14:52, Andrea Zagli via gtk-devel-list
<gtk-devel-list@gnome.org> wrote:

do you plan to port (i don't know if "port" is the right word) glib/gtk to
webassembly?


There are no plans that I'm aware of, nor use cases that have
materialised that would require such a port.





for example it could replace broadway


since i hate other languages than c, i wrote a little library with  
glib to easy develop cgi; and i use other libraries (libgda, libsoup,  
libxml, etc etc) to make my web apps


the base code for that web apps is always a library that i use also  
for the gui backend of the web app


with webassembly i could write backend and frontend in glib/gtk


today i saw a demo of a qt gui app running inside the browser thanks  
to webassembly

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


webassembly

2017-11-20 Thread Andrea Zagli via gtk-devel-list
do you plan to port (i don't know if "port" is the right word)  
glib/gtk to webassembly?


thanks in advance
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Call not guarded properly

2017-06-02 Thread John Emmas via gtk-devel-list
After updating glib from git master today I can no longer build with 
MSVC.  The build now fails to link because gio makes a call to 
'g_openuri_portal_open_uri_finish()' (in function 
'g_app_info_launch_default_for_uri_finish()')


Looking around at similar calls, I reckon the function should maybe look 
like this:-


gboolean
g_app_info_launch_default_for_uri_finish (GAsyncResult *result,
GError   **error)
{
#ifdef G_OS_UNIX  // <--- This guard added by me 
  return g_openuri_portal_open_uri_finish (result, error);
#endif
  return FALSE;  // <--- and this added by me 
}

Should I flag this up in bugzilla or have I misunderstood something?

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


Re: Licensing

2017-05-28 Thread John Emmas via gtk-devel-list

On 28/05/2017 14:41, Sébastien Wilmet wrote:

On Wed, Apr 19, 2017 at 09:02:21AM +0100, John Emmas via gtk-devel-list wrote:

the following 11 header files stipulate GPL:-

   gbase64.h
   gbookmarkfile.h
   gchecksum.h
   ghmac.h
   glib-private.h
   glib-unix.h
   gmain.h
   gmain-internal.h
   gmessages-private.h
   goption.h
   gpoll.h

Just thought I'd flag it up in case it's unintentional,

I've checked the 3 first files that you list, and they are correctly
licensed under the LGPL (up until recently it was the "GNU Library
General Public License", it's now the "GNU Lesser General Public
License").

Please double check the list.



Hi Sebastien,

I updated from git master just now and the above files are all okay 
now.  However, in the latest stable branch (glib-2-52 ?) they're still 
showing the older licenses.


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


Licensing

2017-04-19 Thread John Emmas via gtk-devel-list
Hi guys - whilst checking something else this morning I came across an 
anomaly in the licensing mechanism for glib / gtk+ etc.


The vast majority of the header files state that it's LGPL.  But 
occasionally there are GPL headers here and there.  For example in 
glib-2, the following 11 header files stipulate GPL:-


  gbase64.h
  gbookmarkfile.h
  gchecksum.h
  ghmac.h
  glib-private.h
  glib-unix.h
  gmain.h
  gmain-internal.h
  gmessages-private.h
  goption.h
  gpoll.h

Just thought I'd flag it up in case it's unintentional,

John

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


RE: What does "(skip)" mean ???

2017-04-17 Thread Fan, Chun-wei via gtk-devel-list
Hi John,

Note that since a few release series ago we stopped using .symbol files to 
export symbols but instead use a __declspec(dllexport) approach to export them.

See config.h.win32.in in your checkout in the _GLIB_EXTERN part—if it is not 
defined in your build files, define it as it is in config.h.win32.in, and 
things should do.

With blessings, and cheers!

從 Windows 10 手機傳送

寄件者: John Emmas via gtk-devel-list
傳送時間: 2017年4月17日 20:47
副本: GTK Devel List
主旨: Re: What does "(skip)" mean ???

On 17/04/2017 12:16, John Emmas via gtk-devel-list wrote:
>
> my VS8 projects seem to use ".symbols" files for determining what gets 
> exported from the built DLLs.  I can't remember why I needed to do 
> that but I probably just need to amend them - or hopefully find a way 
> to stop using them now!
>

Yes - that was it.!  My ".symbols" file was getting converted into 
module definition files (".def" files).  The file was very subtly 
different for a Debug build compared to a Release build.  It looks like 
the difference was due to this function:-

   g_slice_debug_tree_statistics()

 From what I can tell, it's only supposed to be relevant in a Debug 
build.  But there must have been a time when it was somehow getting 
included in a Release build (and presumably causing some kind of 
problem).  My ".def" file just made sure that it didn't get exported 
when it wasn't needed.

Anyway... whatever the problem was, it looks like it eventually got 
fixed and I can now get rid of my def/symbols files..  Sorry for the noise.

John
_______
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: What does "(skip)" mean ???

2017-04-17 Thread John Emmas via gtk-devel-list

On 17/04/2017 12:16, John Emmas via gtk-devel-list wrote:


my VS8 projects seem to use ".symbols" files for determining what gets 
exported from the built DLLs.  I can't remember why I needed to do 
that but I probably just need to amend them - or hopefully find a way 
to stop using them now!




Yes - that was it.!  My ".symbols" file was getting converted into 
module definition files (".def" files).  The file was very subtly 
different for a Debug build compared to a Release build.  It looks like 
the difference was due to this function:-


  g_slice_debug_tree_statistics()

From what I can tell, it's only supposed to be relevant in a Debug 
build.  But there must have been a time when it was somehow getting 
included in a Release build (and presumably causing some kind of 
problem).  My ".def" file just made sure that it didn't get exported 
when it wasn't needed.


Anyway... whatever the problem was, it looks like it eventually got 
fixed and I can now get rid of my def/symbols files..  Sorry for the noise.


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


Re: What does "(skip)" mean ???

2017-04-17 Thread John Emmas via gtk-devel-list

On 17/04/2017 11:25, Emmanuele Bassi wrote:

Should I transfer this discussion to bugzilla here:-

https://bugzilla.gnome.org/show_bug.cgi?id=780634

Please, do, detailing how you build GLib.



Okay - just before I do that though, a bit more investigation might have 
revealed the problem...


I'm building with VS8, using my own vcproj files.  Essentially they're 
the same as the official ones except that as well as building a Debug 
target and a Release target, I also build a "Debuggable Release" 
target.  Apart from that there are only minor differences - for example 
when I build the Debug modules I append a letter "D" to the target name 
(in line with what normally gets done when building with MSVC).


Here's where it gets interesting... my VS8 projects seem to use 
".symbols" files for determining what gets exported from the built 
DLLs.  I can't remember why I needed to do that but I probably just need 
to amend them - or hopefully find a way to stop using them now!


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


Re: What does "(skip)" mean ???

2017-04-17 Thread John Emmas via gtk-devel-list

On 16/04/2017 19:25, Sébastien Wilmet wrote:

It's a GObject Introspection annotation !!!

https://wiki.gnome.org/Projects/GObjectIntrospection/Annotations



Thanks Sébastien,

I can't claim to understand it all but it seems like GObject 
Introspection is a way of compiling modules with one language such that 
they can be used by some different language.  If I use "dumpbin 
/EXPORTS" on my built DLL, I see these entries:-


755  2F2 2680 g_mkstemp = @ILT+5755(_g_mkstemp)
756  2F3 132A g_mkstemp_full = @ILT+805(_g_mkstemp_full)
757  2F4 1870 g_mkstemp_utf8 = @ILT+2155(_g_mkstemp_utf8)

so all three functions are getting exported - BUT - if I examine the 
corresponding link lib, I can see a reference to g_mkstemp_full(). I can 
also see a reference to g_mkstemp_utf8().  But there's no reference to 
g_mkstemp().  In other words, although that function does get exported 
from the DLL, the accompanying link lib doesn't seem to know about it.  
I've never seen anything like that before but I'm guessing (maybe 
wrongly) it wouldn't have anything to do with Introspection??


I've also discovered that if I revert the changes from commit 
#d1528402,it fixes the problem for g_mkstemp().  So I'm assuming that if 
I reverted Christoph's other changes from that time, it'd fix the other 
problems I'm seeing with g_getenv() etc.


Should I transfer this discussion to bugzilla here:-

https://bugzilla.gnome.org/show_bug.cgi?id=780634

Also - has anyone else managed to build this successfully with MSVC?  
Maybe there's a new #define somewhere that I need to know about?


Thanks, John
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


What does "(skip)" mean ???

2017-04-16 Thread John Emmas via gtk-devel-list
All of a sudden I've hit a problem when building glib with MSVC.  It 
seems to be affecting calls to g_mkstemp() / g_getenv() and various 
others.  Let's take g_mkstemp() as an example.  It gets called in 
glib-genmarshal.c


Prior to commit #d1528402, git master had some lines looking like this 
(in 'gfileutils.h'):-


#ifndef __GTK_DOC_IGNORE__
#ifdef G_OS_WIN32
#define g_file_test   g_file_test_utf8
#define g_file_get_contents g_file_get_contents_utf8
#define g_mkstemp  g_mkstemp_utf8

// and a few others

#endif /* G_OS_WIN32 */
#endif /* __GTK_DOC_IGNORE__ */

so in the past (when building for WIN32) calls to 'g_mkstemp()' got 
converted to use 'g_mkstemp_utf8()' instead.  But now that the above 
lines have been removed, 'g_mkstemp()' is coming up as an unresolved 
symbol when I try to link the glib-genmarshal DLL.  I'm a bit baffled 
about this because it does seem to be getting exported from libglib (so 
I don't understand why it can't be imported).  Maybe there's some 
confused linkage somewhere??


However... in gfileutils.c, I see a comment, looking like this:-

/**
 * g_mkstemp: (skip)
 * @tmpl: (type filename): template filename
 *
 * Opens a temporary file. See the mkstemp() documentation
 *
 *   // some other stuff
 *
 */

So I'm wondering - what's the significance of the word "skip" here??  I 
can't see any obvious reason why this isn't linking but maybe that'll 
give me a clue...


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


Re: GtkGlArea render fps is different than monitor frame rate

2017-02-05 Thread Eric Cashon via gtk-devel-list

 
Hi Ferenc,

You should be able to take care of what you are after with GTK. The 
GdkFrameClock works very well for smooth animation. It will get rid of the 
jitter. Give it a try. You would just need to set up your code a little 
differently.

It you are interested in a simple animation with a frame clock, there is one at

https://github.com/cecashon/OrderedSetVelociRaptor/blob/master/Misc/cairo_drawings/battery2.c

The drawing is with cairo but the idea is the same. You could render your GL 
widget in a similar way and the result will be smooth animation if your drawing 
times are fast.

Eric


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


Re: Use of lrint() in 'gdk-pixbuf/pixops/pixops.c'

2017-02-05 Thread John Emmas via gtk-devel-list

On 05/02/2017 03:59, Yale Zhang wrote:

I suggest adding a lrintf() fallback to fallback-c89.c too.

Currently, there are 2 rounding functions in the fall backs, round()
and rint()



Where does fallback-c89.c come from?  Some auto-generated file maybe?

I can't seem to find it on my system  :-(

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


Re: Use of lrint() in 'gdk-pixbuf/pixops/pixops.c'

2017-02-04 Thread John Emmas via gtk-devel-list
On 4 Feb 2017, at 19:44, Emmanuele Bassi wrote:

> 
> Please, file a bug against gdk-pixbuf:
> 
>  https://bugzilla.gnome.org/enter_bug.cgi?product=gdk-pixbuf
> 
> I'd rather have a check at configure-time that looks if we have
> lrint() available, and if not, provides a fallback. We used this
> approach in GTK+ 3.x, and it makes it easier to remove the code once
> we decide to bump the compiler requirements, like we did in GTK+
> master.
> 

Thanks Emmanuele - just filed bug #778181

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


Re: Use of lrint() in 'gdk-pixbuf/pixops/pixops.c'

2017-02-04 Thread John Emmas via gtk-devel-list

On 04/02/2017 16:07, Martin Guy wrote:

On 04/02/2017, John Emmas via gtk-devel-list <gtk-devel-list@gnome.org> wrote:

I took a quick look through glib, gtk+ (v2) and gdk-pixbuf but I
can't see lrint getting used anywhere else.  Any chance of a fix?

Thanks. The quick fix is to replace them with

   tmp_width = (int) (src_width * prescale_x + 0.5);
   tmp_height = (int) (src_height * prescale_y + 0.5);



Thanks Martin,

Are you able to make those changes upstream?  I can change the lines 
locally but I wouldn't be able to push to git master.  Thanks,


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


Use of lrint() in 'gdk-pixbuf/pixops/pixops.c'

2017-02-04 Thread John Emmas via gtk-devel-list

Is this the right mailing list for gdk-pixbuf issues?

Commit #61e3edeb79 (6th Jan 2017) introduced these 2 calls in 
'gdk-pixbuf/pixops/pixops.c' (at lines 1847 and 1848):-


tmp_width = lrint (src_width * prescale_x);
tmp_height = lrint (src_height * prescale_y);

AFAIK Microsoft's MSVC only introduced lrint() in VS2015 - so for those 
of us building with an earlier version the above code won't link any 
more.  I took a quick look through glib, gtk+ (v2) and gdk-pixbuf but I 
can't see lrint getting used anywhere else.  Any chance of a fix?  Thanks,


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


Re: gtk_text_iter_forward_search() comparison

2017-01-31 Thread Eric Cashon via gtk-devel-list

 
I added the above examples to the search. I can find strasse and field but it 
is not so quick anymore. A good learning experience though. A UTF-8 case 
insensitive search is difficult. I will definitely stick with the GTK default.

https://github.com/cecashon/OrderedSetVelociRaptor/blob/master/Misc/Csamples/search_textbuffer3.c

Thanks again for the ideas and help.

Eric


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


Re: gtk_text_iter_forward_search() comparison

2017-01-30 Thread Eric Cashon via gtk-devel-list

 
Thank you Andrew and Chris. I thought there very well could be a language 
problem with checking characters like that but just didn't know. 

Thanks again,
Eric

 


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


Re: gtk_text_iter_forward_search() comparison

2017-01-29 Thread Eric Cashon via gtk-devel-list

Hi Sebastien,

I assume that you did not even look at the code before commenting. If code is 
more concise and runs faster... there is no interest? It uses UTF-8 functions 
but I don't have experience with other languages outside of English. I don't 
know how to test with other languages. Admittedly, I don't have all things 
figured out. Maybe there is a bug in the code. If there is no interest, that is 
OK with me. Not many people even look at search algorithms. I find it 
interesting.

Eric
 

 

 

-Original Message-
From: Sébastien Wilmet <swil...@gnome.org>
To: cecashon <cecas...@aol.com>
Cc: gtk-devel-list <gtk-devel-list@gnome.org>
Sent: Sun, Jan 29, 2017 1:35 am
Subject: Re: gtk_text_iter_forward_search() comparison

On Sat, Jan 28, 2017 at 07:16:04PM -0500, Eric Cashon via gtk-devel-list wrote:
> I have been working on a little search experimentation. Gave writing a
> case in-sensitive gtk_text_iter_forward_search() a try. The code is
> shorter than what is in gtktextiter.c and it works a little faster. If
> a word is searched that isn't very frequent the time is about the
> same. If you just look for single chars or words that are frequent it
> looks to be quicker.

Is the performance of gtk_text_iter_forward_search() a problem for your
application? Or you just wanted to play a little with the code?

(Side note: GtkSourceView has a higher-level API for the search and
replace, with regex support. If you're working on the search and replace
for an application, this is worth a look.)

> Not sure if this a suitable method though. I know
> little of the textbuffer internals. UTF-8 gives me some trouble also.

This doesn't give us confidence in your code. Bug-free code is more
important than better performance at the cost of UTF-8-related bugs.

--
Sébastien

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


gtk_text_iter_forward_search() comparison

2017-01-28 Thread Eric Cashon via gtk-devel-list

I have been working on a little search experimentation. Gave writing a case 
in-sensitive gtk_text_iter_forward_search() a try. The code is shorter than 
what is in gtktextiter.c and it works a little faster. If a word is searched 
that isn't very frequent the time is about the same. If you just look for 
single chars or words that are frequent it looks to be quicker. Not sure if 
this a suitable method though. I know little of the textbuffer internals. UTF-8 
gives me some trouble also.

There is a test progam at

https://github.com/cecashon/OrderedSetVelociRaptor/blob/master/Misc/Csamples/search_textbuffer2.c

that does a side by side comparison of the two search methods. If there is an 
inherent problem with the test forward search please say so. If not, maybe it 
can be used. I would be glad to work on it a little more if corrections need to 
be made.

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


gdkwin32.h / gdk_win32_drawable_get_handle()

2017-01-22 Thread John Emmas via gtk-devel-list
Is it permissiable to #include  in client code?  
Here's the scenario (I discovered this in gtk-2-24 so apologies if it's 
been fixed in a more recent version...)


'gdk/gdkwin32.h' declares some functions, including 
gdk_win32_drawable_get_handle().  It isn't declared anywhere else AFAICT 
and there's an accompanying macro called GDK_WINDOW_HWND.  A #ifdef test 
(called INSIDE_GDK_WIN32) makes the macro call that function if the 
build is _not_ INSIDE_GDK_WIN32.  So it looks like it's allowable to 
#include  from within client code.


HOWEVER... gdkwin32.h #includes gdk/gdkprivate.h (which I'd guess is NOT 
supposed to get #included in client code).


Just wanted to check if #including a private header is okay in client code.

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


FW: multitouch support for Windows

2016-12-28 Thread Fan, Chun-wei via gtk-devel-list
(Sorry, I forgot to reply to the list)

從 Windows 10 手機傳送

寄件者: fanc...@yahoo.com.tw
傳送時間: 2016年12月29日 13:29
收件者: Yale Zhang
主旨: RE: multitouch support for Windows

Hi Yale,

This sounds quite nice.  Can you go to https://bugzilla.gnome.org and submit a 
bug there, so that someone here can take a look at your patch, so that things 
don’t get lost in the mail list.

With blessings, thank you, and cheers!

從 Windows 10 手機傳送

寄件者: Yale Zhang
傳送時間: 2016年12月29日 11:58
收件者: gtk-devel-list@gnome.org; vincar...@gmail.com
主旨: multitouch support for Windows

Greetings, I have a patch that adds the plumbing for multitouch
support on Windows.

I've tested it on testinput and the gesture demo, and they behave correctly.
I also fixed some problems with pressure pen (Wintab) support. The
tablet devices weren't showing up when calling gdk_seat_get_slaves(),
probably because it associated the wrong devices.

I'm using this for 2 finger gesture recognition in Inkscape for
zooming, scrolling, and rotating the canvas.

https://www.youtube.com/watch?v=k6qfqcroUcw


Vincenzo, you were complaining about this earlier:

https://mail.gnome.org/archives/gtk-app-devel-list/2015-July/msg00030.html

did you want to try my patch? Anyone else who can review and check in
my changes?

-Yale


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


Re: Gtk+4.x and broadway ( and other remote options )

2016-12-07 Thread Andrea Zagli via gtk-devel-list

Il giorno mer 07 dic 2016 04:18:24 CET, Daniel Kasak ha scritto:


Hi all.

I posting here in response to comments on bug:
https://bugzilla.gnome.org/show_bug.cgi?id=775680 ( summary: broadway
support likely to be removed from Gtk+4.0 ).
[...]



it would be great if I could use my gtk apps in browser as i do with  
html/css/js/etc apps (for example: responsive windows, access to  
client resources as files and printers, etc.)


yes, i'm a fan of broadway backend; i hate programming "traditional" web apps


if i can help in any way... i'm here!!!
_______
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


RE: Gtk+4.x and broadway ( and other remote options )

2016-12-06 Thread Fan, Chun-wei via gtk-devel-list
Hi Daniel,

The main issue with Broadway is that:

It is considered an experimental GDK backend, and it is not really kept up to 
date with the developments in GTK-3.x

Specifically what this means is that there isn’t OpenGL support in it (we need 
OS/platform-level support for OpenGL for creating and switching (making 
current) OpenGL contexts), which likely needs to be done with WebGL, which most 
probably needs to be done in the .js file in the broadway subdir in gdk/.  
GTK+-4.x is going to switch to GL drawing, at least for the majority of the 
various components, which makes OpenGL support a requirement.

AFAIK, the backends that have the needed support are x11, Wayland, mir and 
Windows.

If you know how to do initialize OpenGL in WebGL (ie Javascript), please let 
the people know here, as this is what I think is mainly what needed for 
Broadway to stay.

With blessings, and cheers!

從 Windows 10 手機傳送

寄件者: Daniel Kasak
傳送時間: 2016年12月7日 11:18
收件者: GTK Devel List
主旨: Gtk+4.x and broadway ( and other remote options )

Hi all.

I posting here in response to comments on bug:
https://bugzilla.gnome.org/show_bug.cgi?id=775680 ( summary: broadway
support likely to be removed from Gtk+4.0 ).

I think it would be a massive pity to drop broadway support from gtk.
It's been a god-send for me and those I work with - it provides the
best remote access to gtk apps and performs way better than vnc. I've
actually been working on an authentication + transparent proxy for
broadway, so multiple users can access multiple apps all via https on
port 443: 
https://tesla.duckdns.org/transparent-proxy-for-broadway-gtk3-html5-backend/

I've dabbled in C here and there ( mainly patching minor bugs ). It's
been quite a long time since I used it at all. However I'm interested
in attempting to keep broadway support alive. I currently develop gtk
apps ( every day ) using the Perl bindings. So I'm familiar with it
from an application-developer perspective.

I have no idea how big/complex a task it is I'm talking about. Could
someone please comment on the difficulty of keeping broadway support
working, given the planned gtk+4.x changes. I guess this would be
easier if someone offers to mentor me ( please ) - though I realise we
all have busy lives.

Another option, if the task is too large or difficult for me, is to
either offer a bounty here, or to post a project on something like
freelancer. I also realise that work done via freelancer would
possibly be of questionable quality, and would quite possibly break
with later gtk+ versions again. Any comments on this option?

Another option would be another remote-desktop / remote-app
capability. I've read a little on wayland / weston and RDP. I think
RDP would be a reasonable option, though haven't managed to get it
working yet.

What does everyone think my best options are, and why?

Dan
___
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