TSE Linux: insert vs. overwrite cursor size

5 views
Skip to first unread message

Tom Collins

unread,
Dec 5, 2025, 10:11:33 AM (2 days ago) Dec 5
to SemWare TSE Pro Text Editor
For me, TSE Linux has just about completely reached feature parity with the Windows version, and since I now develop exclusively in Linux this has been a godsend.  One of the very few things that doesn't work for me is the cursor, which looks identical in insert vs. overwrite mode.  This causes a bit of pain for me as I often end up having to "undo" a bunch of overwritten text when I had expected to be inserting.  I know the 'I' in the title bar conveys the insert vs. overwrite "mode," but it's not as strong a signal as a block vs an underline-style cursor.  So... my question: what workarounds are people using for this issue, or is it just me?  I'm using TSE inside of a Gnome terminal, but see the same behavior in an xterm.  Also, I know about the "cursor size" settings, but they don't seem to do anything on TSE Linux.

Thanks!

Carlo Hogeveen

unread,
Dec 5, 2025, 10:46:42 AM (2 days ago) Dec 5
to sem...@googlegroups.com

In WSL Debian I have set my TSE cursor sizes to 9 and 8.
This gives me a vertical bar or a block depending on TSE's insert/overwrite mode.

Carlo



knud van eeden

unread,
Dec 5, 2025, 11:46:17 AM (2 days ago) Dec 5
to SemWare TSE Pro Text Editor
If agreeing that 

 insert is represented by solid cursor shape

 overwrite is represented by a blinking cursor shape

Then if not seeing / noticing that same behavior
one should update to TSE for Linux version 4.50.14
where it was successfully tested.

with friendly greetings
Knud van Eeden


On Friday, December 5, 2025 at 04:11:45 PM GMT+1, Tom Collins <ltsk...@gmail.com> wrote:


For me, TSE Linux has just about completely reached feature parity with the Windows version, and since I now develop exclusively in Linux this has been a godsend.  One of the very few things that doesn't work for me is the cursor, which looks identical in insert vs. overwrite mode.  This causes a bit of pain for me as I often end up having to "undo" a bunch of overwritten text when I had expected to be inserting.  I know the 'I' in the title bar conveys the insert vs. overwrite "mode," but it's not as strong a signal as a block vs an underline-style cursor.  So... my question: what workarounds are people using for this issue, or is it just me?  I'm using TSE inside of a Gnome terminal, but see the same behavior in an xterm.  Also, I know about the "cursor size" settings, but they don't seem to do anything on TSE Linux.

Thanks!

--

---
You received this message because you are subscribed to the Google Groups "SemWare TSE Pro text editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semware+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/semware/CAODxuOb0%2BvkBaEc-71n4PUw0EX%3DVJUrQMO-JXfUctFvebawGcw%40mail.gmail.com.

knud van eeden

unread,
Dec 5, 2025, 11:48:13 AM (2 days ago) Dec 5
to SemWare TSE Pro Text Editor
If agreeing that 

 'INSERT' is represented by 'SOLID + NON-BLINKING'cursor shape

 'OVERWRITE' is represented by a 'SOLID + BLINKING' cursor shape

Fred H Olson

unread,
Dec 5, 2025, 12:29:11 PM (2 days ago) Dec 5
to SemWare TSE Pro Text Editor
I also find that I have to "undo" a bunch of overwritten text when I
had expected to be inserting... Changing the cursor might help, tho I
am not sure I am observent enough to notice... I would appreciate
the changing cursor feature.

I ususally stay in insert mode but sometimes use overwrite with the
intent to switch back after some edits. Sometimes fail to switch back.

I've wondered about some feature to automatically go to insert mode
(with warning?) after a specified idle time or some other condition.

Fred
--
You can fool all the people some of the time and some of the people
all the time, but you cannot fool all the people all the time.

Abraham Lincoln

Trump has proved he can fool enough of the people (aided by circumstances)
to get elected US president. But what happens when his plans and boasts
go awry. For example, mass deportations and huge tariffs will do a number
on the economy. Fred 11/11/24

Fred H. Olson Minneapolis,MN 55411 USA (near north Mpls)
Email: fholson at cohousing.org 612-588-9532
My Link Pg: http://fholson.cohousing.org ybb_

Tom Collins

unread,
Dec 5, 2025, 1:23:02 PM (2 days ago) Dec 5
to sem...@googlegroups.com
Following up...

1. I was unaware that the values 8 (insert) and 9 (overwrite) made a difference.  The 9 value switches from the default blinking-block to a blinking-vertical bar.

2. 4.50.13 is the version I was testing with.

3. Carlo has a CursorShape macro that supports blocks, underlines and vertical bars.  Should'a checked his site first!  I will say that maybe this should be integrated in TSE-proper now that he's shown that it can be done.  Changing the insert vs. overwrite cursor probably shouldn't be an add-on.

4. I 'm not a fan of Fred's "auto-switch back to insert mode" idea as being a standard feature.  But it would make perfect sense as an add-on macro (and probably pretty easy to implement).

--

---
You received this message because you are subscribed to the Google Groups "SemWare TSE Pro text editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semware+u...@googlegroups.com.

knud van eeden

unread,
Dec 5, 2025, 1:30:45 PM (2 days ago) Dec 5
to SemWare TSE Pro Text Editor
As informed about:

A. Will set the cursorsize programmatically, add it e.g. to your 
   TSE autostart.s macro.
     
---

PROC Main()
 //
 // 0=no cursor, 1..8=cursor size, 9=vertical bar */
 //
 // Set( InsertCursorSize, 4 ) // default in TSE for Microsoft Windows and TSE for Linux
 // Set( OverwriteCursorSize, 2 default in TSE for Microsoft Windows and TSE for Linux
 //
 Set( InsertCursorSize, 8 ) // full block
 Set( OverwriteCursorSize, 9 ) // vertical line
 //
END

---


B. Default: 

Cursor Size: Insert = 4

Cursor Size: Overwrite = 2

Inline image
C. Variation: 

Cursor Size: Insert = 8

Cursor Size: Overwrite = 9


Inline image


Inline image
Inline image


In TSE for Linux the insert/overwrite cursor shapes are not drawn by TSE itself
they come from the terminal cursor-shape control escape sequences (DECSCUSR).

TSE simply sends two different terminal escape codes when you toggle Insert/Overwrite.
If your terminal supports those codes (xterm, gnome-terminal, mate-terminal, WSL Debian terminal, etc.), you get:

  • thin vertical bar = insert mode

  • full block = overwrite mode


✔ How to set it

1) In TSE (Linux version)

Alt-O   →   Editor Options   →   Cursor Size Insert / Overwrite

That lets you assign two cursor shape IDs, for example:

  • Insert cursor = 9

  • Overwrite cursor = 8

TSE then emits:

CSI Ps SP q

where Ps is the value you configured (8, 9, etc.)


✔ Meaning of the cursor shape codes

These are standard XTerm cursor styles:

Ps Cursor Appearance
0 blinking block (default)
1 blinking block
2 steady block
3 blinking underline
4 steady underline
5 blinking bar
6 steady bar
7–9 reserved / extended (XTerm maps 6/7/8/9 to bar/steady bar variants depending on terminal)

On most modern WSL terminals:

  • 8 → solid block

  • 9 → thin vertical bar

That matches your observation.


✔ Requirements

To make this actually work you must:

✓ Use a terminal emulator that supports DECSCUSR

(e.g., xterm, gnome-terminal, Konsole, alacritty, Windows Terminal under WSL, etc.)

✓ Ensure $TERM is set to something like xterm-256color

Check:

echo $TERM

If it prints e.g. xterm-256color, you’re good.

If it says dumb, sh, or linux, cursor shaping will not change.

You can set it before launching TSE:

export TERM=xterm-256color
./e

✔ Result

Once configured:

  • Toggle Insert (Ins key)

  • TSE sends cursor style Ps=9 → thin bar

  • Toggle Overwrite

  • TSE sends cursor style Ps=8 → block

So yes — what you are seeing is exactly how it is intended to work.


📌 Summary for quick setup

Inside TSE (Linux):

Alt-O → Editor Options → Cursor size insert  = 9
Alt-O → Editor Options → Cursor size overwrite = 8

Make sure the terminal supports XTerm cursor shaping (TERM=xterm-256color).

That’s all you need.



knud van eeden

unread,
Dec 5, 2025, 1:50:17 PM (2 days ago) Dec 5
to SemWare TSE Pro Text Editor
Hello,

works in TSE for Linux and TSE for Microsoft Windows:
(add it e.g. to your autostart.s)

PROC PROCCursorSetSize()
 // 0=no cursor, 1..8=cursor size, 9=vertical bar
 IF ( WhichOS() == _LINUX_ )
  Set( InsertCursorSize, 8 ) // full block
  Set( OverwriteCursorSize, 9 ) // vertical line
 ELSE // Microsoft Windows
  Set( InsertCursorSize, 4 ) // default in Linux and Microsoft Windows
  Set( OverwriteCursorSize, 2 ) // default in Linux and Microsoft Windows
 ENDIF
END

PROC Main()
 PROCCursorSetSize()
END

with friendly greetings
Knud van Eeden

knud van eeden

unread,
Dec 5, 2025, 2:18:16 PM (2 days ago) Dec 5
to SemWare TSE Pro Text Editor
On Friday, December 5, 2025 at 04:11:45 PM GMT+1, Tom Collins wrote


> For me, TSE Linux has just about completely reached feature parity with the Windows version

Moving from 4.50.13 to 4.50.14 gives the full (Microsoft Windows like) clipboard capability.

E.g. put this in a file dddclipboard.s and run it

<Ctrl C> CopyToWinClip()
<Ctrl V> PasteFromWinClip()
<Ctrl X> CutToWinClip()
<Ctrl Z> Undo()
<Ctrl Y> Redo()
<Ctrl A> MarkAll()
Reply all
Reply to author
Forward
0 new messages