Nick <suckless-...@njw.me.uk> writes: > Thanks for taking a look Christian. > > On Tue, Jun 04, 2013 at 12:38:22PM +0200, Christian Neukirchen wrote: >> > I was fed up reading in mupdf (too paginated and annoying to get >> > text into), a terminal (too monospaced), or surf (too massive), so >> > thought I should make something better. So I spent an afternoon >> > making a pager that you pipe text into, with tcl/tk, and I think >> > it's quite good (with tk 8.5 - everything is ugly with 8.5). It's >> > attached. >> >> Looks pretty good already. >> >> Some ideas: >> - a tail -f like mode > > That's a nice idea. I'll see how simple it is to implement. > >> - quick selection of a few fonts (or toggle monospace<->variable width) > > I figure if you want monospace fonts you're probably better off with > less in the terminal. This is focused on reading essays and the > like. > >> - a small scrollbar to indicate position > > The window title indicates position (percent through the text), > which I prefer to a scrollbar, and it's less code. > >> - make text width adjustable at runtime > > It will shrink according to the window size, it will just never > increase above the max width (which is roughly 60 characters). Which > I like for text.
I was just reading a man page, and 60 chars was a big too short for lines with many uppercase chars (not sure how it calculates the width exactly). And I don't have window decorations, that why I didn't see the position. Scrollbars are simple with Tk, however: --- tkread.tcl.1 2013-06-04 13:51:20.713947556 +0200 +++ tkread.tcl 2013-06-04 13:54:55.408723535 +0200 @@ -52,7 +52,9 @@ } . configure -bg white -text .t -font "Times $fontsize" -wrap word -width 60 -padx [expr $fontsize * 2] -bd -1 -bg white -fg $colour +text .t -font "Times $fontsize" -wrap word -width 60 -padx [expr $fontsize * 2] -bd -1 -bg white -fg $colour -yscrollcommand { .s set } +scrollbar .s -width 5 -command { .t yview } +pack .s -fill y -side left pack .t -expand yes -fill y set text [read stdin] if { $::argc > 0 && [lindex $::argv 0] == "-w" } { -- Christian Neukirchen <chneukirc...@gmail.com> http://chneukirchen.org