On Thu, May 16, 2024 at 07:53:41PM GMT, Stefan Hagen wrote:
James Cook wrote (2024-05-14 21:21 CEST):
> I wasn't able to link to my phone because the QR code is not displayed in a
> usable way. Here are the first three lines of what I assume is supposed to
> be a QR code.
>
> $ gurk
> Linking new device with device name: gurk@angel
> ▄▄▄▄▄ ▄▄ ▄ ▄ ▄
▄▄ ▄ ▄ ▄▄▄▄▄ ▄ ▄ ▄ ▄ ▄ ▄
> ▄ ▄ ▄ ▄▄▄ ▄ ▄▄▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄ ▄▄ ▄▄▄
Sorry, format=flowed messed that up. Here are the first three lines
again:
▄▄▄▄▄ ▄▄ ▄ ▄ ▄ ▄▄ ▄ ▄ ▄▄▄▄▄
▄ ▄ ▄ ▄ ▄ ▄ ▄ ▄ ▄
▄▄▄ ▄ ▄▄▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄ ▄▄ ▄▄▄
Try playing with a different font / different terminal.
It should look like a square'ish block that resembles
a QR code.
Best regards,
Stefan
Some more info:
I tried redirecting gurk's stdout to a file. Feeding that output to vis, it
begins like this:
Linking new device with device name: gurk@angel
\^[[m\^[[m \^[[m\^[[m\^[[m\^[[m \^[[m\^[[m\^[[m\^[[m \^[[m\^[[m
This seems broken, because when I wrote my own program to call
qr2term::print_qr, the output began like this (again, viewed with
vis):
\^[[48;5;15m\^[[38;5;0m \^[[49m\^[[39m\^[[48;5;15m
It looks like some terminal escape codes are not properly generated
when gurk calls qr2term::print_qr. My own program's output is a
usable QR code.
I tried gurk in xterm, in tmux in xterm, and in gnome-terminal
(hastily installed just for this purpose; gnome-terminal is using
a weird ugly font and I didn't dig into why). In all three cases,
gurk|vis|head shows the same (as far as I can see) sequence of
\^[[m\^[m.... The TERM environment variable is "xterm", "screen"
and "xterm-256color respectively in those three cases.
--------
Details on how I manually tried qr2term::print_qr:
I built and ran the following program:
use qr2term;
fn main() {
qr2term::print_qr("https://rust-lang.org/").unwrap();
}
and it works fine: I see a (kind of ugly) QR code on the terminal
that I can scan. I built it with the following Cargo.toml file,
which I generated with "cargo init" then "cargo add qr2term":
[package]
name = "r"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at
https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
qr2term = "0.3.1"
--
James