[Thunar-dev] Thunar Architecture (relations)

Benedikt Meurer benedikt.meurer at unix-ag.uni-siegen.de
Mon Mar 28 09:37:25 CEST 2005


Erik Harrison wrote:
>>So, this evening, I tried to summarize the basic relations in Thunar's
>>architecture, with a focus on the backend classes, esp. the
>>ThunarFileInfo and ThunarMimeInfo classes.
>>
>>http://www.xfce.org/~benny/tmp/thunar-relations-20050325.png
>>
>>I'm not yet sure about the MIME application handling, as there was some
>>movement with MIME actions recently and I haven't had time to see to the
>>details.
>>
>>But for the other backend stuff, this is the rough direction. It'd be
>>nice if others could comment on this and maybe point out relations I've
>>missed.
> 
> Is this UML? I'm not real familiar with the format . . .

Nope, it's an entity relationship diagram.

> All in all, I think it looks good, as best as I can read it. The only
> detail I'd add would be increading the amount of info available via
> ThunarFileInfo. I'd like to see support for extended attributes in,
> say, an additional tab in the interface. You could consider splitting
> up file info into that specifed by the user (permissions, extended
> attributes), and those inherent to the object (like atime, mime type,
> size).

Hm, personally I agree with botsie's earlier posts, that we should not 
put special flags (like sticky, suid, sgid, xattrs, ...) into the UI, as 
99.99% of all users will never want to touch it, and in case you really 
need to change such a bit, these users will know how to do it from the 
terminal.

Anyways, the diagram was missing the file mode (permissions and type), 
here's a fixed one:

http://www.xfce.org/~benny/tmp/thunar-relations-20050328.png

> For those of us playing at home, could you maybe clarify the diagram a bit?

The ER diagram type is pretty simple: The boxes represent entities in 
the program (class instances in this case), the bubbles are attributes 
of these entities (or instance variables) and the diamonds are relations 
between the entities. Attributes with underlined text are key 
attributes, attributes with double border are multivalues. Grey 
background means, that I'm not sure how to go about these, blue 
background identifies an external entitiy.

greets,
Benedikt



More information about the Thunar-dev mailing list