~strahinja/scribe

Simple WINGs text editor

75b02a6 main.c(save_prefs): Set sane defaults if < 0 when saving prefs

1 year, 17 days ago

7a72a93 README: Add explanation

1 year, 1 month ago
Scribe
======

Simple text editor using the WINGs library


FAQ
---

Q: Why is this application so buggy/slow?
A: It currently relies on stock WINGs WMText component, which is far from
   production-ready. Use at your own risk! See "Known Bugs".

   WMText is a rich text-capable component, which is likely the reason for all
   the bugginess and slowness. (I do have a perhaps overly ambitious plan of
   eventually creating a working, plain text-only component similar to WMText
   and replacing WMText in Scribe with that.)


Known Bugs
----------

- Numerous bugs with WMText, including, but not limited to:
  * line heights not matching font size (most visible for large fonts)
  * scrolling backwards with up arrow making the component not draw text until
    the scroll position is changed with scroll bars
  * editing operations on a large file (ex. LICENSE) are very slow
  * etc.

- Inherited from wmgen (more accurately, from WINGs itself): when "Shared
  application icon" is selected, one of the two things happen, depending on
  whether WMMapSubwidgets and WMMapWidget for the main window is called before
  (A) or after (B) creating the main menu:

  A) Every instance of Scribe will generate a "phantom copy" of the application
     menu, which persists after closing the application, can't be closed with
     xkill, apparently isn't associated with any process, and for which xprop
     doesn't detect any properties. Interestingly, when the main application is
     closed, and relaunched, the extra copies of menus work in the new instance.

  B) The menu is not shown at all. This is the same behavior/known bug as in
     FSViewer.

  I chose to follow option (B), same behavior as in FSViewer. I believe that
  having no menu at all, and behaving consistently with known application is
  better than having leftover uncloseable copies of menus around.

- Inherited from WINGs: switching to another window covering the area of the
  screen occupied by the menu, and then back to Scribe, leaves the menu behind
  the other window.


License
-------

Scribe - Simple WINGs text editor
Copyright (C) 2023-2024 Страхиња Радић

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program.  If not, see <https://www.gnu.org/licenses/>.