Hacker News new | ask | show | jobs
by presto8 972 days ago
I do something similar, but I use a bash script with rofi to display a menu of available profiles. I then bind a hotkey (Super-Shift-P for Profiles) that launches the script.

I use Firefox for my daily driver, but for profiles I use librewolf. This makes it easier to keep things separated when using the window manager to switch between windows of the same class (which I bind to Super-`).

#!/usr/bin/env bash

  BROWSER="librewolf"
  
  typeset -A menu
  # empty value means value is the same as the key
  menu["personal"]=""
  menu["banking"]=""
  
  rofi_args=(
      -p "$BROWSER profile"
      -dmenu
      -i         # case-insensitive
      -font "Hack 20"
  )
  
  if selection=$(printf "%s\n" "${!menu[@]}" | sort -u | rofi "${rofi_args[@]}"); then
      profile=${menu[$selection]}
      profile=${profile:-$selection}
      nohup "$BROWSER" -P "$profile" &>/dev/null &
  fi