Skip to content
/ scripts Public

Collection of my personal shell scripts

Notifications You must be signed in to change notification settings

roosta/scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scripts

These are utility scripts I use on my systems that isn't a package, or is simple enough to warrant a script file. These files are in flux, due to changing requirements and environments.

Going forward most of these scripts target Wayland, Xorg scripts kept here for backward compatibility so I can launch an i3 session for whatever reason. For a full list of phased out scripts checkout the deprecated branch.

Branches

Branch Description
main Most current up to date scripts I use on the daily.
deprecated Deprecated scripts not in use

Script descriptions

Short descriptions for each script, not always up to date. Attribution where possible.

Power scripts

Scripts used in custom power menus, mostly using systemctl, but also uses zenity as a confirm dialog, cause I sometimes hit the wrong menu item.

Rofi Action Menu

A Rofi menu with common actions I used to script or save as cmd one liners.

When transitioning to Wayland, several desktop related tools stopped working, like flameshot, or gpick. So I needed some alternatives for Wayland. I set it up as a Rofi menu with generic scripts, so that it can be swapped out on need.

Using with you could put something like this in your WM/compositor config:

bindsym $mod+grave exec rofi -show menu -modes "menu:~/scripts/rofi-menu.sh" -show-icons

Node script to grab bookmarks from chrome/firefox in a folder on the toolbar called capture. Converts the bookmarks to markdown links.

Script to simplify opening and mounting dm-crypt encrypted partitions. Really not terribly useful I just kept forgetting how to do it, so I wrote this.

It is used like so:

./crypthelper.sh open /dev/sdh1 my-encrypted-device-name ## gets mounted in ~/mnt/[name]
./crypthelper.sh close my-encrypted-device-name

WIP script to flush credentials and secrets.

See which files in a git repo history takes up the most space. Useful if pruning assets or similar from a repo.

Source: https://stackoverflow.com/questions/13403069/how-to-find-out-which-files-take-up-the-most-space-in-git-repo

List all IOMMU groups for system. Used this when setting up PCI passthrough to a virtual machine. More info here.

DEPECATED: Xorg is getting phased out for wayland, kept for backward compatibility temporarily

Echo keyboard layout code/caps lock and formatting for polybar

I like my indicator to have a red background on Norwegian layout and caps-lock since it always trips me up when this is activated. Only works for Norwegian and US layouts. Could easily be modified though.

How to use: In polybar setup a module using IPC:

[module/keyboard-layout]
type = custom/ipc
format-foreground = ${colors.brightwhite}
format = <output>
hook-0 = ~/scripts/keyboard-layout.sh
initial = 1

Then in i3 setup something like this:

bindsym --release Caps_Lock exec polybar-msg hook keyboard-layout 1

This triggers an ipc message when releasing caps lock, which I have setup via xorg to toggle between layouts.

Remember to enable ipc for your bar:

[bar/primary]
enable-ipc = true

Original source: http://unix.stackexchange.com/a/27688

DEPECATED: Xorg is getting phased out for wayland, kept for backward compatibility temporarily

Called on i3 startup to launch whatever polybar layout hostname requires.

exec_always --no-startup-id $HOME/scripts/launch-polybar.sh

I have multiple monitors, so I launch several bars depending on hostname, since the number of screens vary, so does the configs.

Script used to troubleshoot true color in terminal, will print a rainbow and how it looks depends on what colors are supported by your terminal.

More on that here.

Attach to an existing session, or create a new. Useful if you want tmux to always be started with terminal emulator. Source either in shell rc file, or in window manager on terminal emulator startup. Believe I got from here.

I run this manually to start a default tmux session layout. Check for existing named session, attach, or create a new named session called main. Opted for this solution rather than using a session manager, even though there are several nice ones.

Use libnotify to notify when a tmux window receives a bell. Used with tmux-update-window.sh.

Example:

set-hook -g alert-silence 'run ". ~/utils/tmux-notify.sh; return 0"'

Starts a new session called ssh that launches ngrok, I use this sometimes if I need to access a computer over ssh that doesn't have a static ip.

Takes TCP PORT as argument to ngrok.

Create an update window if main session exist. Set this window to monitor silence. When I start an update, and then do something else I'd like to be alerted on silence since that indicates that its either finished or requires input.

Extract rar archives on torrent completion, used in transmission

  • TODO: Fix for wayland

Toggles touchpad on or off.

Used in i3wm config like so:

bindsym XF86TouchpadToggle exec --no-startup-id ~/utils/touchpad-toggle.sh

DEPECATED: Xorg is getting phased out for wayland, kept for backward compatibility temporarily.

Will output formatted text for Polybar, checking Arch Linux pacman updates, as well as AUR updates.

Requirements:

Uses entr to watch for changes in my Waybar config files, and will restart Waybar on save. I use this when I develop themes and customization, you can pass -d to open a GTK debugger window as well, to get CSS selectors used for styling Waybar.

Requirements:

  • swaymsg
  • jq
  • slurp
  • awk

Works similarly to xprop in xorg. Running this will start a window selection, and output the relevant node from the Sway tree.

About

Collection of my personal shell scripts

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published