aesophor / wmderland

🌳 X11 tiling window manager using space partitioning trees
https://www.reddit.com/r/unixporn/comments/fb8ve1/wmderland_104_time_to_move_on/
MIT License
409 stars 15 forks source link

Keyboard shortcuts not working #59

Open arcolinuxz opened 2 years ago

arcolinuxz commented 2 years ago

Os: ArcoLinux (based on Arch Linux) package in use : https://aur.archlinux.org/packages/wmderland-git 1.0.4-2 Rebuild it also from the github. Issue : none of the keyboard shortcuts are working Is there a package we need to install to make the wmderland keybindings work?

aesophor commented 2 years ago

Thanks for trying out this wm!

It should work out of the box (no extra packages needed). Here's a few things I can come up with:

arcolinuxz commented 2 years ago

The result is actually quite beautiful but none of the keybindings work so we are kind of stuck in our development wmderland I have been trying different things. Removed the $Cmd to the actual key Mod4 or super key or windows key. We can install sxhkd and its config then the keybindings will work but none of the keybindings in the config file like quit an application or change the tag or move apps to a tag...

wmderland2

arcolinuxz commented 2 years ago

What linux distrobution are you using to develop? I will install that one and test there.

aesophor commented 2 years ago

@arcolinuxz That's so strange... I'm out of ideas.

I developed it on gentoo and arch linux. These two distributions should work. A few days ago I installed them on a PC at my laboratory which runs Arch linux, and the keybindings did work.

Edit: I'm currently running arch linux (I don't use gentoo anymore)

aesophor commented 2 years ago

Also installed it on VMWare (host: macOS, guest: Arch linux) and the keybindings work.

arcolinuxz commented 2 years ago

do you mind sending a package list?

aesophor commented 2 years ago

Sure!

> uname -a
Linux valkyrie 5.14.3-arch1-1 #1 SMP PREEMPT Sun, 12 Sep 2021 20:51:34 +0000 x86_64 GNU/Linux
> pacman -Qe
aarch64-linux-gnu-gcc 11.2.0-1
aarch64-linux-gnu-gdb 10.2-1
alsa-lib 1.2.5.1-3
alsa-utils 1.2.5.1-1
ark 21.08.1-1
autoconf 2.71-1
automake 1.16.4-1
base 2-2
bat 0.18.3-1
bc 1.07.1-4
binutils 2.36.1-3
bison 3.7.6-1
breeze-gtk 5.22.5-1
clang 12.0.1-1
consolas-font 1.2-2
cpupower 5.14-1
crypto++ 8.5.0-2
dhcpcd 9.4.0-1
diff-so-fancy 1.4.3-1
discord 0.0.15-1
dkms 2.8.6-2
docker 1:20.10.8-1
docker-compose 1.29.2-1
dolphin 21.08.1-1
dosfstools 4.2-1
ds4drv 0.5.1-3
dunst 1.6.1-2
dzen2 0.9.5.14.488ab66-2
easytag 2.4.3-4
fakeroot 1.25.3-2
fcitx5 5.0.8-1
fcitx5-chinese-addons 5.0.6-2
fcitx5-configtool 5.0.5-1
fcitx5-gtk 5.0.7-1
fcitx5-nord 0.0.0.20210116-1
fcitx5-pinyin-zhwiki 1:0.2.3.20210911-1
feh 3.7.1-1
file 5.40-5
findutils 4.8.0-1
firefox 92.0-1
flex 2.6.4-3
gawk 5.1.0-1
gcc 11.1.0-1
gettext 0.21-1
git 2.33.0-1
gnome-settings-daemon 40.0.1-2
google-chrome 92.0.4515.107-1
grep 3.6-1
groff 1.22.4-6
gsettings-qt 0.1.20170110-3
gtest 1.11.0-1
gzip 1.11-1
iaito 5.3.1-1
imagemagick 7.1.0.7-1
kcolorchooser 21.08.1-1
kde-gtk-config 5.22.5-1
kvantum-qt5 0.20.1-1
kvantum-theme-sweet-git r196.5a95ad4-1
libertinus-font 7.040-1
libtool 2.4.6+42+gb88cebd5-16
libva 2.12.0-1
libva-intel-driver 2.4.1-1
lief 0.11.4-1
linux 5.14.3.arch1-1
linux-firmware 20210818.c46b8c3-1
linux-headers 5.14.3.arch1-1
llvm 12.0.1-4
lvm2 2.03.13-1
m4 1.4.19-1
make 4.3-3
man-db 2.9.4-2
man-pages 5.13-1
mesa 21.2.1-1
mpc 0.33-3
mpd 0.22.11-1
mpv 1:0.33.1-2
nano 5.8-1
nasm 2.15.05-1
ncmpcpp 0.9.2-3
ncurses5-compat-libs 6.2-1
neovim 0.5.0-1
nodejs-hexo 5.4.0-1
noto-fonts-emoji 20210625-1
openbsd-netcat 1.217_2-1
openssh 8.7p1-1
p7zip 1:17.04-3
pacman 6.0.1-1
papirus-icon-theme 20210901-1
patch 2.7.6-8
pavucontrol 1:5.0-1
picom 8.2-1
pkgconf 1.7.3-1
plasma-desktop 5.22.5-1
plasma-nm 5.22.5-1
polybar 3.5.6-1
powertop 2.14-1
pulseaudio 15.0-1
pwndbg 2021.06.22-1
python-pwntools 4.6.0-1
python-pynvim 0.4.3-1
python2 2.7.18-4
python2-pip 20.3.4-1
qemu-arch-extra 6.1.0-1
qt5-tools 5.15.2+kde+r17-3
repo 2.16.4-1
rofi 1.6.1-1
rsync 3.2.3-4
rxvt-unicode 9.26-2
scrot 1.6-2
sed 4.8-1
siji-git r23.c691f20-2
simplescreenrecorder 0.4.3-1
socat 1.7.4.1-1
steam 1.0.0.72-1
stow 2.3.1-3
subversion 1.14.1-3
sudo 1.9.7.p2-1
sxiv 26-1
syslinux 6.04.pre2.r11.gbf6db5b4-3
teams 1.4.00.13653-1
telegram-desktop 3.0.1-1
terminus-font 4.49.1-2
tex-gyre-fonts 2.501-2
texinfo 6.8-2
thermald 2.4.6-1
tmux 3.2_a-1
tree 1.8.0-2
triton-git 0.8.1.r237.g45bc9f63-1
ttc-iosevka 10.2.0-1
ttf-liberation 2.1.4-1
unarchiver 1.10.7-4
unrar 1:6.0.7-1
unzip 6.0-14
uw-ttyp0-font 1.3-6
vim 8.2.3412-1
virtualbox 6.1.26-1
wget 1.21.2-1
which 2.21-5
wmderland-git 1.0.4-2
wqy-bitmapfont 1.0.0RC1-5
wqy-zenhei 0.9.45-9
xclip 0.13-3
xdg-desktop-portal 1.8.1-1
xdg-desktop-portal-kde 5.22.5-1
xf86-video-intel 1:2.99.917+916+g31486f40-1
xorg-bdftopcf 1.1-2
xorg-iceauth 1.0.8-2
xorg-mkfontscale 1.2.1-2
xorg-server 1.20.13-2
xorg-sessreg 1.1.2-2
xorg-setxkbmap 1.3.2-2
xorg-smproxy 1.0.6-3
xorg-x11perf 1.6.1-2
xorg-xauth 1.1-2
xorg-xbacklight 1.2.3-2
xorg-xcmsdb 1.0.5-3
xorg-xcursorgen 1.0.7-2
xorg-xdpyinfo 1.3.2-4
xorg-xdriinfo 1.0.6-2
xorg-xev 1.2.4-1
xorg-xgamma 1.0.6-3
xorg-xhost 1.0.8-2
xorg-xinit 1.4.1-3
xorg-xinput 1.6.3-2
xorg-xkbcomp 1.4.5-1
xorg-xkbevd 1.1.4-3
xorg-xkbutils 1.0.4-4
xorg-xkill 1.0.5-2
xorg-xlsatoms 1.1.3-2
xorg-xlsclients 1.1.4-2
xorg-xmodmap 1.0.10-2
xorg-xpr 1.0.5-2
xorg-xprop 1.2.5-1
xorg-xrandr 1.5.1-2
xorg-xrdb 1.2.1-1
xorg-xrefresh 1.0.6-2
xorg-xset 1.2.4-2
xorg-xsetroot 1.1.2-2
xorg-xvinfo 1.1.4-2
xorg-xwd 1.0.8-1
xorg-xwininfo 1.1.5-2
xorg-xwud 1.0.5-2
yay 10.3.0-1
zip 3.0-9
zsh 5.8-1
aesophor commented 2 years ago

Hi there,

@arcolinuxz is there any update regarding this issue?

arcolinuxz commented 2 years ago

I tried again this morning. I set my keyboard to uk instead of be. I had not tried that yet but that was not the solution.

The code we are using is here : https://github.com/arcolinux/arcolinux-wmderland/tree/master/etc/skel/.config/wmderland

The version of wmderland we are using is this one https://aur.archlinux.org/packages/wmderland-git/

It seems that I can kill a window just fine if I launch wmderlandc kill in a terminal but if I try to do the same via the config with bindsym $Mod+q kill or binsym $Mode+q wmderlandc kill it will not kill the window instead it will type the letter if a terminal is open for example.

I have stopped the development of this desktop until we have figured this out.

arcolinuxz commented 2 years ago

Tried to overcome my keybinding issue today. I was wondering if wmderland provides any support regarding logging. Can we see somewhere what is wrong - errors that we can check

aesophor commented 2 years ago

@arcolinuxz I'm so glad that it's resolved!

Yes, wmderland provides logging support. To use it, we need a "DEBUG" build:

  1. clone this repo
  2. make sure google/glog is installed (it's a logging library used by wmderland)
  3. in build.sh, please change build_type=MINSIZEREL to build_type=DEBUG
  4. run ./build.sh -i to build and reinstall wmderland

At this point, we can restart wmderland and then it should start writing logs into /tmp. This was the method I personally use during development.

I think the config parser should log some error messages when it encounters errors. Just in case something isn't logged, we probably need to inspect src/Config.cc and add some extra lines to log the information we're interested in.

Here's a simple example to log something in wmderland:

WM_LOG(INFO, "keycode: " << keycode);
arcolinuxz commented 2 years ago

keycode Seems keycode was not accepted.

The other log did not show me the errors.

Capital K same result

arcolinuxz commented 2 years ago

It needed to be KeyCode - capital C some error in log file msg

I can install it but did not reveal anything yet in the log file in /tmp

Current content

log

arcolinuxz commented 2 years ago

I am still trying to find a solution to my problem.

I think you were under the impression it was solved...

It is not... I am out of ideas.

erikdubois commented 2 years ago

I have created a few of my missing keybindings

killing an application opening thunar reloading wmderland

I have bypassed the config from wmderland and went to sxhkd to launch apps or kill apps

It feels somehow not normal.

Next challenge is moving to workspaces or moving an app to a workspace I can not understand why these keybinding are giving me so much work

I tried to explain all of this in a hidden video

https://youtu.be/RsJ-SyCXZeg

aesophor commented 2 years ago

@erikdubois

Thank you for the detailed video! So currently $Mod+Return is working, but $Mod+Shift+Return isn't?

I see you're running it within virtualbox, can you please export the VM as an .ova file and upload it? If I can download and run it locally, maybe I can try to figure out what's going on.

Thanks!

arcolinuxz commented 2 years ago

So currently $Mod+Return is working, but $Mod+Shift+Return isn't?

Both are working. Via sxhkd. Not via config of wmderland.

Now I need to be able to move to workspaces or move applications to workspaces

I might have someone who can help me... I might get his code.

If there is no solution I will export an .ova file.

Shivasanta commented 2 years ago

I'm having the same issue, I'm on Artix (Arch without systemd) and using the wmderland-git package from the AUR. I use a qwerty keyboard, this is the output from xev when I hit Super-q:

KeyPress event, serial 28, synthetic NO, window 0xc00001,
      root 0x1e1, subw 0x0, time 51059785, (256,506), root:(1224,519),
      state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
      XLookupString gives 0 bytes: 
      XmbLookupString gives 0 bytes: 
      XFilterEvent returns: False

 KeyPress event, serial 28, synthetic NO, window 0xc00001,
      root 0x1e1, subw 0x0, time 51059961, (256,506), root:(1224,519),
      state 0x50, keycode 24 (keysym 0x71, q), same_screen YES,
      XLookupString gives 1 bytes: (71) "q"
      XmbLookupString gives 1 bytes: (71) "q"
      XFilterEvent returns: False

 KeyRelease event, serial 28, synthetic NO, window 0xc00001,
      root 0x1e1, subw 0x0, time 51060049, (256,506), root:(1224,519),
      state 0x50, keycode 24 (keysym 0x71, q), same_screen YES,
      XLookupString gives 1 bytes: (71) "q"
      XFilterEvent returns: False

 KeyRelease event, serial 28, synthetic NO, window 0xc00001,
      root 0x1e1, subw 0x0, time 51060169, (256,506), root:(1224,519),
      state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
      XLookupString gives 0 bytes: 
      XFilterEvent returns: False

Setting $Mod to Mod1 instead of Mod4 doesn't change anything, none of the shortcuts work.

arcolinuxz commented 2 years ago

I will make a seperate post about the keybindings that are still open.