From: Daniel R. <dra...@gm...> - 2015-04-28 18:12:57
|
I started using notion again (awesomewm is awesome, but not awesome enough), and became interested again in impementing a feature I've wanted in notion and other incremental searches for a long time, which I call "rebasing queries." An incremental search query is "rebased" when the input is cleared, but the set of incremental results is retained. The user may now input more chars, searching among remaining results. Ideally would work something like this: I have shit tons of windows open, I want to attach a the chrome window with gmail. I enter `M-a chro` and completion window shows only browser windows. I now enter `M-a` again, which rebases the attach-query (since one is in progress), and then `gmai` and now only the gmail window is selected. I'd implement it myself, but I don't know the notion codebase or lua very well. I might be able to manage it if a more experienced notion developer could give me some pointers. For example, I don't understand how the query set is populated and modified in the first place (I think it's done in the C code, but not even sure about that). Peace Homies, --Daniel |
From: Arnout E. <no...@bz...> - 2015-04-29 21:44:39
|
Hello Daniel, Thanks for your interest! As for navigating the notion codebase, "grep -r "META..\"A" ." would show you that this key is generally bound to "mod_query.query_attachclient". "grep -r query_attachclient ." would reveal this is implemented in mod_query/mod_query.lua. Diving in there, you'll see the completor is created based on mod_query.complete_clientwin, which looks at the names of the elements in the collection of client windows (as iterated through by ioncore.clientwin_i) You could look into implementing support for 'rebased queries' there. An alternative approach might be to add support for _NET_MOVERESIZE_WINDOW and write a separate (not necessarily notion-specific) utility to query for a window and request it to be moved to the current frame. Kind regards, Arnout On Tue, Apr 28, 2015 at 8:12 PM, Daniel Radetsky <dra...@gm...> wrote: > I started using notion again (awesomewm is awesome, but not awesome > enough), and became interested again in impementing a feature I've wanted > in notion and other incremental searches for a long time, which I call > "rebasing queries." An incremental search query is "rebased" when the input > is cleared, but the set of incremental results is retained. The user may > now input more chars, searching among remaining results. > > Ideally would work something like this: I have shit tons of windows open, > I want to attach a the chrome window with gmail. I enter `M-a chro` and > completion window shows only browser windows. I now enter `M-a` again, > which rebases the attach-query (since one is in progress), and then `gmai` > and now only the gmail window is selected. > > I'd implement it myself, but I don't know the notion codebase or lua very > well. I might be able to manage it if a more experienced notion developer > could give me some pointers. For example, I don't understand how the query > set is populated and modified in the first place (I think it's done in the > C code, but not even sure about that). > > Peace Homies, > --Daniel > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > Notion-devel mailing list > Not...@li... > https://lists.sourceforge.net/lists/listinfo/notion-devel > > |
From: Daniel R. <dra...@gm...> - 2015-04-29 22:32:00
|
Arnout: Thanks. I knew some of that stuff, but was definitely mystified by ioncore.clientwin_i, so this is definitely useful. Since you've foolishly offered to help me, I'll teach you a lesson by continuing to pester you for more information: I also need to know about how/where the completion window (WEdln?) does "if the user enters a key in set S, do something special (e.g. readline stuff), otherwise add it to the string." I'm guessing the words "bindmap" and "mod_query_wedln_bindmap" are relevant, but having some trouble finding relevant code sections. Any pointers you can give me would be greatly appreciated. Alt approach is interesting, but I basically don't know X programming at all. I'm not sure if this is a problem. I looked at: http://standards.freedesktop.org/wm-spec/1.3/ar01s04.html and it looks like it might be easy enough (just need to figure out how to send that message; hopefully multiple screen/workspace issues don't complicate it). Even so, it'd be nice to be able to use the alt program via the same notion query interface a la ion-completefile*, so the other question still comes up. Otherwise I end up messing around with gtk libraries, fielding "Why doesn't notion handle the rebasing-completion window properly on my machine?" questions, etc. I'm spending too much of my workday writing you this email as it is. *Is that accurate given what query_exec does? I don't entirely understand that either? Thanks, Daniel PS: I started using the wm back in ion3, and I remember the drama. I notice that "ion" is still all over the codebase. Are you not worried that Tuomo will find out where you live? I respect him a lot, but he seems temperamental. On Wed, Apr 29, 2015 at 2:14 PM, Arnout Engelen <no...@bz...> wrote: > Hello Daniel, > > Thanks for your interest! > > As for navigating the notion codebase, "grep -r "META..\"A" ." would show > you that this key is generally bound to "mod_query.query_attachclient". > "grep -r query_attachclient ." would reveal this is implemented in > mod_query/mod_query.lua. > > Diving in there, you'll see the completor is created based on > mod_query.complete_clientwin, which looks at the names of the elements in > the collection of client windows (as iterated through by > ioncore.clientwin_i) > > You could look into implementing support for 'rebased queries' there. > > An alternative approach might be to add support for _NET_MOVERESIZE_WINDOW > and write a separate (not necessarily notion-specific) utility to query for > a window and request it to be moved to the current frame. > > Kind regards, > > Arnout > > On Tue, Apr 28, 2015 at 8:12 PM, Daniel Radetsky <dra...@gm...> > wrote: > >> I started using notion again (awesomewm is awesome, but not awesome >> enough), and became interested again in impementing a feature I've wanted >> in notion and other incremental searches for a long time, which I call >> "rebasing queries." An incremental search query is "rebased" when the input >> is cleared, but the set of incremental results is retained. The user may >> now input more chars, searching among remaining results. >> >> Ideally would work something like this: I have shit tons of windows open, >> I want to attach a the chrome window with gmail. I enter `M-a chro` and >> completion window shows only browser windows. I now enter `M-a` again, >> which rebases the attach-query (since one is in progress), and then `gmai` >> and now only the gmail window is selected. >> >> I'd implement it myself, but I don't know the notion codebase or lua very >> well. I might be able to manage it if a more experienced notion developer >> could give me some pointers. For example, I don't understand how the query >> set is populated and modified in the first place (I think it's done in the >> C code, but not even sure about that). >> >> Peace Homies, >> --Daniel >> >> >> ------------------------------------------------------------------------------ >> One dashboard for servers and applications across Physical-Virtual-Cloud >> Widest out-of-the-box monitoring support with 50+ applications >> Performance metrics, stats and reports that give you Actionable Insights >> Deep dive visibility with transaction tracing using APM Insight. >> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y >> _______________________________________________ >> Notion-devel mailing list >> Not...@li... >> https://lists.sourceforge.net/lists/listinfo/notion-devel >> >> > |