Giter VIP home page Giter VIP logo

mawe's Introduction

MAWE

MAWE - My Advanced Writer's Editor - for Linux, written with Python/GTK.

Mawe is successor for Moe (https://github.com/mkoskim/moe). Moe itself is very usable editor for writers, and it has been my workhorse for years. Even that it handles certain things better than e.g. Scrivener (in my opinion), it has certain drawbacks from its fundamental design decisions.

Mawe tries to fix the problems in moe by taking a different approach at very basic level.


As most of the writer's editors nowadays in the market (scrivener, manuskript, ywriter, ...), moe is also based on the hierarchial tree of "scenes". All these editors are like mail clients - on your left hand, you have scene hierarchy, and on right hand you have one scene opened.

The idea sounds good at first, BUT a story, a book, is not like that. A book is a sequence of scenes and chapters. That is what you want to create - you don't want to create a hierarchy of scenes, groups, parts, lots of interconnected metatext, links, tags and such. No, you want to create a sequence of chapters.

Very coarsely speaking, the fundamental difference between unstructured editors (like Notepad, Microsoft Word and googledocs) compared to structured ones is: in unstructured editors you write the draft and it can generate Table of Content, while in structured editors you create ToC and it generates the draft.

Structured editors are way better for story writing, true, but you might have hard times to see the actual result, and you keep generating "drafts", reading them and going back to scene hierarchy to edit the story and print out next draft.

I fought against this problem when developing Moe editor. It has half-working "draft" view to edit the story, but because of the underlying structure it is close impossible to give the writer free hands to modify the draft.

Mawe tries to tackle the problems by creating an editor in between these two lands. Very simply speaking, it is meant to be a text editor, which (1) maintains the ToC while you write your story like Word and googledocs, and (2) where you can modify the story by modifying the ToC like with Scrivener and yWriter.

mawe's People

Contributors

mkoskim avatar

Watchers

 avatar

mawe's Issues

Crash: GtkSourceView/Buffer: Gtk-ERROR: Byte index is off the end of the line

Application randomly crashes to errors like:

(mawe.py:10556): Gtk-WARNING **: /build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtktextbtree.c:4034: byte index off the end of the line
(mawe.py:10556): Gtk-ERROR **: Byte index 1362 is off the end of the line
Trace/breakpoint trap

(mawe.py:8467): Gtk-WARNING **: /build/gtk+3.0-2Ut_nl/gtk+3.0-3.18.9/./gtk/gtktextbtree.c:4034: byte index off the end of the line
(mawe.py:8467): Gtk-ERROR **: Byte index 451 is off the end of the line
Trace/breakpoint trap

Examine possible reasons.

Update: Problem examined. It looks like it is related to hidden regions. Hiding a scene and moving mouse over it crashes the application quite quickly. Related question in stackoverflow:

https://stackoverflow.com/questions/59190178/gtksourceview-buffer-crash-gtk-error-byte-index-is-off-the-end-of-the-line

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.