You are not logged in.
Hey everyone,
Not sure if anybody would be interested in this, but I've been working on a text editor in Python according to ideals I've described previously -- as easy to extend as possible by creating plugins, written and configured in Python, a very smal core, with most activities taking place in plugins, etc. I've been working on it for a few months, but not as much as I would like to. Its at a stage at which I am personally willing to use it as an every-day editor, but this isn't so much because it does everything I want as because I'm willing to add things as they become necessary. :-)
Since sourceforge supports subversion now, I've put it up there:
http://pallavi.sourceforge.net/
No official release yet, I'm thinking about the file structure (for a home directory and such). Right now it basically only runs out of the svn checkout directory. It has most of the standard "notepad with a little extra" features, including the ability to open multiple buffers, ability to split the view, syntax highlighting, and programmable macro support. The message passing/event framework is in place, its simple but elegant, as is the plugin architecture.
I wouldn't recommend it to anybody looking for a serious text editor, but if there's someone out there looking to code some python or examine some well-written python code, here's your chance. I'll gladly accept patches, though knowing me I will pick em over and rewrite them to make sure I know how to use all the python constructs you choose (I still get confused about when lambda is and is not workable. 8-)). If anyone wants to become an active developer (I know some people were interested the few times I've mentioned plans for this project), give me a shout and some code and we'll work from there, I'd love to have some people excited about this project. ;-)
Its released under an MIT style license, mostly cause its short and Xentac can apparently quote it from memory.
Currently there is one major design flaw, which is that the entire system is tied to the gtk toolkit and gtksourceview editing component. Since everything else is a plugin (including I/O!), I'm thinking it would be nice to use multiple toolkits. Most especially to satisfy the console lovers out there, but also to make it possible to use the same sexy editor (I mean, once it actually IS a sexy editor) to satisfy QT, GTK, GNOME, KDE, MOTIF, TK, Cocoa, Windows Toolkit (whatever that thing is called now), AND console lovers. I'm intending to exam this at some point in the future, not least because I'm not sure I like how gtksourceview is semi-tied to the gnome project. But I'll have some sort of release out before that happens. What should I version it? 0.1, 0.01... Hmm, maybe I will call it Homer. ;-)
Dusty
PS: For those that remember, yes I was involved in the Magnum project with Xerxes2. I left the project with no hard feelings, out of respect for Xerxes2's code than anything. I discovered that I wanted to rewrite everything from scratch, and didn't see any reason to force that on him. Further, I chose to work on this text editor as part of a software reengineering project, and needed to start from scratch on that code anyway. For the moment, I'd recommend Magnum over Pallavi, if anyone just wants a text editor, but it won't be so long in the future before you can extend my code to be anything that you want to be (kitchen-sink plugin currently in progress, with integrated custard-pie-to-face over IP), at which point I wouldn't recommend it anyway cause that would sound kind of vain!
Offline
Hi, i need yet another lisp ide
I removed my sig, cause i select the flag, the flag often the target of enemy.
SAR brain-tumor
[img]http://img91.imageshack.us/img91/460/cellphonethumb0ff.jpg[/img]
Offline
Sounds great, Dusty! I'm excited!
Offline
Looks great man, I like the gui simplicity.
Offline
So it has "MS" type key bindings? Rather than, I dunno, vim like?
I'm having problems, it doesn't seem to detect gtksourceview properly, any one else having that problem under Arch?
Offline
Looks great man, I like the gui simplicity.
That's actually a bit of a misrepresentation in the screenshot. There's actually a mechanism to allow docking windows around the central view, but I haven't yet written any plugins that take advantage of it. Of course, it wouldn't be necessary to enable such plugins if you like the simpler version. :-)
Offline
So it has "MS" type key bindings? Rather than, I dunno, vim like?
I intentionally wrote it so the keybinding plugin could be rewritten (by myself or a third party -- you?). The current keybindings are compiled into the plugin, but can be edited fairly easily. I intend to make a generic keybinding plugin that takes keybindings from a configuration file, but haven't fully rounded out the configuration sharing mechanism yet. In the meantime, since I don't really like the default keybindings, I can actually load an entirely different plugin that uses my preferred keybindings.
I'm having problems, it doesn't seem to detect gtksourceview properly, any one else having that problem under Arch?
Its in gnome-python-desktop. A bit of a pain in the ass, the politics around gtksourceview. It appears to be independent of Gnome, but the python bindings are apparently included only in the Gnome package. This is why I'm considering the multi-toolkit concept, I hate having Gnome installed; I don't use it, but I do have to have it installed for some other crap I'm doing for my research, so its not a big problem right now. Possibly somebody would feel like extracting the python bindings for pygtksourceview into its own package though...
Dusty
Offline
dtw wrote:So it has "MS" type key bindings? Rather than, I dunno, vim like?
I intentionally wrote it so the keybinding plugin could be rewritten (by myself or a third party -- you?).
I forgot to mention I like MS style key-bindings, may I burn in hell
I'm having problems, it doesn't seem to detect gtksourceview properly, any one else having that problem under Arch?
Its in gnome-python-desktop....Possibly somebody would feel like extracting the python bindings for pygtksourceview into its own package though...
I guess I could have a look at that. So it's not gtksourceview as a dep then?
Offline
Weird. I built gnome-python-desktop to see how gtksourceview was built and...it didn't get built by the default PKGBUILD...
I used makepkg -sr to build it but I guess some deps must have been missed.
Someone made a pkg for the old bindings but they don't build properly now. However, given the deps listed for that pkg I think you may as well just have gnome-python-desktop installed! Shame.
Offline
I'm not certain, here's some info that may not help... ;-)
dusty:~ $ pacman -Qo /usr/lib/python2.4/site-packages/gtk-2.0/gtksourceview.so
/usr/lib/python2.4/site-packages/gtk-2.0/gtksourceview.so is owned by gnome-python-desktop 2.14.0-2
dusty:~ $ pacman -Ql gnome-python-desktop
gnome-python-desktop /usr/
gnome-python-desktop /usr/lib/
gnome-python-desktop /usr/lib/pkgconfig/
gnome-python-desktop /usr/lib/pkgconfig/gnome-python-desktop-2.0.pc
gnome-python-desktop /usr/lib/python2.4/
gnome-python-desktop /usr/lib/python2.4/site-packages/
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnome/
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnome/applet.py
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnome/applet.pyc
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnome/applet.pyo
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnomeapplet.so
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnomeprint/
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnomeprint/__init_
_.py
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnomeprint/__init_
_.pyc
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnomeprint/__init_
_.pyo
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnomeprint/_print.
so
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gnomeprint/ui.so
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gtksourceview.so
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/gtop.so
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/mediaprofiles.so
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/metacity.so
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/nautilusburn.so
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/totem/
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/totem/__init__.py
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/totem/__init__.pyc
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/totem/__init__.pyo
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/totem/plparser.so
gnome-python-desktop /usr/lib/python2.4/site-packages/gtk-2.0/wnck.so
gnome-python-desktop /usr/share/
gnome-python-desktop /usr/share/pygtk/
gnome-python-desktop /usr/share/pygtk/2.0/
gnome-python-desktop /usr/share/pygtk/2.0/defs/
gnome-python-desktop /usr/share/pygtk/2.0/defs/applet.defs
gnome-python-desktop /usr/share/pygtk/2.0/defs/art.defs
gnome-python-desktop /usr/share/pygtk/2.0/defs/gtksourceview.defs
gnome-python-desktop /usr/share/pygtk/2.0/defs/mediaprofiles.defs
gnome-python-desktop /usr/share/pygtk/2.0/defs/metacity.defs
gnome-python-desktop /usr/share/pygtk/2.0/defs/nautilus_burn.defs
gnome-python-desktop /usr/share/pygtk/2.0/defs/nb_drive_selection.defs
gnome-python-desktop /usr/share/pygtk/2.0/defs/print.defs
gnome-python-desktop /usr/share/pygtk/2.0/defs/printui.defs
gnome-python-desktop /usr/share/pygtk/2.0/defs/wnck.defs
I believe gnome-python-desktop depends on gtksourceview.
Offline
i like your file browser on the side.
Offline
Pardon my subversion ignorance, but I'm having trouble getting pallavi to run. I ran the svn command that you have on your page and it appears to have run correctly, but cd'ing to the pallavi dirrectory and running ./run-pallavi throws this error:
$ ./run-pallavi
Traceback (most recent call last):
File "./run-pallavi", line 23, in ?
import Views, EventActionManager, PluginManager
File "/home/cthulhu/pallavi/Views.py", line 23, in ?
import gtk, gtksourceview, pango
ImportError: No module named gtksourceview
I have gtk, gtksourceview (both gnome-python-extras and gtksourceview are instealled) and pango, so I'm not sure what the problem is. I'd like to check this out so any help would be appreciated.
Offline
Read the thread, dude!
I made a PKGBUILD to checkout and install pallavi in /usr/share - I'll release it if Dusty doesn't mind
Offline
oh, oopse. I read the thread several times, but still screwed up. I got confused by pallavi's sourceforge page, it says that gnome-python-extras is the dependency that gtksourceview comes from, instead of gnome-python-desktop.
Edit:
More trouble, sorry. I can't get it to do anything really. Trying to poen a file (ctrl+O) or actions like that, the only thing that happens is a little box with numbers in it appears in the window. some actions leave this error in the console:
/home/cthulhu/pallavi/pallavi/plugins/Sourceview_Actions.py:63: GtkWarning: gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)' failed
edit_pane.source_buffer.insert_at_cursor(data)
is this a locale problem?
Offline
I made a PKGBUILD to checkout and install pallavi in /usr/share - I'll release it if Dusty doesn't mind
Be my guest. I'm surprised it runs from /usr/share. I wasn't intending on making a release or package until I had properly set up a configuration directory in $HOME. However, I'm swamped with work for the rest of my life and most of my next lifetime too, so it could be a while before I get to it. :-/
Dusty
Offline
More trouble, sorry. I can't get it to do anything really. Trying to poen a file (ctrl+O) or actions like that, the only thing that happens is a little box with numbers in it appears in the window. some actions leave this error in the console:
/home/cthulhu/pallavi/pallavi/plugins/Sourceview_Actions.py:63: GtkWarning: gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)' failed edit_pane.source_buffer.insert_at_cursor(data)
is this a locale problem?
This is very beta software. Mwahahaha!
I don't get that error at all here -- is your arch box completely up to date? I'll look into it sometime -- That looks like something to do with utf8, is that your default character encoding? I'll have to figure out how to duplicate it. Anything else "special" about your arch box?
Dusty
Offline
dtw wrote:I made a PKGBUILD to checkout and install pallavi in /usr/share - I'll release it if Dusty doesn't mind
I'm surprised it runs from /usr/share
I can only assume that it does! Bash syntax highlighting doesn't seem to work at all though :?
As it has a wrapper script/hack it is in a tarball in the AUR. Feedback in the AUR comments thread, please!
Offline
My box is up to date, and there's nothing really special about it. I am using testing, however. I don't have gnome loaded (or at least most of it, I do have some gnome libraries), perhaps theres another dependency that you missed?
My rc.conf says that my local is en_US.utf8.
Edit: I just built dtw's pkgbuild, its still acting the same so it must be something I have set wrong on my box.
Offline
Hmm can't seem to open an exsisting docoument, I press Ctrl+O and I get an output int he text box:
[URL=http://img169.imageshack.us/my.php?image=1406060235145nh.png][/URL]
Offline
Thats the same as the output that I'm getting.
Offline
Wlel, it shouldn't eb any dependacy's. Because I have the gnome full install.
Offline
That behaviour is strange as hell. I can't imagine why any action would choose to insert something into the text buffer like that.
I changed my locale to en_us.UTF8, but still not experiencing any such problems so far. I do get a similar little box with numbers whenever I press the escape key, so it must be something its doing with the keybinding; its recognizing it as a character insertion instead of an actual bound keypress. Humm, so maybe the character codes I used for the keybindings are not standard across systems or something. Are either of you using a non-standard keyboard layout or keymapping or something?
Would anybody like to suggest a more frustrating programming experience than bugs you can't duplicate? :-(
Dusty
Offline
you said you changed your locale to en_us.UTF8, what was it prior to that?
Offline
you said you changed your locale to en_us.UTF8, what was it prior to that?
it was unset (ie: defaults to "C"). I hadn't updated rc.conf since that variable was added, I guess. I had to do the localegen thing too because en_us.UTF8 wasn't recognized.
Dusty
Offline
From rc.conf:
LOCALE="en_US.utf8"
KEYMAP="us"
Offline