On 17.02.2012 22:55, Alexander Yakushev wrote:
> Thanks for the detailed review, Uli!
> 
> I completely agree with nearly everything you noted. There are but a few 
> things that I don't quite understand.
>> +-- Generate a pattern matching expression that ignores case.
>> +-- @param s Original pattern matching expresion.
>> +local function nocase (s)
>> +    s = string.gsub(s, "%a",
>> +                    function (c)
>> +                        return string.format("[%s%s]", string.lower(c),
>> +                                             string.upper(c))
>> +                    end)
>> +    return s
>> +end
>> I can stand colortext(), but this really does not belong into this module. 
>> Also,
>> I'm worried about the amount of dark magic in this function.
>> And since nocase() is only used on a user-specified pattern, I think this 
>> can be
>> removed completely.
> This function generates a regular expression for a string that ignores 
> character case. So for the input "offi" it returns "[oO][fF][fF][iI]". 
> This function is necessary to let the user not care about the character 
> case when entering the application name.
> I see the point that it should be located elsewhere. What is the 
> idiomatic place for the helper functions like this one then? Maybe 
> "gears" module? Or is there a different solution for this task?

How about doing stuff the other way around: Instead of making a magic-pattern,
you could run the client's name through string.lower().

But still, I don't really see why people can't be bothered to spell stuff 
correctly.

>> At first I wanted to complain about the non-standard header. Then I checked 
>> the
>> URL. No way. The code there doesn't have any copyright headers, there are no
>> licenses attached. You are submitting someone else's code and modify the 
>> license
>> in the process (all of awesome is GPLv2). This is a copyright violation.
>>
>> ...
>>
>> Not your name either, so same problem. This time it doesn't even say were 
>> this
>> file is from.
>>
>> ...
>>
>> So could someone make Antonio add proper license information to his stuff? If
>> you really want to make me really happy, make him submit his own code 
>> himself.
>> That way git will track him as the author, too.
> Well, I can contact Antonio, but what exactly should I ask him to do? 
> Suppose if he doesn't want to license his work under GPL, does it mean 
> that I can't reuse his code? 

Correct.

> What if he licenses it under BSD, for instance?

Hm, good question. I'd ask jd on his opinion, but it would certainly complicate
things.

> I can ask him to commit his code to Awesome himself, but the code 
> Menubar uses is not exactly his original code (I modified it here and 
> there). Should he then commit first so I can provide a patch to his code 
> after? Would it be OK if he committed files  unrelevant when being 
> alone, and then I commit a patch that finally forms a sort of end-user 
> widget?
> I am pretty sure that Antonio will be willing to cooperate (if I manage 
> to get in touch with him), so what will be the easiest way for us both 
> to do everything properly? I am not quite good at these license mechanics:).

Yet another good question. I guess I'd be ok with a mail from him to this
mailing list which just says that he doesn't mind.

But I think it would be best if there aren't two different copies of this code,
but just a single version which everyone can use.

> Here's a brief description about all this: 
> http://awesome.naquadah.org/wiki/Menubar . I can certainly provide a 
> short clarification in the module documentation. Will it be acceptable 
> to give a link to the wiki in the documentation in order to save some space?

Just the first sentence would be fine with me for documenting the module() call:

  Menubar is a dmenu-like applications menu extension for Awesome.

> Thank you again, I appreciate the time you've spent.

Sorry that it took me so long to take a look. :-)

Uli

-- 
Q: Because it reverses the logical flow of conversation.
A: Why is putting a reply at the top of the message frowned upon?

-- 
To unsubscribe, send mail to [email protected].

Reply via email to