is there a way to prevent all the other apps on the system from opening up new tabs/windows in firefox?

    • Sonotsugipaa@lemmy.dbzer0.com
      ·
      edit-2
      2 months ago

      Here it is:

      #!/usr/bin/zsh
      
      nl=$'\n'
      dnl=$'\n\n'
      
      url=$1
      msgcontent=$url; shift
      argi=1
      for arg ($@); do
          argi=$(($argi + 1))
          msgcontent=${msgcontent}${nl}Argument\ ${argi}': '${arg}
      done
      
      title="${0:A}"
      msg="An application attempted to open a web page:${dnl}\"${msgcontent}\"${dnl}Copy the URL to clipboard?"
      
      kdialog --title $title --yesno $msg
      answer=$?
      
      if [[ $answer = 0 ]]; then wl-copy $url; fi
      

      If you want to translate it to Bash, keep in mind that arrays behave differently between the two shells, and syntax like for arg ($@); do would likely misbehave or not work at all.

      Also, there's an issue where some applications do something weird, and the URL seems to be a zero-length argument. I have absolutely no idea what's up with that.