<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; U; Linux 2.2.12 i586) [Netscape]">
   <title>gnotepad+ FAQ (with answers!)
</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">

<center>
<h1>
gnotepad+ FAQ (with answers!)</h1></center>

<center>
<hr WIDTH="100%"></center>

<h1>
How do I?</h1>

<ul>
<li>
<a href="#dnd">How can I Drag-and-Drop files to and from gnotepad?</a></li>
</ul>

<h2>
Why?</h2>

<ul>
<li>
<a href="#cut and paste">Sometimes, copying and pasting text does not work.</a></li>

<li>
<a href="#doc switching">Sometimes, switching between documents crashes
gnotepad.</a></li>

<li>
<a href="#starting directory">Why does gnotepad always start in the same
directory?</a> (e.g., always in your home directory)</li>

<li>
<a href="#slow characters">Slow characters/typing</a></li>

<li>
<a href="#doc switching saving position">Cursor/line positioning not saved
when switching between documents.</a></li>
</ul>

<h2>
Features</h2>

<ul>
<li>
<a href="#syntax highlighting">Syntax highlighting</a></li>

<li>
<a href="#cursor position">Cursor position and Line numbers</a></li>

<li>
<a href="#auto-indentation">Auto-indentation</a></li>

<li>
<a href="#spell-checking">Spell-checking</a></li>

<li>
<a href="#line word wrap">Line wrapping vs word wrapping</a></li>

<li>
<a href="#plugins">Plugins</a></li>

<li>
<a href="#fonts">Multiple fonts in the same document</a></li>
</ul>

<hr WIDTH="100%">
<h3>
<a NAME="how"></a>How do I?</h3>

<h4>
<a NAME="dnd"></a>How can I Drag-and-Drop files to and from gnotepad?</h4>

<ul>
<li>
To drag a file from gnotepad, click and hold the "File Info" button in
the lower right corner of the window.&nbsp; While keeping the mouse button
pressed, moving the mouse away from the "File Info" button will change
the mouse cursor.&nbsp; This indicates that you can now "drag" this document
to its destination.</li>

<li>
To drop a file to gnotepad, simply drag from your destination (e.g., a
file icon in your file manager) and drop it anywhere on the gnotepad window.&nbsp;
The application you are dragging from must support Drag-and-Drop in order
for this to work.</li>
</ul>

<h3>
<a NAME="why"></a>Why?</h3>

<h4>
<a NAME="cut and paste"></a>Sometimes, copying and pasting text does not
work.</h4>

<ul>
<li>
The short answer: you probably have a file that has been saved/edited under
DOS/Windows. You will need to run a utility such as <tt>dos2unix</tt> to
convert the file from DOS/Windows.</li>

<li>
The long answer: DOS/Windows (text editors) use a carriage return and line
feed combination to denote the end of a line of text, while Unix systems
use only the line feed. Hence, there is an extra character, the carriage
return, more commonly known as "Control-M" (^M). These ^M characters should
be removed before editing with gnotepad.</li>

<li>
An even longer answer: This isn't a gnotepad limitiation; it is actually
a limitation in the GTK text widget, and hence, GTK itself. You will see
this behavior with other editors which use the GTK text widget.</li>
</ul>

<h4>
<a NAME="doc switching"></a>Sometimes, switching between documents crashes
gnotepad.</h4>

<ul>
<li>
The exact cause of this probably is still unknown. However, a work-around
exists: you must recompile gnotepad from source, and specify the "--disable-docunload"
option to the configure script.</li>

<li>
A more detailed explanation: document loading and unloading helps gnotepad
reduce memory usage. When switching between documents, if a document you
are switching away <i>from</i> has not been changed, it can be unloaded/freed
from memory. When you switch back to it, it is reread from disk. If the
file is sufficiently large, there could be a noticeable delay when the
file is loaded, but for most editing jobs, it isn't noticeable. As far
as gnotepad crashing, in every instance that the problem is seen, the symptoms
point towards document loading. Hence by disabling the document loading
feature, documents are never unloaded from memory.</li>
</ul>

<h4>
<a NAME="starting directory"></a>Why does gnotepad always start in the
same directory? (e.g., always in your home directory)</h4>

<ul>
<li>
gnotepad always uses the current directory from where it is executed. Hence,
if you are starting gnotepad from the command line, you can simply change
your directory and then execute gnotepad. It will then start from the new
directory.</li>

<li>
If you are not starting gnotepad from the command line, you are probably
starting it from a menu or icon. In that case, it is up to the configuration
of how gnotepad is executed/launched from that menu or icon. This differs
from system to system, so refer to your desktop documentation on how to
change this.</li>
</ul>

<h4>
<a NAME="slow characters"></a>Slow characters typing</h4>

<ul>
<li>
Under certain configurations, text typed will appear extremely slowly in
the gnotepad window. Typically, it will be a lot slower than the actual
typing! This is a side-effect of using a very fancy GTK theme. The solution
is to either not use a theme at all, or try changing to a less fancier
theme.</li>
</ul>

<h4>
<a NAME="doc switching saving position"></a>Cursor/line positioning not
saved when switching between documents.</h4>

<ul>
<li>
This is a bug that was fixed in v1.2.0pre2. Please upgrade to 1.2.0 or
later.</li>
</ul>

<h3>
<a NAME="features"></a>Features</h3>

<h4>
<a NAME="syntax highlighting"></a>Syntax highlighting</h4>

<ul>
<li>
This is probably the most requested feature. Currently, there are no plans
on adding such a feature to gnotepad. The reason behind this is that gnotepad
leverages its editing capabilities on the GTK text widget. Since the GTK
text widget doesn't have syntax highlighting, neither does gnotepad.</li>

<li>
If a new GTK text widget comes along and has syntax highlighting, then
naturally, gnotepad will have it too.</li>

<li>
One might suggest of using a different widget, such as the GtkEditor widget,
or the GtkExText widget. Older versions of the GtkEditor widget was a terrible
hack, in that it required patching the GTK text widget itself, and it didn't
work very well. Newer versions are still based on the GTK text widget,
and is not a feasible, nor workable solution. The GtkExText widget, although
pretty on the surface, is also a terrible hack that is based on the GTK
text widget. The code is also heinously unmaintainable by anyone else other
than the author.</li>

<li>
The prudent user may notice that the Bluefish HTML editor has syntax highlighting
(sort of), and that it only uses the GTK text widget. However, closer inspection
will reveal that the solution implemented in Bluefish is <i>extremely</i>
inefficient; memory consumption is huge, and speed/performance is terrible
on all but the most trivially small files. This is not an acceptable solution
for gnotepad.</li>
</ul>

<h4>
<a NAME="cursor position"></a>Cursor position and Line numbers</h4>

<ul>
<li>
There is no indicator of cursor positioning (e.g., which column of text
the cursor is on), or line numbers (e.g., which line of text in the file
the cursor is on). Unfortunately, this limitation has to do with the GTK
text widget again. Solutions to do this with the GTK text widget may be
possible, but they would be inefficient.</li>
</ul>

<h4>
<a NAME="auto-indentation"></a>Auto-indentation</h4>

<ul>
<li>
Again, due to limitations of the GTK text widget, this is not available
by default. Any solution using the GTK text widget to implement auto-indentation
would be inefficient.</li>
</ul>

<h4>
<a NAME="spell-checking"></a>Spell-checking</h4>

<ul>
<li>
gnotepad is a text editor, not a spell-checker. If you want to spell-check
your document, you should use a spell-checker. e.g., ispell. In the future,
there might be an interface to ispell within gnotepad for easier accessibility.</li>
</ul>

<h4>
<a NAME="line word wrap"></a>Line wrapping vs word wrapping.</h4>

<ul>
<li>
Through the GTK text widget, gnotepad has <i>word wrapping</i>. That is,
words are wrapped to the next line in a <i>visual</i> manner on the screen.
The line itself is not wrapped. e.g., there is no carriage return and/or
line feed inserted for you to break a long line into two lines. Line wrapping
is a feature typically found in <i>word processors</i>, which gnotepad
is not.</li>
</ul>

<h4>
<a NAME="plugins"></a>Plugins.</h4>

<ul>
<li>There are no plans of gnotepad+ having plugins because plugins are
stupid.  gnotepad+ is a text editor, nothing more.  Running a plugin
requires forking/starting a new process.  Unless you are manipulating
an extraordinary amount of data, this is highly inefficient and a
waste of time.  There is no need superfluous junk like decimal
to hex number convertors (which should be done by a calculator), zvt
terminal windows (which should be done by a terminal emulator), or
dumb little toy programs to reverse or encrypt the text (nice
programming exercises, if you are still in school, but of no practical
use).
</li>
</ul>

<h4>
<a NAME="fonts"></a>Multiple fonts in the same document</h4>

<ul>
<li>gnotepad+ is a <i>text editor</i>, not a <i>word processor</i>, so
will not support having multiple fonts within the same document.
</li>
</ul>

<hr><i><font size=-1>Last updated on March 26th, 2000 by Andy Kahn.</font></i>
<br><i><font size=-1>&copy; 1998 - 2000 Andy Kahn. All rights reserved.</font></i>
</body>
</html>
