summaryrefslogtreecommitdiff
path: root/tessen
AgeCommit message (Collapse)Author
2023-03-23release: bump version to 2.2.0v2.2.0Ayush Agarwal
2023-03-22ci: fix shfmt errorAyush Agarwal
2023-03-21feat: map exit codes to OTP autotype and copyAyush Agarwal
2023-03-21style: declare _TSN_OTP explicitlyAyush Agarwal
2023-03-21feat: look for a default config in XDG_CONFIG_DIRSAyush Agarwal
2023-03-20feat: add support for yofi dmenu backendAyush Agarwal
2023-03-20feat: use a custom config file for fuzzelAyush Agarwal
fuzzel started supporting configuration files in its version 1.8.0 release. https://codeberg.org/dnkl/fuzzel/releases/tag/1.8.0 This was a much awaited release because fuzzel is now the default backend for tessen. It fulfills every purpose that tessen wants to support and doesn't depend on either GTK or Qt.
2023-03-19refactor: use auto_type procedureAyush Agarwal
2023-03-19chore: don't reveal selected file nameAyush Agarwal
2023-03-19refactor: use gopass ls -f instead of clusterfuckAyush Agarwal
For some reason (probably because the gopass CLI is unfriendly to scripts), I decided against using `gopass config` and `gopass ls -f` and came up with a clusterfuck of indexed and associative arrays to deal with gopass mounts. This isn't needed and `gopass ls -f` should be sufficient to get what we want.
2023-03-19style: global vars should be uppercaseAyush Agarwal
I made global variables lower case because they could possibly conflict with environment variables but it's hard to differentiate them from local variables when writing and reviewing source code. This convention makes global variables upper case but prefixes them with an underscore. This makes them easy to differentiate while avoiding the possibility of collisions with environment variables.
2023-03-18chore: remove redundant commentsAyush Agarwal
2023-03-18feat: implement custom keyboard shortcutsAyush Agarwal
This feature was requested in https://github.com/ayushnix/tessen/issues/30 and https://github.com/ayushnix/tessen/issues/32 This feature is inspired from rofi-pass. However, rofi-pass implemented this feature only for rofi by using its command line flags. Since tessen intends to work with multiple dmenu scripts, I've mapped the actions to exit codes instead. This would allow users to map exit codes greater than 10 to whatever keybindings they prefer.
2023-03-18refactor: release version should be a local varAyush Agarwal
2023-03-18chore: remove copyright year and update email IDAyush Agarwal
2022-12-29fix: copy action for new gopass config format (#37)Sanoob Pattanath
2022-12-22release: bump version to 2.1.3, update CHANGELOGv2.1.3Ayush Agarwal
2022-12-22chore: remove redundant copyright yearAyush Agarwal
There's apparently no need to update copyright years. The Linux Foundation doesn't even recommend writing years at all. https://archive.is/jxhsX https://archive.is/LyEX3
2022-12-22fix: parse new gopass config outputSanoob Pattanath
* Update gopass config for version 1.15+ Gopass 1.15+ uses gitconfig format, so fixes the parser for it. * Remove debug lines
2022-08-05license: update copyright year in license headerAyush Agarwal
2022-08-05feat: add support for tofi as a dmenu backendAyush Agarwal
https://github.com/philj56/tofi updated the help menu to demote rofi and promote fuzzel
2022-08-05chore: update git forge links in help menuAyush Agarwal
2022-07-08license: fix SPDX license identifierAyush Agarwal
tessen is licensed under GPLv2 **only**
2022-04-26refactor: don't assume default valuesAyush Agarwal
As discussed in #28, I won't make assumptions for users. tessen is not a GNOME app. I've left `-l 10` and `-n` as the bare minimum sane defaults for tessen. However, if a user doesn't like them, they can export `BEMENU_OPTS` and use whatever they want. Alternatively, switching to a "better" dmenu program like fuzzel is another option.
2022-04-25fix: use a generic message in notificationAyush Agarwal
Although the idea of specifying the selected field name in the notification sounds nice, it might be viewed as unnecessary leakage of sensitive metadata. This should fix #27.
2022-04-02release: bump version to 2.1.2, update CHANGELOGv2.1.2Ayush Agarwal
fixed the heading levels in CHANGELOG.md as well
2022-04-02fix: parse action from config fileAyush Agarwal
this should fix #25
2022-03-21release: bump version to 2.1.1, update CHANGELOGv2.1.1Ayush Agarwal
2022-03-21fix: prefix the mount name to the list of filesAyush Agarwal
shoud've caught this bug earlier, this should fix #24
2022-03-21chore: remove unnecessary commentsAyush Agarwal
I guess I went a bit overboard and wrote comments which aren't really necessary. If I recall correctly, I decided not to use `gopass config path` and `gopass ls -f` because `gopass` doesn't behave as expected in unusual situations and tries to be human friendly, not script friendly but I'm not sure. For now, this mess works well.
2022-03-08release: bump the version of tessen to 2.1.0v2.1.0Ayush Agarwal
add changes in README.md, CHANGELOG.md, and the tessen version in `tessen` itself
2022-03-08fix: set the cache file to `/dev/null`Ayush Agarwal
Instead of setting the cache file to `/dev/null`, this silly mistake ended up creating a directory with a name of literal whitespace containing a dir called `dev` and a file inside `dev` called `null`
2022-03-05refactor: `tessen -v` prints just the version numAyush Agarwal
2022-03-05feat: consider `dmenu` as a valid dmenu backendAyush Agarwal
this feature was implemented after I came across this commit dnkl/fuzzel/commit/ffec2bc2ef7e5ca1398ab7ed7f134bd769706dcd apparently, dmenu backends like fuzzel, rofi, and wofi can function in dmenu backend if `argv[0]==dmenu`, similar to how busybox works in distributions like Alpine Linux and OpenWrt
2022-03-05release: change version to unreleased devAyush Agarwal
this was motivated by this commit swaywm/sway/commit/eaeb173a4b9b22d8ba1b35d3d863f0dcb8595341
2022-03-02release: bump version to 2.0.2v2.0.2Ayush Agarwal
docs: updated CHANGELOG.md
2022-03-02fix: if sleep is terminated, terminate the pgrpAyush Agarwal
This embarrasing bug escaped my notice until #21 was raised and I tried to make the clipboard clearing behavior saner. `kill` is a bash built-in and `kill 0` sends the default SIGTERM signal to all processes in the same process group (PGID). If `sleep $tsn_cliptime` is killed for any reason, `kill 0` should end up killing `wl-copy` as well. This can be confirmed by manually sending a SIGTERM to the sleep process.
2022-03-02fix: don't clear the clipboard in trap functionAyush Agarwal
there's no need to aggressively clear the clipboard in the trap function and there's also no need to call `_clear` in `_die` because `exit 1` should call `_clear` because of the trap
2022-03-01release: bump version to 2.0.1v2.0.1Ayush Agarwal
2022-03-01fix: don't clear clipboard when autotypingAyush Agarwal
fixes #21
2022-02-24refactor: don't use `$0`Ayush Agarwal
2022-02-24fix: don't check the size of the selected fileAyush Agarwal
2022-02-18fix: set default values after argparse and configAyush Agarwal
2022-02-18fix: parse the config file after argparseAyush Agarwal
if rofi or wofi are chosen as the dmenu backends, add the corresponding dmenu backend options using tmp_rofi_opts and tmp_wofi_opts
2022-02-18fix: don't parse the config file separatelyAyush Agarwal
2022-02-18fix: parse config file options conditionallyAyush Agarwal
the pass and dmenu backends mentioned in the config file will be accepted only if they're not already set by the argparse menu which will be modified to run before the config file is parsed
2022-02-18refactor: make the config file regex more strictAyush Agarwal
this should prevent expansion of $PS escape sequences like \u for username wildcard characters have been removed as well
2022-02-18fix: don't spam the terminal when using fuzzelAyush Agarwal
when using fuzzel, it spams stdout with system information which isn't needed or desired for tessen
2022-02-18fix: rofi and wofi need individual variablesAyush Agarwal
since rofi and wofi support configuring themselves with config files, which is the sensible thing to do, we'll need to store their config option in separate variables to avoid conflict scenarios with the options of other dmenu backends rather than using `eval`, I've used parameter transformations in bash to expand possible variables provided in the config file. however, to avoid expanding and accepting arbitrary input, i'll use a regex to filter unwanted data
2022-02-18fix: don't expand dmenu options as a single stringAyush Agarwal