I3 window manager configuration: Difference between revisions

From Tech
Jump to navigationJump to search
Content deleted Content added
No edit summary
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:


<nowiki>
<nowiki>

exec --no-startup-id gxkb


#prevent wrapping (looping) of focus
#prevent wrapping (looping) of focus
Line 28: Line 30:


# https://faq.i3wm.org/question/3747/enabling-multimedia-keys.1.html
# https://faq.i3wm.org/question/3747/enabling-multimedia-keys.1.html

# Pulse Audio controls (may need to change the '1' to '0'...
# Pulse Audio controls
#increase volume:
# increase cound volume:
bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume 1 +5%; pactl set-sink-volume 0 +5%"
#bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume 1 +5%; pactl set-sink-volume 0 +5%"
⚫
#decrease volume:
bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume 1 -5%;pactl set-sink-volume 0 -5%"
#bindsym $mod+F2 exec --no-startup-id "pactl set-sink-volume 1 +3dB%; pactl set-sink-volume 0 +3dB"
⚫
bindsym $mod+F2 exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ +3dB"
⚫
# mute sound

⚫
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 1 toggle
⚫
#decrease sound volume
#bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume 1 -5%;pactl set-sink-volume 0 -5%"
#bindsym $mod+F1 exec --no-startup-id "pactl set-sink-volume 1 -3dB;pactl set-sink-volume 0 -3dB"
bindsym $mod+F1 exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ -3dB"


# play/pause (for mpv to work: install mpv-mpris)
bindsym $mod+F3 exec --no-startup-id "playerctl --player mpv play-pause"
bindsym $mod+F4 exec --no-startup-id "playerctl play-pause"
bindsym $mod+shift+F5 exec --no-startup-id "audio_toggle"
bindsym $mod+F5 exec --no-startup-id "playerctl --player mpv previous"
bindsym $mod+F6 exec --no-startup-id "playerctl --player mpv next"


⚫
#mute
#bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle

#Pause/play:
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
bindsym XF86AudioNext exec --no-startup-id playerctl next





Line 40: Line 64:
bindsym $mod+Ctrl+Right exec --no-startup-id sudo /usr/local/bin/hp-brightness +5
bindsym $mod+Ctrl+Right exec --no-startup-id sudo /usr/local/bin/hp-brightness +5
bindsym $mod+Ctrl+Left exec --no-startup-id sudo /usr/local/bin/hp-brightness -5
bindsym $mod+Ctrl+Left exec --no-startup-id sudo /usr/local/bin/hp-brightness -5

# start zoom (boomer):
# https://github.com/tsoding/boomer
# to build: apt install nim
bindsym $mod+z exec "/home/joost/rommel/boomer/boomer"

# lock and suspend on $mod+l or $mod+Shift+l
bindsym $mod+l exec "i3lock -e -i /home/joost/rommel/GHG-rotterdam-clouds.png"
#bindsym $mod+l exec "i3lock -e -t -i /home/joost/rommel/GHG-terras.png"
bindsym $mod+Shift+l exec "i3lock -e -i /home/joost/rommel/GHG-rotterdam-clouds.png; systemctl suspend"


#https://erikdubois.be/two-different-ways-make-screenshot-i3/
#https://erikdubois.be/two-different-ways-make-screenshot-i3/
#gnome-screenshot -i
#gnome-screenshot -i
bindsym Control+Print exec gnome-screenshot -c -a
#bindsym Control+Print exec gnome-screenshot -c -a
bindsym Print exec flameshot gui

#Make alt_space toggle keyboard maps, and switch between us and bg(phonetic):
exec --no-startup-id setxkbmap -layout us,bg -variant ,phonetic -option grp:alt_space_toggleг


</nowiki>
</nowiki>
Line 51: Line 89:


=Scripts=
=Scripts=
The hp-brightness script:
The hp-brightness script in /usr/local/bin/hp-brightness:


<nowiki>
<nowiki>
Line 62: Line 100:
echo ${ACTUAL}, ${NEW}
echo ${ACTUAL}, ${NEW}
echo ${NEW} > ${D}/brightness
echo ${NEW} > ${D}/brightness
</nowiki>
</nowiki>

The audio_toggle script:

<nowiki>
#!/bin/bash
CARD=alsa_card.pci-0000_00_1f.3
PROFILE=$(pactl list cards | sed -n "/Name: $CARD/,/^Card/p" | awk -F': ' '/Active Profile/ {print $2}')
echo $PROFILE

case "$PROFILE" in
*hdmi*)
pactl set-card-profile $CARD output:analog-stereo
echo "Switched to 3.5mm (analog)"
;;
*)
pactl set-card-profile $CARD output:hdmi-stereo
echo "Switched to HDMI monitor"
;;
esac
</nowiki>

Latest revision as of 15:22, 23 October 2026


exec --no-startup-id gxkb

#prevent wrapping (looping) of focus
focus_wrapping no

# lock and syspend on $mod+l or $mod+Shift+l
bindsym $mod+l exec i3lock -e
bindsym $mod+Shift+l exec "i3lock -e; systemctl suspend"

###
#Mouse/touchpad
#https://www.reddit.com/r/i3wm/comments/4efbsm/mouse_speed/
# xinput list | grep HID
# xinput list-props 13
#exec_always xinput set-prop 15 328 -1
#exec_always xinput set-prop 11 317 -0.8

#touchpad acer laptop:
#exec_always xinput set-prop 13 312 1  #natural scrolling on
#exec_always xinput set-prop 13 332 1  #enable tapping

#touchpad HP laptop:
#   xinput list-props "ELAN071A:00 04F3:30FD Touchpad"
exec_always xinput set-prop "ELAN071A:00 04F3:30FD Touchpad" "libinput Tapping Enabled" 1
exec_always xinput set-prop "ELAN071A:00 04F3:30FD Touchpad" "libinput Natural Scrolling Enabled" 1


# https://faq.i3wm.org/question/3747/enabling-multimedia-keys.1.html

# Pulse Audio controls
# increase cound volume:
#bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume 1 +5%; pactl set-sink-volume 0 +5%"
#bindsym $mod+F2 exec --no-startup-id "pactl set-sink-volume 1 +3dB%; pactl set-sink-volume 0 +3dB"
bindsym $mod+F2 exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ +3dB"

#decrease sound volume
#bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume 1 -5%;pactl set-sink-volume 0 -5%"
#bindsym $mod+F1 exec --no-startup-id "pactl set-sink-volume 1 -3dB;pactl set-sink-volume 0 -3dB"
bindsym $mod+F1 exec --no-startup-id "pactl set-sink-volume @DEFAULT_SINK@ -3dB"


# play/pause  (for mpv to work: install mpv-mpris)
bindsym $mod+F3 exec --no-startup-id "playerctl --player mpv play-pause"
bindsym $mod+F4 exec --no-startup-id "playerctl play-pause"
bindsym $mod+shift+F5 exec --no-startup-id "audio_toggle"
bindsym $mod+F5 exec --no-startup-id "playerctl --player mpv previous"
bindsym $mod+F6 exec --no-startup-id "playerctl --player mpv next"


#mute
#bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle

#Pause/play:
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
bindsym XF86AudioNext exec --no-startup-id playerctl next



# increase/decrease brightness. See hp-brightness script below.
bindsym $mod+Ctrl+Right   exec --no-startup-id  sudo /usr/local/bin/hp-brightness +5
bindsym $mod+Ctrl+Left    exec --no-startup-id  sudo /usr/local/bin/hp-brightness -5

# start zoom (boomer): 
# https://github.com/tsoding/boomer
# to build: apt install nim
bindsym $mod+z exec "/home/joost/rommel/boomer/boomer"

# lock and suspend on $mod+l or $mod+Shift+l
bindsym $mod+l       exec "i3lock -e -i /home/joost/rommel/GHG-rotterdam-clouds.png"
#bindsym $mod+l       exec "i3lock -e -t -i /home/joost/rommel/GHG-terras.png"
bindsym $mod+Shift+l exec "i3lock -e -i /home/joost/rommel/GHG-rotterdam-clouds.png; systemctl suspend"

#https://erikdubois.be/two-different-ways-make-screenshot-i3/
#gnome-screenshot -i
#bindsym Control+Print exec gnome-screenshot -c -a
bindsym Print exec flameshot gui

#Make alt_space toggle keyboard maps, and switch between us and bg(phonetic):
exec --no-startup-id setxkbmap -layout us,bg -variant ,phonetic -option grp:alt_space_toggleг


Lock-on-Suspend

Does this [1] work?

Scripts

The hp-brightness script in /usr/local/bin/hp-brightness:

#!/bin/dash

D=/sys/class/backlight/amdgpu_bl0
ACTUAL=`cat ${D}/actual_brightness`

NEW=`/usr/bin/python3 -c "print(max(min(${ACTUAL} + $1, 100), 10))" `
echo ${ACTUAL}, ${NEW}
echo ${NEW} > ${D}/brightness
 

The audio_toggle script:

#!/bin/bash
CARD=alsa_card.pci-0000_00_1f.3
PROFILE=$(pactl list cards | sed -n "/Name: $CARD/,/^Card/p" | awk -F': ' '/Active Profile/ {print $2}')
echo $PROFILE

case "$PROFILE" in
  *hdmi*)
    pactl set-card-profile $CARD output:analog-stereo
    echo "Switched to 3.5mm (analog)"
    ;;
  *)
    pactl set-card-profile $CARD output:hdmi-stereo
    echo "Switched to HDMI monitor"
    ;;
esac