-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
(CC'ing awesome-devel again)
Am 01.05.2010 09:14, Perry Hargrave wrote:
> On Sat, May 01, 2010 at 08:41:20AM +0200, Uli Schlachter wrote:
>> > -----BEGIN PGP SIGNED MESSAGE-----
>> > Hash: SHA256
>> >
>> > Am 01.05.2010 01:04, perry wrote:
>>> > > list_update()
>>> > > if updating for a tag object then set the tag's "textbox" property.
>>> > > this way there is a robust way to find the tag's widget later.
>> >
>> > What if I use multiple taglists? With some "good" timing, you might
>> > randomly get
>> > one or another textbox for the tag.
> 1. multiple taglists are cheesy.. :P
>
> 2. their will be only a single ref from tag->textbox. so i think
> whichever is last through widget.common.list_update should be whats
> used...
>
>> >
>> > I'd rather propose to add some kind of callback system awful.prompt for
>> > setting
>> > the text. That would IMO be more generic. In this case one would then
>> > "type into
>> > all taglists at the same time".
>> >
> The tag.textbox hack is to circumvent the indexing taglist problem. I
> don't see how a callback addresses this.
>
> Do you mean a new awful.prompt modifying tag.name (or any other string buffer)
> and all the widgets being updated from that?
>
> I guess a tag could have references to all its taglist widgets. Then a
> custom prompt could operate on the text in all of those..
>
>> > For backwards compatibility we could use sth like this:
>> >
>> > if type(textbox) ~= "function" then
>> > textbox = function(text) textbox.text = text end
>> > end
>> >
>> > What do you think?
> .. i don't get your prompt idea. but you certainly know awesome/awful source
> better than I do.
>
> I happily would hack away at this prompt idea too, but I don't really get
> where
> you're going with it.
Let me try to explain with an example:
function callback(text)
if text ~= nil then
tag.name = text
end
return tag.name
end
function rename(tag, callback)
keygrabber.run(function (mod, key, event)
local old = callback()
local name = old
if event ~= "press" then
return true
end
if key:len() == 1 then
name = old:sub(1, old:len() - 1) .. key .. "_"
elseif
-- Other stuff...
end
callback(name)
return true
end)
end
(This is not how I'd implement it, just an example on what I have in mind)
rename() doesn't know anything about a tag object, it just knows that when it
calls callback(text), that text will be displayed somewhere. Might just be a
textbox whose "text" property is set, could be a tag whose name is directly
modified or just anything.
When the tag's name is modified, the taglist gets a signal and updates itself,
that way you indirectly modify the textbox without knowing exactly where it is
"hiding".
One issue I noticed while writing this mail:
Pango markup most likely wouldn't work. Does the prompt need pango markup? (It
"just" adds a "_" to the end of the text, no?)
Uli
P.S.: No idea why/how thunderbird screwed up the quoting. :(
- --
- - Buck, when, exactly, did you lose your mind?
- - Three months ago. I woke up one morning married to a pineapple.
An ugly pineapple... But I loved her!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iQEcBAEBCAAGBQJL29rIAAoJECLkKOvLj8sGmnoH/RjyAl72qeCtzr8kevx8cdM2
J4e2bJN21WO113BmgnMSVg2PiTb0+t4jb6cZMMGcZxk2IJ39BLQh9fQ5xDPJS8ev
U8dqAKB4xULn0cHYg8orSozS47Rjd8TNiZm9ghbquhP+OPfxZCdXupj7WWSsXPRq
wT+SjyAVw4vd0GLvXDTEL/c9pmpK5j555YIjjr/8O58DBUTWGED+olrHHIVNjyX3
yORY/1aKf5TX4KNq3vz5lEmQnAeryHnkXYt+vSnPGxKrkujlxE7f9IyHBHJiV8WC
r7pm9nhMULhc2aNcYb1vPQDCV7oyz2pHktMsWfOJq+xeCSkkSdM8ZCa/RUYmDPk=
=MX6o
-----END PGP SIGNATURE-----
--
To unsubscribe, send mail to [email protected].