SkillAgentSearch skills...

Bin

Useful scripts and configs for Linux users

Install / Use

/learn @dmi3/Bin
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Useful scripts for Linux users

See my Fish config for more CLI awesomness

wa

Description

<img src="https://developer.run/pic/wa_full.png"/> <img src="https://developer.run/pic/wa.png"/> <img src="https://developer.run/pic/wa2.png"/>

Using Wolfram Alpha in command line. See blog post for description and more ideas.

Requirements

  • Make sure to configure variables in script
  • Put api key in APPID
  • For VIEWER, you can use text only api and optionaly use terminal that supports images or sudo apt-get install imagemagick to view images.
  • Configure BG and FG variables depending on color scheme

Usage

➤ wa helsinki to dublin plane
2 hours 20 minutes                                                                                           
➤ wa time in dublin
5:37:57 pm GMT; Friday, January 27, 2017
➤ wa 15.36 english money to eur
14.35 euros                                                                                                          
➤ wa days till nov 16
293 days
➤ wa 154Mbit/s to MB/s
19.2 megabytes per second
➤ wa brick red hex
#AB0303 
➤ wa weather in moscow
9 degrees Celsius and cloudy, with light winds✖
➤ wa plot x=y^2
[...draws plot if supported]
➤ # many many more usages... https://www.wolframalpha.com/examples/
<hr/>

volume

Decription

Script to control audio volume from console, hotkeys, e.t.c. Also shows nice Notify OSD buble with current volume value

Requirements

sudo apt-get install pulseaudio notify-osd

Usage

volume (up|down|mute)

$volume without trailing %

kbecho.py p ${volume%?}

<hr/>

vlc-now.sh

Description

Show file or stream currently playing in VLC. Works well with (with xfce4-genmon-plugin). See playerctl -h for another players.

Requirements

  • sudo apt-get install vlc playerctl

Usage

  • vlc-now Includes useful functions
  • `cutExt() {
  • `wrapInBrackets() {
  • `basename() {
  • `urlDecode() {
<hr/>

url-preview-md.py

Decription

Wrapper around webpreview. Takes url, downloads a preview image (or image iself, if url points to image) and returns formatted markdown with page title and description. Useful with clipboard manager. Read more

Requirements

pip install webpreview

Usage

$ url-preview-md.py img_directory url
$ url-preview-md.py ~/img http://developer.run/70
[Markdown Url Preview](http://developer.run/70) Markdown Url Preview in text editor.
![](/home/dmi3/img/2023_09_01_developer.run_url-preview-md.png)
If you have raindrop.io api key, add it as last argument to try it if webpreview finds nothing useful
$ url-preview-md.py ~/img http://developer.run/70 e2b0e47c-8a03-11ef-b1b2-13950b80fc62
<hr/>

tray-unread.sh

<img src="https://developer.run/pic/tray-unread.gif"/>

Decription

Update tray icon depending on script result. Current example shows unread mail count for Evolution mail (for those poor souls who need exchange but don't have web client), but actually it can check and notify about literally anything! Another example shows Git repository status.

On click simulates some keypresses to mark all mail as read.

Read more:

Requirements

  1. sudo apt-get install yad
  2. For Evolution sudo apt-get install sqlite3 wmctrl xdotool

Usage

tray-unread.sh
<hr/>

tray-git-status.sh

Decription

Update tray icon depending if there are changes in Git repository. ⚠ Note that it does not show any icon if repository is in sync Check for new changes every 10 minutes. See also git-sync

See https://stackoverflow.com/a/3278427/18078777

Requirements

  1. sudo apt-get install yad git

Usage

tray-git.sh
<hr/>

translation-insert.sh

Decription

Prompts for text. Then inputs translation. Works in any application.

Requirements

  1. Setup https://github.com/dmi3/bin/blob/master/yandex-translate.sh
  2. sudo apt-get install zenity xsel

Usage

  • Bind script to hotkey in your DE. After input wait couple of seconds for translation to appear.
<hr/>

translate-yandex.sh

Decription

CLI Yandex Translate API ru↔en. Automatically detects language. Translates any language to Russian, and Russian to English.

Usage

yandex-translate.sh cat is a small, typically furry, carnivorous mammal # en → ru
yandex-translate.sh die Hauskatze ist eine Unterart der Wildkatze # de → ru
yandex-translate.sh кот это маленькое, пушистое и очень хитрое млекопитающее # ru → en
<hr/>

translate-selection.sh

Decription

Show popup with translation of selected text. Works in any application.

Requirements

  1. Setup https://github.com/dmi3/bin/blob/master/yandex-translate.sh
  2. sudo apt-get install zenity xsel

Usage

  • Bind script to hotkey in your DE.
  • Select any text. Press hotkey.
<hr/>

top10tracks.sh

Decription

Prints top 10 track of artist

Usage

top10tracks.sh Mick Gordon

<hr/>

tomatych.py

<img src="http://developer.run/pic/tomatych.png"/>

Description

  • Simple Hackable Pomodoro Timer with optional Slack and Habitica integrations.
  • Intended to be hacked and modified to fit your specific vision of how Pomodoro timers should work.
  • Moved to separate repo
<hr/>

todo

Wunderlist CLI for adding todos

Decription

Wrapper for wl for adding todos with more convenient syntax Read More

Instalation

  1. ⚠ Make sure Fish shell > 2.3.0
  2. curl https://raw.githubusercontent.com/dmi3/bin/master/todo --create-dirs -o ~/bin/todo
  3. curl https://raw.githubusercontent.com/dmi3/bin/master/config/fish/completions/todo.fish --create-dirs -o ~/.config/fish/completions/todo.fish
  4. https://developer.wunderlist.com/apps
  5. [CREATE APP] (Put https://wunderlist.com to both APP URL and AUTH CALLBACK URL)
  6. Set enviroment variables in this script ↓ (line 31)
  7. Add more list shortcuts ↓ (line 39)

Usage

 todo buy stuff --life --on next monday
 todo resolve issue --work --star
 todo --work meet customer --on jan 7
<hr/>

timer

Decription

Simple timer with sound and dialog window notification. To remind you to turn stove off :). Replace pc_up.wav to any available audiofile.

Requirements

sudo apt-get install dunst aplay

Usage

timer 6 # i.e. notify after 6 minutes
<hr/>

temp.sh

Decription

Shows CPU, System and GPU temperature

Requirements

sudo apt-get install jq lm-sensors nvidia-smi

Usage

temp

<hr/>

status.sh

Description

Status

CLI web stats dashboard. Visualizes GitHub followers, top GitHub repos and last 500 blog hits with top pages and refferers. Works well in addition to headlines.sh and newsbeuter -x reload -x print-unread 2> /dev/null Read more

Requirements

  • spark (the other spark, not the behemoth one)
  • sudo apt-get install jq

Usage

  • Set URL, GITHUB_ID, PARSE_APP_IDandPARSE_MASTER_KEY` variables
  • status.sh
<hr/>

sssh2

Decription

Like sssh, in addition:

  • hostname parameter of ssh command will appear in title.
    • Useful when calling by nickname from local ~/.ssh/config i.e. ssh server_nickname, and change of server hostname is not an option.
  • If command supports tunneling, display it in title
    • I.e. ssh -L 80:localhost:80 server_nickname will set title user@[80]server_nickname
    • Avoid accidental closing of such tabs
  • Appends some useful aliases to existing ~/.bashrc
  • Preserves command history on multiple sessions

Usage

See sssh

<hr/>

sssh

Decription

Script to change your terminal title to user@host when connecting to ssh and changing it back after exiting. Additionally sets green prompt on remote host. Useful for Keepassx and visual distinction to avoid notorious "wrong window" problem. Also works when connecting Fish → Bash If you want hostname from local ~/.ssh/config fil

Related Skills

View on GitHub
GitHub Stars142
CategoryDevelopment
Updated2mo ago
Forks12

Languages

Shell

Security Score

100/100

Audited on Jan 25, 2026

No findings