diff --git a/.config/i3/config b/.config/i3/config index 5107b3d..9759f34 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -1,3 +1,4 @@ +############################ GENERAL for all platform ############################# # set modifier set $super Mod4 set $alt Mod1 @@ -8,17 +9,12 @@ font pango: Noto Sans 8 # Use Mouse+$super to drag floating windows to their wanted position floating_modifier $super -#autostart -exec_always --no-startup-id hsetroot -cover ~/Pictures/wallpaper/wallhaven-r2ze21.jpg +# Autostart (GENERAL) exec --no-startup-id xsettingsd & exec --no-startup-id compton -b exec --no-startup-id ibus-daemon & exec --no-startup-id ~/.SynologyDrive/SynologyDrive.app/bin/cloud-drive-ui -# Monitor setup -# exec_always --no-startup-id bash ~/.screenlayout/TOP_DELL_U3415W+BOTTOM_DELL_S2719DGF.sh -exec_always --no-startup-id bash ~/.screenlayout/LEFT_DELL_S2719DGF+RIGHT_DELL_U3415W.sh - # start a terminal bindsym $super+Return exec i3-sensible-terminal @@ -31,45 +27,6 @@ bindsym Print exec scrot 'Cheese_%a-%d%b%y_%H.%M.png' -e 'viewnior ~/$f' bindsym $super+l exec i3lock -i ~/Pictures/wallpaper/Download-free-Wonder-Woman-Wallpaper-HD-1.jpg bindsym $super+Shift+w exec firefox bindsym $super+Shift+f exec thunar;workspace $workspace;focus -#bindsym $super+Shift+g exec geany - -#change volume -# bindsym XF86AudioRaiseVolume exec amixer -q set Master -# bindsym XF86AudioLowerVolume exec amixer -q set Master 5%- -# bindsym XF86AudioMute exec amixer set Master toggle -bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 1 +5% -bindsym XF86AudioLowerVolume exec pactl set-sink-volume 1 -5% -bindsym XF86AudioMute exec pactl set-sink-mute 1 toggle - -# music control -#bindsym XF86AudioNext exec mpc next -#bindsym XF86AudioPrev exec mpc prev -#bindsym XF86AudioPlay exec mpc toggle -#bindsym XF86AudioStop exec mpc stop -bindsym XF86AudioNext exec playerctl next -bindsym XF86AudioPrev exec playerctl previous -bindsym XF86AudioPlay exec playerctl play-pause - -mode "media" { - bindsym Up exec pactl set-sink-volume 1 +5% - bindsym Down exec pactl set-sink-volume 1 -5% - bindsym 9 exec pactl set-sink-volume 1 90% - bindsym 8 exec pactl set-sink-volume 1 80% - bindsym 7 exec pactl set-sink-volume 1 70% - bindsym 6 exec pactl set-sink-volume 1 60% - bindsym 5 exec pactl set-sink-volume 1 50% - bindsym 4 exec pactl set-sink-volume 1 40% - - bindsym Right exec playerctl next - bindsym Left exec playerctl previous - bindsym space exec playerctl play-pause - bindsym Return mode "default" -} -bindsym $super+m mode "media" - -# brightness control -bindsym XF86MonBrightnessUp exec xbacklight -inc 10 -bindsym XF86MonBrightnessDown exec xbacklight -dec 10 # kill focused window bindsym $super+c kill @@ -129,7 +86,7 @@ bindsym $super+7 workspace $workspace7 bindsym $super+8 workspace $workspace8 bindsym $super+9 workspace $workspace9 -# move focused container to workspace +# Move Focused Container To Workspace bindsym $super+Shift+1 move container to workspace $workspace1 bindsym $super+Shift+2 move container to workspace $workspace2 bindsym $super+Shift+3 move container to workspace $workspace3 @@ -140,16 +97,33 @@ bindsym $super+Shift+7 move container to workspace $workspace7 bindsym $super+Shift+8 move container to workspace $workspace8 bindsym $super+Shift+9 move container to workspace $workspace9 -# Assign workspace on specific monitor -workspace $workspace1 output DP-2 -workspace $workspace2 output DP-2 -workspace $workspace3 output DP-2 -workspace $workspace4 output DP-2 -workspace $workspace5 output DP-0 -workspace $workspace6 output DP-0 -workspace $workspace7 output DP-0 -workspace $workspace8 output DP-0 -workspace $workspace9 output DP-0 +# Volume Tunning with media key on keyboard (Check media.md in repo for installing/using programs) +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 1 +5% +bindsym XF86AudioLowerVolume exec pactl set-sink-volume 1 -5% +bindsym XF86AudioMute exec pactl set-sink-mute 1 toggle + +# Music Control with media key on keyboard (Check media.md in repo for installing/using programs) +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous +bindsym XF86AudioPlay exec playerctl play-pause + +# Media control using separate mode (for 60% keyboard) +bindsym $super+m mode "media" +mode "media" { + bindsym Up exec pactl set-sink-volume 1 +5% + bindsym Down exec pactl set-sink-volume 1 -5% + bindsym 9 exec pactl set-sink-volume 1 90% + bindsym 8 exec pactl set-sink-volume 1 80% + bindsym 7 exec pactl set-sink-volume 1 70% + bindsym 6 exec pactl set-sink-volume 1 60% + bindsym 5 exec pactl set-sink-volume 1 50% + bindsym 4 exec pactl set-sink-volume 1 40% + + bindsym Right exec playerctl next + bindsym Left exec playerctl previous + bindsym space exec playerctl play-pause + bindsym Return mode "default" +} # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $super+Shift+r restart @@ -203,3 +177,27 @@ client.unfocused #2f343f #2f343f #d8dee8 #2f343f #2f343f client.urgent #2f343f #2f343f #d8dee8 #2f343f #2f343f client.placeholder #2f343f #2f343f #d8dee8 #2f343f #2f343f client.background #2f343f + +########################### Specific for different platform ########################### + +# Wallpaper +exec_always --no-startup-id hsetroot -cover ~/Pictures/wallpaper/wallhaven-r2ze21.jpg + +# Monitor setup +# exec_always --no-startup-id bash ~/.screenlayout/TOP_DELL_U3415W+BOTTOM_DELL_S2719DGF.sh +exec_always --no-startup-id bash ~/.screenlayout/LEFT_DELL_S2719DGF+RIGHT_DELL_U3415W.sh + +# brightness control (Only available on Laptop) +bindsym XF86MonBrightnessUp exec xbacklight -inc 10 +bindsym XF86MonBrightnessDown exec xbacklight -dec 10 + +# Assign workspace on specific monitor +workspace $workspace1 output DP-2 +workspace $workspace2 output DP-2 +workspace $workspace3 output DP-2 +workspace $workspace4 output DP-2 +workspace $workspace5 output DP-0 +workspace $workspace6 output DP-0 +workspace $workspace7 output DP-0 +workspace $workspace8 output DP-0 +workspace $workspace9 output DP-0 \ No newline at end of file diff --git a/backlight.md b/backlight.md new file mode 100644 index 0000000..6328c44 --- /dev/null +++ b/backlight.md @@ -0,0 +1,3 @@ +# backlight control using i3 + +Follow [backlight](https://wiki.archlinux.org/index.php/backlight), it will provide step by step guidance to use xbacklight on intel laptop diff --git a/ibus-language.md b/ibus-language.md index 50b4a8b..b860c38 100644 --- a/ibus-language.md +++ b/ibus-language.md @@ -1,5 +1,7 @@ # ibus multi-language input + + Check current ibus engine: `ibus engine` Check available ibus engine: `ibus list-engine` diff --git a/media.md b/media.md index 25a3edb..f4d3782 100644 --- a/media.md +++ b/media.md @@ -1,10 +1,46 @@ # Media control in i3 +There are multiple choices of audio program available, the i3 config file I followed at beginning using amixer, while I choose PulseAudio. Please check "addy-dclxvi/i3-staterpack" -## Media control using i3 commands +His volume/music control config is shown as below: + +``` +# change volume +bindsym XF86AudioRaiseVolume exec amixer -q set Master +bindsym XF86AudioLowerVolume exec amixer -q set Master 5%- +bindsym XF86AudioMute exec amixer set Master toggle + +# music control +bindsym XF86AudioNext exec mpc next +bindsym XF86AudioPrev exec mpc prev +bindsym XF86AudioPlay exec mpc toggle +bindsym XF86AudioStop exec mpc stop +``` + +Following are the process I used in my Media/Volume control in i3 + +## Volume Control using PulseAudio + +* Install `PulseAudio` (Pulse Audio Sound server system) +* Install `pactl` as commandline controller `PulseAudio` +* Install `pavucontrol` as GUI controler of `PulseAudio` + +### Check `pactl` controller is working and learn how to use it and add to i3 + +1. Play music on youtube or Spotify +2. Open `pavucontrol` to check sound is player correctly +3. Find correct Sink by `pactl list`, the playing one should be the "Sink" that has "State: Running" +4. Increase volume by `pactl set-sink-volume 70%`, which change volume and should be reflected on `pavucontrol` and your ear +5. Now you know which sink is using and add the command line into i3 config + +## Check `playerctl` controller is working and learn how to use it and add to i3 + +1. Play music on Spotify +2. Pause the music by `playerctl play-pause`, and check whether the music stopped +3. After confimring this commandline worked, add it to with keybind in your i3 + +## Media control in separate mode 1. Create a mode "media" in i3 configuration -2. Check pulseaudio is installed -3. Check `pactl` is installed, which will be used as command line interface to turn music on/off -4. Check sink number, by `pactl list`, which will show SINK 0,1,2,etc. Find corret based on which hardware are you using +2. In the mode, add bindsym to control media flow ## Media control using TUI 1. Install `pulsemixer` diff --git a/multi-screen.md b/multi-screen.md new file mode 100644 index 0000000..82bcfb7 --- /dev/null +++ b/multi-screen.md @@ -0,0 +1,9 @@ +# Multi-screen setup in i3 config + +1. Install `arandr`, which can be used to visually setup multiscreen layout +2. Configure multiscreen layout using `arandr` and save to a bash script (which containing `xrandr` commands) +3. Add bash script execution in i3 config with `exec_always --no-startup-id ...` to let multiscreen configuration taking effect + + + +