From: Stephan S. <gma...@sp...> - 2012-01-29 15:44:19
|
On my LXDE desktop, I use gmrun because I want command history and autocompletion. However, it has several major flaws (including not processing ~ shorthand and lacking xdg-open integration) As a result, back at the end of December, I started working on modernized, GTK+ 3.x rewrite as a way to familiarize myself with Vala. The config is still hard-coded (I'll be using gtk.KeyFile for it) and I still need to implement history and auto-complete, but the code is clean and the features gmrun lacks are done. I was hoping to wait until it was more complete before making you guys aware of it, but since I have courses starting in a couple of days and I'm not sure what that'll do to my time, here's the link now in case anyone is curious. https://github.com/ssokolow/gvrun |
From: Stephan S. <gma...@sp...> - 2012-01-29 15:51:58
|
Ugh. Serves me right for sending a message shortly after not sleeping well. That's GLib.KeyFile I'm intending to use for the config file. This thing: http://www.valadoc.org/glib-2.0/GLib.KeyFile.html On 12-01-29 10:43 AM, Stephan Sokolow wrote: > On my LXDE desktop, I use gmrun because I want command history and > autocompletion. However, it has several major flaws (including not > processing ~ shorthand and lacking xdg-open integration) > > As a result, back at the end of December, I started working on > modernized, GTK+ 3.x rewrite as a way to familiarize myself with Vala. > > The config is still hard-coded (I'll be using gtk.KeyFile for it) and I > still need to implement history and auto-complete, but the code is clean > and the features gmrun lacks are done. > > I was hoping to wait until it was more complete before making you guys > aware of it, but since I have courses starting in a couple of days and > I'm not sure what that'll do to my time, here's the link now in case > anyone is curious. > > https://github.com/ssokolow/gvrun > > > ------------------------------------------------------------------------------ > Try before you buy = See our experts in action! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-dev2 |
From: Axel F. <axe...@gm...> - 2012-01-29 16:19:57
|
On 29/01/2012 16:51, Stephan Sokolow wrote: > Ugh. Serves me right for sending a message shortly after not sleeping well. > > That's GLib.KeyFile I'm intending to use for the config file. > > This thing: > http://www.valadoc.org/glib-2.0/GLib.KeyFile.html Something like this reads a few keys from a Desktop file : KeyFile kf = new KeyFile (); kf.load_from_file (config_file, KeyFileFlags.NONE); string group = "Desktop Entry"; if (kf.has_group (group) == false) return false; string key; string type = ""; key = "Type"; if (kf.has_key (group, key) == true) { type = kf.get_value (group, key); //stdout.printf ("Type: %s\n", type); } string name = ""; key = "Name"; if (kf.has_key (group, key) == true) { name = kf.get_value (group, key); //stdout.printf ("Name: %s\n", name); } Very handy and something like this to save to a file : File file = File.new_for_path (config_file); // delete if file already exists if (file.query_exists ()) { file.delete (); } string config = ""; DataOutputStream dos = new DataOutputStream (file.create (FileCreateFlags.REPLACE_DESTINATION)); config += "key01=value1\n"; config += "key02=value2\n"; dos.put_string (config); It's possible to use a fixed size buffer instead of DataOutputStream I think... Anyway, it's great to write some programs in Vala, congratulations. :) -- Axel FILMORE |
From: Stephan S. <gma...@sp...> - 2012-01-29 16:34:08
|
*nod* I have run across KeyFile demo code but thanks. The main thing holding me back is deciding on the cleanest, most declarative way to implement default values. One of my main goals with gvrun has been to keep the source as clean, concise, and reusably modular as possible. On 12-01-29 11:19 AM, Axel FILMORE wrote: > On 29/01/2012 16:51, Stephan Sokolow wrote: >> Ugh. Serves me right for sending a message shortly after not sleeping well. >> >> That's GLib.KeyFile I'm intending to use for the config file. >> >> This thing: >> http://www.valadoc.org/glib-2.0/GLib.KeyFile.html > > Something like this reads a few keys from a Desktop file : > > KeyFile kf = new KeyFile (); > kf.load_from_file (config_file, KeyFileFlags.NONE); > string group = "Desktop Entry"; > if (kf.has_group (group) == false) > return false; > > string key; > > string type = ""; > key = "Type"; > if (kf.has_key (group, key) == true) { > type = kf.get_value (group, key); > //stdout.printf ("Type: %s\n", type); > } > > string name = ""; > key = "Name"; > if (kf.has_key (group, key) == true) { > name = kf.get_value (group, key); > //stdout.printf ("Name: %s\n", name); > } > > Very handy and something like this to save to a file : > > File file = File.new_for_path (config_file); > > // delete if file already exists > if (file.query_exists ()) { > file.delete (); > } > > string config = ""; > DataOutputStream dos = new DataOutputStream (file.create > (FileCreateFlags.REPLACE_DESTINATION)); > config += "key01=value1\n"; > config += "key02=value2\n"; > dos.put_string (config); > > It's possible to use a fixed size buffer instead of DataOutputStream I > think... > > Anyway, it's great to write some programs in Vala, congratulations. > > :) > > > > |
From: PCMan <pcm...@gm...> - 2012-01-30 06:24:46
|
Source code of libfm can be reused for this purpose. See this: http://pcmanfm.git.sourceforge.net/git/gitweb.cgi?p=pcmanfm/libfm;a=blob;f=src/actions/utils.vala;h=2e29ae21d37153fff2e48d1879368d5063d2129a;hb=refs/heads/master This is what I used in libfm. On Mon, Jan 30, 2012 at 12:33 AM, Stephan Sokolow < gma...@sp...> wrote: > *nod* I have run across KeyFile demo code but thanks. > > The main thing holding me back is deciding on the cleanest, most > declarative way to implement default values. > > One of my main goals with gvrun has been to keep the source as clean, > concise, and reusably modular as possible. > > On 12-01-29 11:19 AM, Axel FILMORE wrote: > > On 29/01/2012 16:51, Stephan Sokolow wrote: > >> Ugh. Serves me right for sending a message shortly after not sleeping > well. > >> > >> That's GLib.KeyFile I'm intending to use for the config file. > >> > >> This thing: > >> http://www.valadoc.org/glib-2.0/GLib.KeyFile.html > > > > Something like this reads a few keys from a Desktop file : > > > > KeyFile kf = new KeyFile (); > > kf.load_from_file (config_file, KeyFileFlags.NONE); > > string group = "Desktop Entry"; > > if (kf.has_group (group) == false) > > return false; > > > > string key; > > > > string type = ""; > > key = "Type"; > > if (kf.has_key (group, key) == true) { > > type = kf.get_value (group, key); > > //stdout.printf ("Type: %s\n", type); > > } > > > > string name = ""; > > key = "Name"; > > if (kf.has_key (group, key) == true) { > > name = kf.get_value (group, key); > > //stdout.printf ("Name: %s\n", name); > > } > > > > Very handy and something like this to save to a file : > > > > File file = File.new_for_path (config_file); > > > > // delete if file already exists > > if (file.query_exists ()) { > > file.delete (); > > } > > > > string config = ""; > > DataOutputStream dos = new DataOutputStream (file.create > > (FileCreateFlags.REPLACE_DESTINATION)); > > config += "key01=value1\n"; > > config += "key02=value2\n"; > > dos.put_string (config); > > > > It's possible to use a fixed size buffer instead of DataOutputStream I > > think... > > > > Anyway, it's great to write some programs in Vala, congratulations. > > > > :) > > > > > > > > > > > > ------------------------------------------------------------------------------ > Try before you buy = See our experts in action! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-dev2 > _______________________________________________ > Lxde-list mailing list > Lxd...@li... > https://lists.sourceforge.net/lists/listinfo/lxde-list > |
From: Stephan S. <gma...@sp...> - 2012-01-30 06:49:20
|
That's clean and a fairly obvious solution, but it's not really declarative and, in retrospect, I should have made it clear that my intent was to make it possible for the config system to write out a default config file for the user to examine. That means that I need some mechanism which can gather all of the default key-value pairs without needing to either execute every code path first or pre-process the source the way gettext would. I'll probably take some inspiration from the Python optparse and argparse modules since they do roughly what I want but for argv instead. Thanks for taking the time to send me that link though. On 12-01-30 01:24 AM, PCMan wrote: > Source code of libfm can be reused for this purpose. > See this: > http://pcmanfm.git.sourceforge.net/git/gitweb.cgi?p=pcmanfm/libfm;a=blob;f=src/actions/utils.vala;h=2e29ae21d37153fff2e48d1879368d5063d2129a;hb=refs/heads/master > > This is what I used in libfm. > > On Mon, Jan 30, 2012 at 12:33 AM, Stephan Sokolow > <gma...@sp... <mailto:gma...@sp...>> > wrote: > > *nod* I have run across KeyFile demo code but thanks. > > The main thing holding me back is deciding on the cleanest, most > declarative way to implement default values. > > One of my main goals with gvrun has been to keep the source as clean, > concise, and reusably modular as possible. > > On 12-01-29 11:19 AM, Axel FILMORE wrote: > > On 29/01/2012 16:51, Stephan Sokolow wrote: > >> Ugh. Serves me right for sending a message shortly after not > sleeping well. > >> > >> That's GLib.KeyFile I'm intending to use for the config file. > >> > >> This thing: > >> http://www.valadoc.org/glib-2.0/GLib.KeyFile.html > > > > Something like this reads a few keys from a Desktop file : > > > > KeyFile kf = new KeyFile (); > > kf.load_from_file (config_file, KeyFileFlags.NONE); > > string group = "Desktop Entry"; > > if (kf.has_group (group) == false) > > return false; > > > > string key; > > > > string type = ""; > > key = "Type"; > > if (kf.has_key (group, key) == true) { > > type = kf.get_value (group, key); > > //stdout.printf ("Type: %s\n", type); > > } > > > > string name = ""; > > key = "Name"; > > if (kf.has_key (group, key) == true) { > > name = kf.get_value (group, key); > > //stdout.printf ("Name: %s\n", name); > > } > > > > Very handy and something like this to save to a file : > > > > File file = File.new_for_path (config_file); > > > > // delete if file already exists > > if (file.query_exists ()) { > > file.delete (); > > } > > > > string config = ""; > > DataOutputStream dos = new DataOutputStream (file.create > > (FileCreateFlags.REPLACE_DESTINATION)); > > config += "key01=value1\n"; > > config += "key02=value2\n"; > > dos.put_string (config); > > > > It's possible to use a fixed size buffer instead of > DataOutputStream I > > think... > > > > Anyway, it's great to write some programs in Vala, congratulations. > > > > :) > > > > > > > > > > > ------------------------------------------------------------------------------ > Try before you buy = See our experts in action! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-dev2 > _______________________________________________ > Lxde-list mailing list > Lxd...@li... <mailto:Lxd...@li...> > https://lists.sourceforge.net/lists/listinfo/lxde-list > > > > > ------------------------------------------------------------------------------ > Try before you buy = See our experts in action! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-dev2 > > > |
From: Julien L. <gi...@ub...> - 2012-01-31 22:02:32
|
Le 01/29/2012 04:43 PM, Stephan Sokolow a écrit : > On my LXDE desktop, I use gmrun because I want command history and > autocompletion. However, it has several major flaws (including not > processing ~ shorthand and lacking xdg-open integration) > > As a result, back at the end of December, I started working on > modernized, GTK+ 3.x rewrite as a way to familiarize myself with Vala. > > The config is still hard-coded (I'll be using gtk.KeyFile for it) and I > still need to implement history and auto-complete, but the code is clean > and the features gmrun lacks are done. > > I was hoping to wait until it was more complete before making you guys > aware of it, but since I have courses starting in a couple of days and > I'm not sure what that'll do to my time, here's the link now in case > anyone is curious. > > https://github.com/ssokolow/gvrun Do you look at synapse : https://launchpad.net/synapse-project ? It's also a launcher written in Vala, with the possibility (but not the need) to use zeitgeist. Regards, Julien Lavergne |
From: Stephan S. <gma...@sp...> - 2012-01-31 22:32:34
|
The name sounds familiar, so I'm pretty sure that one of the following two cases occurred: 1. I might have missed the tiny little "Wiki" link on the Launchpad page (it amazes me that something roughly a decade younger than SourceForge can have such an infinitely worse UI) and concluded it was too heavy simply based on it being a semantic launcher. 2. If I did find the Wiki link, I would have concluded that, even if it does offer a theme which looks decent without compositing (something I'm only guessing must exist), it's still heavier than I intended... especially given that I don't WANT a semantic launcher. I want a Run dialog with history, autocomplete, mimetype association handling, resolution of ~, and support for feeding script snippets to bash. Anything heavier would just be more trouble for me while I work to preserve my desktop's ability to comfortably run on my backup PC (a 2GHz Celeron with 1GiB of RAM and a GeForce FX5200). (I already had to make exceptions for Firefox and Thunderbird while I search for ways to slim down my Firefox extension load-out and comfortably replace Thunderbird) On 12-01-31 05:02 PM, Julien Lavergne wrote: > Le 01/29/2012 04:43 PM, Stephan Sokolow a écrit : >> On my LXDE desktop, I use gmrun because I want command history and >> autocompletion. However, it has several major flaws (including not >> processing ~ shorthand and lacking xdg-open integration) >> >> As a result, back at the end of December, I started working on >> modernized, GTK+ 3.x rewrite as a way to familiarize myself with Vala. >> >> The config is still hard-coded (I'll be using gtk.KeyFile for it) and I >> still need to implement history and auto-complete, but the code is clean >> and the features gmrun lacks are done. >> >> I was hoping to wait until it was more complete before making you guys >> aware of it, but since I have courses starting in a couple of days and >> I'm not sure what that'll do to my time, here's the link now in case >> anyone is curious. >> >> https://github.com/ssokolow/gvrun > Do you look at synapse : https://launchpad.net/synapse-project ? > It's also a launcher written in Vala, with the possibility (but not the > need) to use zeitgeist. > > Regards, > Julien Lavergne > > > > ------------------------------------------------------------------------------ > Keep Your Developer Skills Current with LearnDevNow! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-d2d > > > |