• 1 Post
  • 30 Comments
Joined 1 year ago
cake
Cake day: June 16th, 2023

help-circle


  • 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.


  • You can set some browser-unrelated program or script as your desktop environment’s default browser, for example I wrote a Zsh script that creates a KDE dialog and asks me to copy the URL to the clipboard.

    I’m not currently at my PC, but if you want it I can paste it in a comment here when I get to it - it shouldn’t be too hard to translate it to Bash, either.

    Other than that? /usr/bin/true is a pretty nice default browser for applications to start without your consent, very minimal and lightweight.












  • If you have two groups, and you accidentally start dragging a window (assuming you use the mouse at all, which I do) Hyprland will drag the entire group and merge it with the one it’s hovering.

    Now, imagine someone coming from Sway, who is used to rearranging individual windows by simply dragging them around without having to explicitly move them out of containers…