lainchan / Ω

Terminal Lain

Emmanuel · 2018-11-09 18:34
Hi Lain! Recently a thread popped up on Endchan about terminal imageboard viewers. And since I haven't got anything better to do, I decided to make one. It's a read-only viewer for now, but I plan to add posting capabilities later down the road. Please, tell me what you think about it, I really want some feedback. https://gitgud.io/fixerb/tibb
tn13 · 2018-11-09 23:37
maybe i will learn go only for help this project improve. i love you lainon!
Yet Another Lainon · 2018-11-10 01:40
Seems nice, I am not on GNU/Linux right now, so I'll test later. The graphics are cool.
Switch · 2018-11-10 06:37
Damn that nice anon. I especially like thr use of box drawing character. I already work in implementing image in term. (w3m for real image and libcaca for ascii) if i have time i'll try to commit those feature in. Also if you want more info on image support in terminal you can check the image support wiki on the ranger/ranger github.
Anamika · 2018-11-10 08:22
>>14194 Well, you don't have to lainon, cause tibb already supports w3mimgdisplay. I mean, what kinda imageboard viewer doesn't view images :)
Joe Bloggs · 2018-11-10 11:31
This is very cool, Lain, and I'll be watching this very intently - currently looking for a good way to browse chans in tmux (since w3m doesn't get along with it.) Love the style of it. I have a lot of ideas for features but was wondering, what features do you already having in mind for implementation?
Shogun · 2018-11-10 17:16
>>14199 >what features do you already having in mind for implementation? Support for more chans, rewriting the color tags parser (to be more flexible), tor support, in-terminal video playback with fbff and probably something I forgot now. >browse chans in tmux (since w3m doesn't get along with it.) While I haven't tried it yet, there's this thing called Überzug, which is reportedly way better than w3m and supports tmux. You can try setting it up as a custom image viewer in tibb's config. https://github.com/seebye/ueberzug/
BloodCat · 2018-11-10 19:07
how widely supported is sixel? it seems the cleanest solution to this problem, no?
Linda Lee · 2018-11-10 19:56
>>14201 I've just looked into it. it seems to be supported by too few terminal emulators for use in software designed for others to use.
Nobody important · 2018-11-11 02:16
>>14200 >ueberzug Looks promising! Thanks for the tip. I don't have the time to tinker with it at the moment but if it works out I'll let you know. Those all sound like great features. Some things that come to mind that I'd personally really like to see & would ensure I'd use it as my primary chansurfer: Definitive: - all board availability - post support (planned) Nice: - ability to chain boards together if possible - customization options, especially keybindings - something akin to vim would be a personal preference, especially if you could use something like :2816 or :r2816 - different mode and toggle options - the left/right thread switching is really nice and simple but I'd prefer to have all threads available up front and to be able to select them, say, numerically - binary support I think that's all I have for now. That said, this is a very nice minimal/straightforward app and I wouldn't want to bog it down with feature bloat. I just love the idea of a decent + usable terminal chansurfer and it's something that'd be perfect for my usecase but is out of my wheelhouse to create. All in all, love the work, looking forward to seeing where this project goes, above features included or otherwise.
Gyula Kovacs · 2018-11-11 04:15
how do you select a thread?
John Rain · 2018-11-11 09:01
>>14209 not op, but you can use left/right to cycle through threads on a particular board if that's what you mean. i don't think there's specific thread-selecting functionality at the moment
Guthrie · 2018-11-11 12:38
>>14203 Thank you very much, that's the kind of feedback I wanted! While I need to think about some features you listed, I'll definitely implement others. Also what do you mean by all board availability and binary support? Like an additional entry on the board list that displays all available boards and let's you choose one & an option to build a binary?
Drano · 2018-11-11 15:01
>>14215 I've only tested Lainchan but only 5 boards come up for me (tech, q, drg, zzz, diy). I'd like them all to be available.) That said, I just thought about what that would look like wrt to 8chan and imagine that might be a herculean feat to accomplish, but I'd love the ability to choose from all the boards. In the case of something like 8ch, with its multitude of boards, some sort of parser that reads all available boards from a given chan and provides the user with a browser to select which boards they'd like to make available (including select all)? As for binary support, I mean the eventual release of tibb as a binary (i.e. installed within /bin/ or /usr/bin/) as opposed to something on the gopath. I figure that's a feature to come down the line, though.
Cypher · 2018-11-11 19:24
>>14216 Thanks for clarification! >only 5 boards come up for me (tech, q, drg, zzz, diy). I'd like them all to be available. The board list doesn't contain all available boards (since it would be completely impractical on let's say 8chan, which has bajillion boards), but rather user-chosen ones. You can change/add these in the config. As for the list of all boards, I've had some stub code at some point (vid related), but tibb was initially endchan only and endchan has the "list all boards" api function completely broken, so I dropped it. Definitely bringing it back tho, but later since it's not that important. >As for binary support, I mean the eventual release of tibb as a binary [...] as opposed to something on the gopath. Go is a compiled language, so when you make tibb, you get a static binary. GOPATH related stuff is needed only for compilation. Later you can copy the binary to /usr/bin or whatever and the config to an appropriate place (stated in README) and you got what you want. But honestly good call, I'll add a "install" target to the makefile.
Drifter · 2018-11-12 09:19
>>14218 Yeah, figures it wouldn't work with something as robust as 8ch. Didn't realize it was configurable - glossed over that line in the readme, my bad. Cool, I'll select the boards I want. For the record, it doesn't work with /mega/. Program quits with error: invalid character '<' looking for beginning of value Also, not sure if the imageviewer or spoiler function are the non-implemented things stated in the readme, but attempting to use either of them causes tibb to crash for me.
Lunch · 2018-11-12 17:13
>>14223 >For the record, it doesn't work with /mega/ Cause /mega/ is not a board, it's a collection of threads from different boards. I can get the first posts ID and content, but then (afaik) I would have to go through every board in search of this particular thread. Not worth it. >Also, not sure if the imageviewer or spoiler function are the non-implemented things stated in the readme Both implemented and both work here. What kind of image viewer do you use? If it's w3m, check if you have the w3mimgdisplay binary in /usr/lib/w3m/ Also I want to clarify how the image viewing thing works. When you press v, a textbox becomes active and you input the post id (of the post you want to view) and confirm with enter. Then tibb will download and try to display whatever the first file is. >also tfw when you become tech support
Spike Spiegel · 2018-11-12 17:54
>>14223 Ok, I investigated the crashes on a fresh VM and found two roadblocks: permissions and the terminal itself. At first the fileviewer would error out, cause it didn't have permissions to write to it's tmp directory and after that it turned out LXQT's default terminal (QTerminal) just wouldn't work with w3mimgdisplay. I immediately tested xterm and it works there (pic), so it's more of a w3mimgdisplay problem. I honestly didn't expect problems with w3m, cause before release I tested it on a few terminals (xterm,urxvt,termite,st) and it worked perfectly there. You can try switching your terminal or image viewer (maybe the Uberzug thing will work).
Faye Valentine · 2018-11-13 07:33
>>14224 My bad, go figure it was user error. Works as intended, although it crashes if no value is entered. It also renders the image at full size, so maybe you could write in a config option that defaults to a reduced dimension past a certain pixel size.
Switch · 2018-11-13 12:32
>>14227 rtfm, you can scale the images
Unspecified · 2018-11-13 20:00
>>14227 Actually not a bad idea.
Gyula Kovacs · 2018-11-13 23:40
>>14228 Yeah, I was just suggesting a configurable default size as opposed to wait for w3m to redraw the image.
Yu-ichi · 2018-11-14 02:33
Nice one Lainon, I've been working on something similar for a while, but this is much, much better. I'll be happy to use, and as >>14190 said I might have to pick up Go to help ya.
Undisclosed · 2018-11-14 13:00
>>14190 >>14233 <3
Rick Deckard · 2018-11-14 21:10
Answer my issue on your gitlab repo you soykafcunt.
William Holtzer · 2018-11-14 22:04
>>14237 Sorry, I haven't looked at issues recently.
Donna Hawthorne · 2018-11-24 06:57
Any updates on this project lainon? Anything that other lainons can do to help?
The Fin · 2018-11-25 19:34
>>14367 I'm slowly getting back to it after a rough week. And regarding help, if you know Go you can help me with some of the stuff from the TODO list. If not, I'm also searching for some kind of terminal video player (plz no libcaca soykaf). I wanted to use fbff, but unfortunately it's not really portable and works only with framebuffers. Also thanks for the interest in the project!
Marly Krushkhova · 2018-11-26 22:02
>>14392 maybe add support for other 4chan and mewchan. This is a really cool little project. also a mplayer is a really nice video player.
Donna Hawthorne · 2018-12-06 17:15
these zoomers man terminal this; i3wm that xfce3 on debian jessie, now that was a desktop experience just browse with gnu icecat you filthy 1337 haxor zoomers and adblock
Unspecified · 2019-01-01 12:10
Thank you.
Nanashi No Gombe · 2019-01-01 15:04
>>14406 >mplayer since when does mplayer have framebuffer support
Frank Garza · 2019-01-01 21:55
>>14986 not him but mpv can with --vo=tct
Emmanuel · 2019-01-01 22:08
>>14986 pretty long while lain. I wouldn't be surprised if packagers didn't often ship it though to keep the binary smaller or something. >>14987 That's not the same thing lain, you can play videos in full resolution over framebuffer. The framebuffer is really just the way to display graphics without abstractions like X server, or Wayland, etc. Even when displaying in a terminal emulator though like --vo=tct does you can do a good bit better by using the escape codes for sixel assuming your terminal emulator supports it: https://github.com/saitoha/FFmpeg-SIXEL
Spooky · 2019-01-13 00:38
>>14988 mpv does have framebuffer support though >>14987 >--vo=tct it's --vo=drm
Bob Arctor · 2019-01-13 21:07
>>15202 no, it's --vo=caca
Trinity · 2019-01-18 08:14
when i press enter to select a board it crashes > 2019/01/18 03:13:44 invalid character '<' looking for beginning of value
Faye Valentine · 2019-01-22 06:17
>>15298 What board?
Bob Arctor · 2019-01-24 00:32
I LOVE THE IDEA ! However I'm very new to this and have no idea how to set it up. Nothing on the net has helped me in this situation. Basically I'm stuck at the mkdir -p $GOPATH/src/gitgud.io/fixerb/tibb I only get response mkdir: cannot create directory ‘/src’: Permission denied wat do ?
Appleman1234 · 2019-01-24 00:53
>>15358 Try actually setting the $GOPATH to the actual location where go is. Something like export GOPATH=$HOME/go See https://github.com/golang/go/wiki/SettingGOPATH for more information.
Dox · 2019-01-24 01:53
This is awesome! I've been wanting a nice terminal based imageboard browser for ages. Neat to finally see one! Thanks so much for developing it.
Meddler · 2019-01-24 20:12
>TIBB TTBB * FTFY
The Plague · 2019-01-29 04:30
Loading.. 2019/01/28 23:30:04 Get http://lainchan.org/diy/catalog.json: proxyconnect tcp: dial tcp 127.0.0.1:9050: connect: connection refused
Ender · 2019-01-29 04:30
>>15412 when chosing any board on any server
Yamaoto Toshi · 2019-01-29 14:27
>>15412 That's because routing through Tor is enabled by default. In your case, tibb is trying to connect through a proxy that doesn't exist. You can disable Tor routing in the config. With that setting, I wanted to encourage people to use Tor with tibb, but I think I'll change it back if it just makes people think that stuff is broken.
Lord Nikon · 2019-01-29 23:25
>>15417 Make it a "feature". >Routes through Tor by default. That way everyone knows what it does and can't complain.
Judge Fang · 2019-01-30 15:57
>>14172 If you include the url to images, on Terminology terminal, they are clickable and will render on the terminal canvas, which would give your viewer 100% functionality.