My scripts for startup, dmenu, and the command line
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
= 585652be86 Move definitions to searching and use delete instead of substitute 3 år sedan
.gitignore Create utility functions for managing backups 4 år sedan
README.md Move definitions to searching and use delete instead of substitute 3 år sedan
backup :q 4 år sedan
bar.sh :q 4 år sedan
cvpn statusbar and dwm improvements 4 år sedan
dwm-start Add more terminal applications 3 år sedan
dwm-statusbar Add chooser and update readme 3 år sedan
edit-ini Added INI editor 3 år sedan
ewrap Move launcher and actions to prompt script 3 år sedan
lsix :q 4 år sedan
mru Move definitions to searching and use delete instead of substitute 3 år sedan
pages Add mru code and reformat readme 3 år sedan
pinentry Finish mru insert and init 3 år sedan
prompt Move definitions to searching and use delete instead of substitute 3 år sedan
screenshot.sh :q 4 år sedan
setup-xbindkeys Make app launchers 3 år sedan
store Move definitions to searching and use delete instead of substitute 3 år sedan
syn.sh statusbar and dwm improvements 4 år sedan
text-opener Finish mru insert and init 3 år sedan
util util flag changes 4 år sedan
util-audio statusbar and dwm improvements 4 år sedan

README.md

Macros

This is a collection of scripts I use to make managing files and processes easier. Use it to automagically select and run terminal applications, send signals to daemons, execute arbitrary commands, search the web, grab passwords from a password manager, and more.

Installing dependencies

sudo apt install pass enscript dunst xclip scrot mpc mpd ghostscript zathura suckless-tools youtube-dl

All of them are optional except suckless-tools. Many of the features aren’t interdependent and are made up of 1 or 2 functions.

  • dmenu is for the prompts. It can be changed to rofi or some other solution
  • scrot and xclip for screenshots
  • all scripts assume your prefered terminal is st
  • mpc is for media controls
  • zathura, ghostscript, and enscript are an aesthetic option for viewing man pages and command outputs as document files rather than terminal output

prompt

The central script that gives the rest of the features interactivity. Read the source code for more details.

Usage

prompt [ COMMAND ]

COMMANDS

  • launch
  • action
  • cmd
  • cmd_clip
  • search
  • username
  • password
  • other_password
  • edit_password
  • open
  • edit

most functionality is accessible from launch and action only

Notes

  • The download action uses youtube-dl to download whatever is in the keyboard
  • to ~/Downloads/tmp
  • You may want to bind Mod4+a to launch action and Mod4+g to prompt launch
  • Some prompts like search package will infer with their default operation when the string entered is an invalid selection

mru

Used for storing file paths and their modification times in ~/.cache/mru/. When a file is opened with prompt open, it moves to the top of the home list mru [COMMAND] [CACHE]

COMMMAND

  • init
  • update
  • output
  • list
  • insert [ FILE ]

Notes

  • by default, it ignores hidden directories
  • If no cache is specified, it assumes ‘home’
  • more cache pathes can be added by editing the cache_info variable in the source code. For last load times you may want to seperate different tasks or types of files into their own cache, i.e projects, videos, config files.
  • If if the file passed to mru insert does not exist, it is removed from the cache
  • You may want to run mru update at startup to add new files and cleanup hidden files in .cache/mru

Initializing

mru init

pages

pages is a command for viewing /tmp/pages-{number} files with less or zathura. The files are the result of prompt commands like prompt search -> Go page or can be created from your own tools. I use it for viewing local documentation quickly.

Usage

pages [ pager | pdf | browser | send ] [ NAME ]

send will send stdin to the named page with the naming convention /tmp/pages-{NAME}. All other commands attempt to open the named page if it exists.

Notes

  • Page names don’t have to be numbers, here is an example vim Ex mode command I use to convert a markdown file to html and open it in a browser: :!markdown % | pages send 1.html | pages browser 1.html This could then be given it’s own keybinding.

TODO

  • Finish vpn and networking stuff after ini script is finished, then make sure
  • maybe add an mru ranking alrogithm in the future printf in case goes to stderror which is shown in bar
  • Add ddg search prompt
  • setup pass
  • variables to the script to make assumed paths easier to change
  • show script for man pages, pkg info, and other things
  • command to clipboard
  • emoji select to clipboard
  • system of additional clipboards using /tmp files
  • use attach-session -t . -c /dir for selecting multiplexer directory
  • ddg fill options should be taken from bookmarks or history
  • Make password prompts green
  • Figure out range selecting for parsing passwords
  • Figure out using dmenu instead of gnome key prompt
  • Consider entr in dwm-start for watching files
  • make dmenu load time more like fzf?
  • change xdg text/plain opener to use vim and st if not in terminal
  • finish editing text-opener change prompt icon to nerd icon