i3 icon indicating copy to clipboard operation
i3 copied to clipboard

Right click on i3bar doesn't send any event anymore in version 4.24

Open edi9999 opened this issue 10 months ago • 1 comments

Welcome

  • [x] Yes, I'm using the latest major release or the current development version. These are the only supported versions.
  • [x] Yes, I've searched similar issues and discussions on GitHub and didn't find any.

Current Behavior

I'm using i3 version 4.24 (2024-11-06)

I've upgraded this morning from ubuntu 22 to ubuntu 24.

I have a script that gets the JSON output of the i3bar that gets as an argument :

{
 "name": "ethernet",
 "instance": "eth0",
 "button": 1,
 "modifiers": ["Shift", "Mod1"],
 "x": 1925,
 "y": 1400,
 "relative_x": 12,
 "relative_y": 8,
 "output_x": 5,
 "output_y": 1400,
 "width": 50,
 "height": 22
} 

For some reason, since the upgrade, only "left clicks", and scroll-up/scroll-down seem to trigger the event, but not "right click" and "middle-click".

My i3bar config looks like this :

bar { status_command bash -c '~/scripts/i3status-wrapper.js top primary 2>>/tmp/i3status-error' font pango:monospace 9 output eDP-1 output LVDS-1 position top tray_output none tray_padding 0 }

Expected Behavior

I would expect right clicks to also trigger an event, in the same way that was done in previous versions.

Reproduction Instructions

Log all events from i3bar and right click on any item, it will not show an event.

i3 version

Binary i3 version:  4.24 (2024-11-06) © 2009 Michael Stapelberg and contributors
(Getting version from running i3, press ctrl-c to abort…)
[KRunning i3 version: 4.24 (2024-11-06) (pid 8361)
Loaded i3 config:
  /home/edgar/.config/i3/config (main) (last modified: Mon 03 Mar 2025 04:58:29 PM CET, 112 seconds ago)

The i3 binary you just called: /usr/bin/i3
The i3 binary you are running: i3

Config file

set $mod Mod4

# To find out key names, the trick is to use : 
# 
# xev
# 
# This way, you will know what to write when you want to bind the "[" key or other special keys

# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 12

# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesn’t scale on retina/hidpi displays.

# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
new_window pixel 1
hide_edge_borders smart

# Use xprop to know the window
default_border pixel 1

# open-terminal
bindsym $mod+Return exec xfce4-terminal --hide-menubar --command=ma --initial-title=tmux --dynamic-title-mode=after

# toggle-mic
bindsym $mod+c exec amixer set Capture toggle && update-i3-bar
# tmux-split
bindsym $mod+g exec tmux split-window -h -c "#{pane_current_path}"
# kill : focused window
bindsym $mod+Shift+q kill
bindsym $mod+q kill
# clipboard-manager
bindsym $mod+comma exec copyq show
focus_follows_mouse no

set $mode_launch (q) qutebrowser, (c) google-chrome, (s) skype, (u) shutter, (t) thunar, (d) thunar Downloads, (f) firefox, (o) spotify, (x) terminal, (v) vlc, (V) music, (g) gvim, (l) libreoffice, (k) xkill
mode "$mode_launch" {
	bindsym q exec qb , mode "default"

	bindsym c exec google-chrome --remote-debugging-port=9599, mode "default"
	bindsym u exec shutter, mode "default"
	bindsym s exec skype, mode "default"
	bindsym t exec nautilus, mode "default"
	bindsym d exec nautilus ~/Downloads, mode "default"
	bindsym f exec firefox, mode "default"
	bindsym o exec spotify, mode "default"
	bindsym x exec xfce4-terminal, mode "default"
	bindsym v exec pc playmusic, mode "default"
	bindsym Shift+v exec pc playmusic --spot, mode "default"
	bindsym g exec neovide, mode "default"
	bindsym l exec libreoffice, mode "default"
	bindsym k --release exec xkill, mode "default"
	bindsym Return mode "default"
	bindsym Escape mode "default"
}

bindsym $mod+x mode "$mode_launch"

# timer
bindsym $mod+semicolon exec bash -c 'settimer 5'
# snippets
bindsym $mod+apostrophe exec interm snip

# bank-commun
bindsym $mod+period exec TITLE=floating interm comptezf commun
# bank-puffin
bindsym $mod+Control+period exec TITLE=floating interm comptezf puffin

# lock
bindsym $mod+n exec ~/scripts/i3exit lock
# vimrc-edit
bindsym $mod+Shift+n exec bash -c 'neovide "$HOME/.vimrc" && vim-gen || b 1 vim-gen-error'

# i3-tip
bindsym $mod+t exec ristretto "$HOME/dotfiles/tips/key-i3.png" --fullscreen
# i3-edit
bindsym $mod+Shift+t exec bash -c 'neovide "$HOME/dotfiles/.config/i3/config" && i3-msg reload && i3-gen || b 1 i3-gen-error'
# chrome
bindsym $mod+Shift+v exec google-chrome --remote-debugging-port=9599
# site-check
bindsym $mod+Shift+x exec bash -c "sitecheck && b 0 'sitecheck ok'"

# clients
bindsym $mod+z exec TITLE='floating|xt-clients' interm xt clients

# email-ninja
bindsym $mod+a workspace "9"; exec interm TITLE=mail-jsninja fzmutt folder:jsninja/INBOX
# email-dx
bindsym $mod+v workspace "9"; exec TITLE=mail-docxtemplater interm fzmutt folder:docxtemplater/INBOX
# email-bqk
bindsym $mod+b workspace "9"; exec interm fzmutt folder:bqk/INBOX
# email-puffin
bindsym $mod+grave workspace "9"; exec interm fzmutt folder:codingpuffin/INBOX

bindsym $mod+Shift+b exec toggle-bluetooth

# start dmenu (a program launcher)
# dmenu
bindsym $mod+d exec ~/myenv/bin/dmenu_extended_run

# dict-fzf
bindsym $mod+Shift+d exec TITLE=floating interm fzw 

# package-mngmt
bindsym $mod+y exec ~/myenv/bin/dmenu_extended_run "-> System package management" "-> Install a new package"

# gpass
bindsym $mod+p exec gpass

# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
# bindsym $mod+e layout toggle split
# scratch-pad
bindsym $mod+equal exec neovide $HOME/scratchpad.md

bindsym $mod+s exec TITLE=tmp interm ~/scripts/auto-browser-login
# window-swap
bindsym $mod+Shift+s exec ~/scripts/swap-workspace

# rotate-backward
bindsym $mod+bracketright exec bash -i -c 'python3 $HOME/scripts/rotate_layout.py 1'
# rotate-forward
bindsym $mod+bracketleft exec bash -i -c 'python3 $HOME/scripts/rotate_layout.py 0'

bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right

bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right

# full-screen : enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
bindsym Ctrl+Shift+o fullscreen toggle

# w1
bindsym $mod+1 workspace 1
# w2
bindsym $mod+2 workspace 2
# w3
bindsym $mod+3 workspace 3
# w4
bindsym $mod+4 workspace 4
# w5
bindsym $mod+5 workspace 5
# w6
bindsym $mod+6 workspace 6
# w7
bindsym $mod+7 workspace 7
# w8
bindsym $mod+8 workspace 8
# w9
bindsym $mod+9 workspace 9
# w10
bindsym $mod+0 workspace 10
# todo
bindsym $mod+backslash exec xfce4-terminal --title=floating --hide-menubar --command="bash --rcfile $HOME/.fast.bashrc -i -c 'l'"

bindsym $mod+Ctrl+1 move container to workspace 1; workspace 1
bindsym $mod+Ctrl+2 move container to workspace 2; workspace 2
bindsym $mod+Ctrl+3 move container to workspace 3; workspace 3
bindsym $mod+Ctrl+4 move container to workspace 4; workspace 4
bindsym $mod+Ctrl+5 move container to workspace 5; workspace 5
bindsym $mod+Ctrl+6 move container to workspace 6; workspace 6
bindsym $mod+Ctrl+7 move container to workspace 7; workspace 7
bindsym $mod+Ctrl+8 move container to workspace 8; workspace 8
bindsym $mod+Ctrl+9 move container to workspace 9; workspace 9
bindsym $mod+Ctrl+0 move container to workspace 10; workspace 10
bindsym $mod+Ctrl+Tab move container to workspace back_and_forth; workspace back_and_forth

# move focused container to workspace
# wm1
bindsym $mod+Shift+1 move container to workspace 1
# wm2
bindsym $mod+Shift+2 move container to workspace 2
# wm3
bindsym $mod+Shift+3 move container to workspace 3
# wm4
bindsym $mod+Shift+4 move container to workspace 4
# wm5
bindsym $mod+Shift+5 move container to workspace 5
# wm6
bindsym $mod+Shift+6 move container to workspace 6
# wm7
bindsym $mod+Shift+7 move container to workspace 7
# wm8
bindsym $mod+Shift+8 move container to workspace 8
# wm9
bindsym $mod+Shift+9 move container to workspace 9
# wm10
bindsym $mod+Shift+0 move container to workspace 10

# reload the configuration file
# reload-conf
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
# restart-i3
bindsym $mod+Shift+r exec superkill -a 'node .*i3status-wrapper.js'; restart

# resize window (you can also use the mouse for that)
mode "resize" {
    bindsym h resize shrink width 10 px or 10 ppt
    bindsym j resize grow height 10 px or 10 ppt
    bindsym k resize shrink height 10 px or 10 ppt
    bindsym l resize grow width 10 px or 10 ppt

    bindsym Shift+h resize shrink width 100 px or 100 ppt
    bindsym Shift+j resize grow height 100 px or 100 ppt
    bindsym Shift+k resize shrink height 100 px or 100 ppt
    bindsym Shift+l resize grow width 100 px or 100 ppt

    # same bindings, but for the arrow keys
    bindsym Left resize shrink width 10 px or 10 ppt
    bindsym Down resize grow height 10 px or 10 ppt
    bindsym Up resize shrink height 10 px or 10 ppt
    bindsym Right resize grow width 10 px or 10 ppt

    # same bindings, but for the arrow keys
    bindsym Shift+Left resize shrink width 100 px or 100 ppt
    bindsym Shift+Down resize grow height 100 px or 100 ppt
    bindsym Shift+Up resize shrink height 100 px or 100 ppt
    bindsym Shift+Right resize grow width 100 px or 100 ppt

    # back to normal: Enter or Escape
    bindsym Return mode "default"
    bindsym Escape mode "default"
}
# wiki
bindsym $mod+Shift+w exec neovide "$HOME/Sync/Wiki/Home.txt"
bindsym $mod+r mode "resize"

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
    status_command bash -c '~/scripts/i3status-wrapper.js bottom primary 2>>/tmp/i3status-error' 
    font pango:monospace 9
    output eDP-1
    output LVDS-1
    position bottom
}

bar {
    status_command bash -c '~/scripts/i3status-wrapper.js top primary 2>>/tmp/i3status-error'
    font pango:monospace 9
    output eDP-1
    output LVDS-1
    position top
    tray_output none
    tray_padding 0
}

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
    status_command ~/scripts/i3status-wrapper.js bottom secondary
    font pango:monospace 21
    output DP-2
    output DP-3
    output DP-4
    position bottom
}

bar {
    status_command ~/scripts/i3status-wrapper.js top secondary
    font pango:monospace 21
    position top
    tray_output none
    output DP-2
    output DP-3
    output DP-4
    tray_padding 0
}

bindsym Ctrl+space exec dunstctl close
bindsym Ctrl+Shift+space exec dunstctl close
bindsym $mod+space exec ~/scripts/i3exit suspend
bindsym $mod+Shift+space exec ~/scripts/i3exit shutdown

# semail-archive
bindsym $mod+m exec ~/scripts/ms archive
# semail
bindsym $mod+Shift+m exec ~/scripts/ms
# blink-off
bindsym $mod+o exec ~/scripts/b off
# screenshot
bindsym $mod+u exec screenshot

set $mode_system System (l) lock, (L) lock-trans, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
mode "$mode_system" {
    bindsym l exec --no-startup-id ~/scripts/i3exit lock, mode "default"
    bindsym Shift+l exec --no-startup-id ~/scripts/i3exit lock-transparent, mode "default"
    bindsym e exec --no-startup-id ~/scripts/i3exit logout, mode "default"
    bindsym s exec --no-startup-id ~/scripts/i3exit suspend, mode "default"
    bindsym h exec --no-startup-id ~/scripts/i3exit hibernate, mode "default"
    bindsym r exec --no-startup-id ~/scripts/i3exit reboot, mode "default"
    bindsym Shift+s exec --no-startup-id ~/scripts/i3exit shutdown, mode "default"

    # back to normal: Enter or Escape
    bindsym Return mode "default"
    bindsym Escape mode "default"
}
# mod-system
bindsym $mod+Shift+p mode "$mode_system"

bindsym $mod+KP_Add exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym $mod+KP_Subtract exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
# wiki
bindsym XF86PowerOff exec neovide "$HOME/Sync/Wiki/Home.txt"
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle


# # Media player controls
bindsym XF86AudioPlay exec playerctl play-pause && sleep 0.5 && update-i3-bar
bindsym XF86AudioPause exec playerctl pause && sleep 0.5 && update-i3-bar
bindsym XF86AudioNext exec playerctl next && sleep 0.5 && update-i3-bar
bindsym XF86AudioPrev exec playerctl previous && sleep 0.5 && update-i3-bar
bindsym $mod+KP_Multiply exec playerctl next && sleep 0.5 && update-i3-bar
bindsym $mod+Next exec playerctl next && sleep 0.5 && update-i3-bar
bindsym $mod+Prior exec playerctl previous && sleep 0.5 && update-i3-bar

# audio-previous
bindsym $mod+F3 exec playerctl next && sleep 0.5 && update-i3-bar
# audio-next
bindsym $mod+F2 exec playerctl previous && sleep 0.5 && update-i3-bar

# reload-mail
bindsym $mod+F4 exec crony --force 'email_*'

bindsym F7 exec $HOME/go/src/edi9999/jm-gui/jm 

bindsym XF86MonBrightnessUp exec xbacklight -inc 100
bindsym XF86MonBrightnessDown exec xbacklight -dec 100

bindsym Print exec shutter --full --delay 0
# window-right
bindsym $mod+Shift+greater move container to output right
# kill : focused window
# window-left
bindsym $mod+Shift+less move container to output left
# back-forth
bindsym $mod+Tab workspace back_and_forth
# float-toggle
bindsym $mod+i floating toggle

# output-right
bindsym $mod+Shift+bracketright move workspace to output right
# output-left
bindsym $mod+Shift+bracketleft move workspace to output left

# clip
bindsym $mod+slash; exec clipcat-menu insert
# toggle-bar
bindsym $mod+Shift+backslash exec --no-startup-id ~/scripts/i3bartoggle
# toggle-bar
bindsym $mod+Escape exec --no-startup-id ~/scripts/i3bartoggle

for_window [title="^floating$"] floating enable
for_window [title="^floating\|"] floating enable
for_window [title="^floating$"] border pixel 4
for_window [title="^floating\|"] border pixel 4

for_window [title="^tmp$"] move workspace tmp

for_window [class="qutebrowser"] move workspace 1

for_window [class="^kruler$"] floating enable
for_window [title="^tmux$"][class="Xfce4-terminal"] move workspace 2

for_window [class="^Firefox|firefox$"] move workspace 3

for_window [instance="google-chrome"] move workspace 4

for_window [instance="^libreoffice$"] move workspace 6
for_window [title="^LibreOffice[ 0-9.]*( Document.*|)$"] move workspace 6
for_window [class="(?i)libreoffice"] border normal
for_window [class="^libreoffice-writer$"] move workspace 6
for_window [class="^libreoffice-impress$"] move workspace 6
for_window [class="^Soffice|wpsoffice|Wps|wps|Wpp|wpp$"] move workspace 6
for_window [class="^Et$"] move workspace 6
for_window [class="^AutoScreenshot$"] move workspace 9

for_window [class="^Thunderbird$"] move workspace 7
for_window [class="^TelegramDesktop$"] move workspace 7
for_window [class="^Zulip$"] move workspace 7
for_window [class="^obs$"] move workspace 8

for_window [class="Code"] move workspace 8
for_window [class="Brave-browser"] move workspace 5
for_window [class="discord"] move workspace 8
for_window [class="^TeamViewer$"] move workspace 8
for_window [class="^vlc$"] move workspace 8
for_window [instance="google-chrome.*tmp/karma.*"] move workspace 8, exec ~/scripts/karmahandler

# workspace 9 is for emails

for_window [class="^Gimp-2.8|Gimp$"] move workspace 10
for_window [class="^Skype$"] move workspace 10
for_window [class="^Pidgin$"] move workspace 10
for_window [title="^Spotify$"] move workspace 10

for_window [class="^vlc$"][title="^Playlist"] resize set width 400
for_window [class="^Alacritty$"] fullscreen enable
for_window [class="^Gpick$"] floating enable
for_window [class="^Shutter$"] floating enable
for_window [class="^Lingot$"] fullscreen enable
for_window [class="^URxvt$"] floating enable
for_window [title=^Developer.Tools.-.*$] resize shrink width 100
for_window [class="^Jm$"] fullscreen enable

for_window [title=".*actual____.*"] resize shrink width 200px
for_window [title=".*actual____.*"] border pixel 20

for_window [title="^Battery Warning$"] sticky enable
for_window [class="^time-timer$"] floating enable
for_window [class="^time-timer$"] sticky enable
for_window [tiling_from="user"] border pixel 0
for_window [floating_from="user"] border pixel 5

exec bash -c 'nm-applet >>/tmp/nm-applet.log 2>&1'
exec xfce4-terminal --title=tmux --hide-menubar --command=ma
exec volumeicon
 # start clipcatd at startup
exec_always --no-startup-id clipcatd

exec bash -c '[ -f ~/.i3load ] && ~/.i3load'
exec bash -c "dunst"
exec bash -c "nice -n -19 ionice -c1 -n1 $HOME/scripts/bigkill"
exec bash -c "$HOME/scripts/monica start"
exec bash -c "nice -n 19 ionice -c2 -n3 $HOME/.local/bin/syncthing/syncthing >>/tmp/syncthing.log 2>&1"
exec bash -c 'sleep 1; qb'
exec bash -c 'sleep 2; google-chrome --remote-debugging-port=9599 --new-window https://duckduckgo.com/ https://web.whatsapp.com/https://calendar.google.com/calendar/u/0/r'
exec bash -c 'sleep 2; firefox https://duckduckgo.com/'
exec bash -c '$HOME/scripts/dmenu_downloads_watcher'
exec bash -c 'bash -c ". ~/.fast.bashrc && es start"'
exec bash -c 'sleep 2; $HOME/www/autoscreenshot/AutoScreenshot'

exec bash -c 'source $HOME/.shellrc.load.local && $HOME/scripts/crony 2>>/tmp/cron.log | tee /tmp/crony.log >/dev/null'
exec bash -c 'sleep 2; $HOME/.edgarstart 2>/dev/null >/dev/null'

exec --no-startup-id bash -c '"$HOME/scripts/i3-battery-popup" -F "$HOME/tmp/battery.log" -L 40 -l 10'
exec_always bash -c "$HOME/scripts/update-background"

exec_always --no-startup-id bash -c 'arbtt-capture --sample-rate 15'
exec --no-startup-id bash -c 'DISPLAY=:0 feh --bg-center /tmp/background.png"'

Linux distribution & Version

Ubuntu 24.04

Are you using a compositor?

I am sure I don't run any compositor

Logfile

No response

edi9999 avatar Mar 03 '25 16:03 edi9999

I don’t see a link to logs.i3wm.org. Did you follow https://i3wm.org/docs/debugging.html? (In case you actually provided a link to a logfile, please ignore me.)

i3bot avatar Mar 03 '25 16:03 i3bot