tessen
is a bash script that can use any wayland native dmenu-like backend as an interface for
auto-typing and copying password-store data. The list of
backends known to work with tessen
are
tessen
is written to work only on wayland compositors such as sway. If
you'd rather use fzf to copy your password-store data on both
xorg/x11 and wayland, check out pass-tessen.
-
tessen
can autotype or copy (or do both at the same time!) your password store data including all of your key-value pair dataFrom what I've observed as of this commit, most scripts out there do not autotype and copy all of your key-value pair data. They also do not offer choices about autotyping or copying data with the same flexibility as
tessen
does.Although rofi-pass is a good alternative, it only works on xorg/x11.
tessen
is made to work on wayland. -
tessen
does not use any external programs unless they are needed. This means thattessen
doesn't need programs likesed
,awk
,tr
,cut
,find
,sort
,head
,tail
. This ensures thattessen
isn't dependent on the subtle differences between GNU, BSD, and busybox coreutils. -
the code is linted using shellcheck and formatted using shfmt. I've also tried to ensure that
tessen
doesn't leak any sensitive data. Please raise an issue or a pull request if you can make tessen more minimalistic or secure.
- bash
- pass
- a wayland native dmenu-like backend such as bemenu, fuzzel, rofi, wofi
- wtype (optional, if you want to auto-type data)
- wl-clipboard or wl-clipboard-rs (optional, if you want to copy data)
- libnotify (optional, to send notifications about copied data)
- pass-otp (optional, to generate OTP)
- xdg-utils (optional, to open URLs)
- scdoc (optional, to build the man page)
tessen
is available in the Arch User Repository.
git clone https://github.com/ayushnix/tessen.git
cd tessen
sudo make install
You can also do doas make install
if you're using doas,
which you probably should.
wget https://github.com/ayushnix/tessen/releases/download/v1.3.1/tessen-1.3.1.tar.gz
tar xvzf tessen-1.3.1.tar.gz
cd tessen-1.3.1
sudo make install
or, you know, doas make install
.
- autotype or copy (or both at the same time!) data, including all valid key-value pairs, in pass
- generate OTPs using pass-otp
- open URLs
- use custom values for
user
,password
,url
,autotype
keys - use custom autotype operations
- use custom delay time for autotype
Please read the man page for more information.
The reason why tessen
offers flexibility between autotyping and copying data is because autotyping
may not always work accurately. There can be several reasons for this.
One of the reasons when autotype doesn't work is when a web page doesn't follow the standard
expectation of having a username and password text field one after the other and links are inserted
between them. A good example is Discourse forums. In such cases, autotyping can make a real mess.
This is why tessen
also provides an option to define custom autotype operations.
tessen
uses wtype for autotyping and it seems to work fine on
Firefox. You'll need at least version v0.4, or
later, of wtype for autotyping to work on Chromium. I haven't tested any other web browsers.
Here you go.
Because obvious names like pass-fzf and pass-clip are already taken by other projects? Also, for some reason, the way how bemenu and fuzzel's UI instantly opens up and displays relevant information reminded me of Japanese hand fans. I guess I was thinking of some anime while coming up with this name.
Please see this file.