submitted 2 years ago* (last edited 2 years ago) by to c/linux@lemmy.ml
 

So a few months back I asked about you guys os in c/asklemmy, so this time I wanna ask about your desktops you use on this same account.
(I use kde but plan to move to cinnamon I find kde buggy and gnome tracker3 randomly broke for no reason + themeing so yh idk if these happened to anybody)

you are viewing a single comment's thread
view the rest of the comments
[–] 10 points 2 years ago* (last edited 2 years ago)

I'm still on i3 as it's been convenient, but this:

this has all become very specialized over the past decade

resonates. I keep incrementally adding personal tweaks and hotkeys to my setup, and I have all my dotfiles in a repo so it's persistent across installations.

One example was I made my headphone button pause/play videos with i3's config:

bindsym XF86AudioPlay exec playerctl play-pause

But then I adopted a script to toggle mic mute on work Zoom meetings, so I combined it with the above - if I'm in a meeting it toggles mute, otherwise it play-pauses any current video. The script, for now:

#!/bin/bash
#
# Handler script for hitting mute on the headphone.
#

CURRENT_WINDOW=$(xdotool getwindowfocus)

# convoluted command to find the intersection of two searches
ZOOM_WINDOW=$(comm -12 \
  <(xdotool search --name  'Meeting' | sort) \
  <(xdotool search --class 'zoom'    | sort))

if [[ -n "$ZOOM_WINDOW" ]]; then
    # if zoom is active, toggle mic mute
    xdotool windowactivate --sync ${ZOOM_WINDOW}
    xdotool key --clearmodifiers "alt+a"
    xdotool windowactivate --sync ${CURRENT_WINDOW}
else
    # otherwise do play/pause
    playerctl play-pause # will fail if no player found
fi

and of course I altered the i3 config to launch that script rather than playerctl directly.

[EDIT: Updated script as Zoom updated its window identities]

  • source
  • parent