You are not logged in.

#1 2022-05-24 01:13:39

moet
Member
Registered: 2022-05-24
Posts: 4

[SOLVED] Having to click to "confirm" sxhkd hotkeys in bspwm

So bspwm or sxhkd (I can't figure out), have made to where when I'm on a empty workspace and try to run any sxhkd hotkey, my cursor turns into a plus symbol and I have to click for the hotkey's assigned command to run.

I've tried replacing my bspwmrc and sxhkdrc to the defaults, no luck.
I've tried uninstalling both bspwm and sxhkd, and installing bspwm-git and sxhkd-git, and still no luck.

Example of what my cursor is doing:
bspwm glitch

Last edited by moet (2022-05-24 03:13:23)

Offline

#2 2022-05-24 02:07:16

jonno2002
Member
Registered: 2016-11-21
Posts: 684

Re: [SOLVED] Having to click to "confirm" sxhkd hotkeys in bspwm

run through this:
https://wiki.archlinux.org/title/Bspwm#Troubleshooting

in particular

Make sure ~/.config/bspwm/bspwmrc is executable.

Offline

#3 2022-05-24 02:32:12

moet
Member
Registered: 2022-05-24
Posts: 4

Re: [SOLVED] Having to click to "confirm" sxhkd hotkeys in bspwm

So, I found the root of the problem, it is due to that I use fish as my default shell.
Changing my default shell to bash fixes the problem.

But obviously I'm going to try to use fish, I tried doing these both in my term emulator, and in my config.fish

set -U SXHKD_SHELL /usr/bin/bash
# and
set -U SXHKD_SHELL sh

But still, no luck.

I've also tried backslashing the line in my sxhkdrc

bspc {desktop -f,node -d} '^{1-9,10}'
# to
bspc {desktop -f,node -d} '\^{1-9,10}'

But obviously, this breaks switching windows at all (probably due to it being in quotes?)

Last edited by moet (2022-05-24 02:52:58)

Offline

#4 2022-05-24 03:12:37

moet
Member
Registered: 2022-05-24
Posts: 4

Re: [SOLVED] Having to click to "confirm" sxhkd hotkeys in bspwm

Ok, I fixed it.

What I did came from this section on the arch wiki page for fish,

Basically change default shell to bash, then plop this into the .bashrc, wiki explains what this does

if [[ $(ps --no-header --pid=$PPID --format=comm) != "fish" && -z ${BASH_EXECUTION_STRING} ]]
then
	SHELL=/usr/bin/fish
	exec fish
fi

(added SHELL=/usr/bin/fish for things like sysinfo fetchers to recognize fish as your shell)

Offline

Board footer

Powered by FluxBB