You are not logged in.

#1 2006-06-05 00:09:45

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

My little pet project -- a text editor

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

#2 2006-06-05 07:41:01

user
Member
Registered: 2006-03-29
Posts: 465

Re: My little pet project -- a text editor

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

#3 2006-06-05 09:56:22

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: My little pet project -- a text editor

Sounds great, Dusty!  I'm excited!

Offline

#4 2006-06-05 17:47:24

codemac
Member
From: Cliche Tech Place
Registered: 2005-05-13
Posts: 794
Website

Re: My little pet project -- a text editor

Looks great man, I like the gui simplicity.

Offline

#5 2006-06-05 20:13:30

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: My little pet project -- a text editor

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

#6 2006-06-05 20:47:20

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: My little pet project -- a text editor

codemac wrote:

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

#7 2006-06-05 20:53:21

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: My little pet project -- a text editor

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?). 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

#8 2006-06-05 21:59:53

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: My little pet project -- a text editor

Dusty wrote:
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 smile

Dusty wrote:

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

#9 2006-06-05 22:13:08

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: My little pet project -- a text editor

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

#10 2006-06-05 22:26:07

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: My little pet project -- a text editor

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

#11 2006-06-06 23:18:28

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

Re: My little pet project -- a text editor

i like your file browser on the side.

Offline

#12 2006-06-12 19:26:35

barebones
Member
Registered: 2006-04-30
Posts: 235

Re: My little pet project -- a text editor

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

#13 2006-06-12 20:00:22

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: My little pet project -- a text editor

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 smile

Offline

#14 2006-06-12 20:15:04

barebones
Member
Registered: 2006-04-30
Posts: 235

Re: My little pet project -- a text editor

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

#15 2006-06-13 17:32:06

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: My little pet project -- a text editor

dtw wrote:

I made a PKGBUILD to checkout and install pallavi in /usr/share - I'll release it if Dusty doesn't mind smile

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

#16 2006-06-13 17:34:15

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: My little pet project -- a text editor

barebones wrote:

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

#17 2006-06-13 18:45:48

dtw
Forum Fellow
From: UK
Registered: 2004-08-03
Posts: 4,439
Website

Re: My little pet project -- a text editor

Dusty wrote:
dtw wrote:

I made a PKGBUILD to checkout and install pallavi in /usr/share - I'll release it if Dusty doesn't mind smile

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

#18 2006-06-13 22:32:21

barebones
Member
Registered: 2006-04-30
Posts: 235

Re: My little pet project -- a text editor

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

#19 2006-06-14 18:36:15

twiistedkaos
Member
Registered: 2006-05-20
Posts: 666

Re: My little pet project -- a text editor

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]1406060235145nh.th.png[/URL]

Offline

#20 2006-06-14 18:39:30

barebones
Member
Registered: 2006-04-30
Posts: 235

Re: My little pet project -- a text editor

Thats the same as the output that I'm getting.

Offline

#21 2006-06-14 18:43:57

twiistedkaos
Member
Registered: 2006-05-20
Posts: 666

Re: My little pet project -- a text editor

Wlel, it shouldn't eb any dependacy's. Because I have the gnome full install. tongue

Offline

#22 2006-06-14 22:35:37

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: My little pet project -- a text editor

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

#23 2006-06-14 23:01:45

barebones
Member
Registered: 2006-04-30
Posts: 235

Re: My little pet project -- a text editor

you said you changed your locale to en_us.UTF8, what was it prior to that?

Offline

#24 2006-06-15 00:16:26

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: My little pet project -- a text editor

barebones wrote:

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

#25 2006-06-15 05:02:58

twiistedkaos
Member
Registered: 2006-05-20
Posts: 666

Re: My little pet project -- a text editor

From rc.conf:

LOCALE="en_US.utf8"
KEYMAP="us"

Offline

Board footer

Powered by FluxBB