diff --git a/configs/i3wm_g/Lenovox1Gen5/README.md b/configs/i3wm_g/Lenovox1Gen5/README.md new file mode 100644 index 0000000..6d87dc9 --- /dev/null +++ b/configs/i3wm_g/Lenovox1Gen5/README.md @@ -0,0 +1,5 @@ +### i3wm multiple display +There are multiple ports on this laptop, thus the only way to make the dual screen worked was to set up specific binds to specefic outputs + +*config_DP-1* - Shuold be use when a USB-C to Display Port is connected on Port-1 (Closest to the screen) + diff --git a/configs/i3wm_g/Lenovox1Gen5/config b/configs/i3wm_g/Lenovox1Gen5/config index 21a5a5a..e035681 100644 --- a/configs/i3wm_g/Lenovox1Gen5/config +++ b/configs/i3wm_g/Lenovox1Gen5/config @@ -7,7 +7,7 @@ font pango:Maple Mono NF 8 # Monitors set $pm eDP-1 -set $sm DP-2 +set $sm DP-1 # Start autotiling exec_always --no-startup-id autotiling diff --git a/configs/i3wm_g/Lenovox1Gen5/config_DP-1 b/configs/i3wm_g/Lenovox1Gen5/config_DP-1 new file mode 100644 index 0000000..21a5a5a --- /dev/null +++ b/configs/i3wm_g/Lenovox1Gen5/config_DP-1 @@ -0,0 +1,279 @@ +set $mod Mod1 +set $mod1 Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:Maple Mono NF 8 + +# Monitors +set $pm eDP-1 +set $sm DP-2 + +# Start autotiling +exec_always --no-startup-id autotiling + +# Xfce4 binds +# Open whisketmenu +# bindsym $mod+d exec xfce4-popup-whiskermenu + +# Background +exec nitrogen --restore + +# Network Manager +exec --no-startup-id nm-applet +exec_always picom +exec_always caffeine + +# Hide Polybar +bindsym $mod+Escape exec polybar-msg cmd toggle + +# Scratchpad +bindsym $mod+Shift+m move scratchpad +bindsym $mod+m scratchpad show + +# Windows border/Tittle bar +default_border pixel 3 +default_floating_border pixel 2 +# rofi bind +bindsym $mod+d exec rofi -show drun -disable-history -show-icons + +# Gaps +gaps inner 4 +gaps outer 0 + +# Start XDG autostart .desktop files using dex. See also +# https://wiki.archlinux.org/index.php/XDG_Autostart +exec --no-startup-id dex --autostart --environment i3 + +# The combination of xss-lock, nm-applet and pactl is a popular choice, so +# they are included here as an example. Modify as you see fit. + +# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the +# screen before suspend. Use loginctl lock-session to lock your screen. +# exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork + +# Use pactl to adjust volume in PulseAudio. +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status +bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# move tiling windows via drag & drop by left-clicking into the title bar, +# or left-clicking anywhere into the window while holding the floating modifier. +tiling_drag modifier titlebar + +# start a terminal +bindsym $mod+Return exec alacritty +bindsym $mod+Shift+Return exec kitty + +# kill focused window +bindsym $mod+q kill + +# start dmenu (a program launcher) +# bindsym $mod+d exec --no-startup-id dmenu_run +# A more modern dmenu replacement is rofi: +# bindcode $mod+40 exec "rofi -modi drun,run -show drun" +# There also is i3-dmenu-desktop which only displays applications shipping a +# .desktop file. It is a wrapper around dmenu, so you need that installed. +# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop + +# change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+semicolon focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+semicolon move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +# Monitor eDP1 (Internal Display) +workspace 1 output $pm +workspace 2 output $pm +workspace 3 output $pm +workspace 4 output $pm +workspace 5 output $pm +workspace 6 output $pm +workspace 7 output $pm +workspace 8 output $pm +workspace 9 output $pm +workspace 10 output $pm + +# Monitor DP-1 (External DP Cable Only) +workspace 11 output $sm +workspace 12 output $sm +workspace 13 output $sm +workspace 14 output $sm +workspace 15 output $sm +workspace 16 output $sm +workspace 17 output $sm +workspace 18 output $sm +workspace 19 output $sm +workspace 20 output $sm + +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +set $ws11 "11" +set $ws12 "12" +set $ws13 "13" +set $ws14 "14" +set $ws15 "15" +set $ws16 "16" +set $ws17 "17" +set $ws18 "18" +set $ws19 "19" +set $ws20 "20" + +# switch to workspace (Internal Display) +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 + +# DP-1 Display +bindsym $mod1+1 workspace number $ws11 +bindsym $mod1+2 workspace number $ws12 +bindsym $mod1+3 workspace number $ws13 +bindsym $mod1+4 workspace number $ws14 +bindsym $mod1+5 workspace number $ws15 +bindsym $mod1+6 workspace number $ws16 +bindsym $mod1+7 workspace number $ws17 +bindsym $mod1+8 workspace number $ws18 +bindsym $mod1+9 workspace number $ws19 +bindsym $mod1+0 workspace number $ws20 + +# move focused container to workspace (Internal Display) + +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +# move focused container to workspace (DP-1 Display) +bindsym $mod1+Shift+1 move container to workspace number $ws11 +bindsym $mod1+Shift+2 move container to workspace number $ws12 +bindsym $mod1+Shift+3 move container to workspace number $ws13 +bindsym $mod1+Shift+4 move container to workspace number $ws14 +bindsym $mod1+Shift+5 move container to workspace number $ws15 +bindsym $mod1+Shift+6 move container to workspace number $ws16 +bindsym $mod1+Shift+7 move container to workspace number $ws17 +bindsym $mod1+Shift+8 move container to workspace number $ws18 +bindsym $mod1+Shift+9 move container to workspace number $ws19 +bindsym $mod1+Shift+0 move container to workspace number $ws20 + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym semicolon resize grow width 10 px or 10 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 + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +# Define colors variables: +# bg tab mode +set $color1 #1d2021 +set $color2 #d8a657 +set $color3 #fabd3f +set $color4 #928374 + +# define colors for windows: +#class border bground text indicator child_border +client.focused $color2 $color1 $color3 $color2 $color2 +client.unfocused $color4 $color1 $color4 $color1 $color1 +client.focused_inactive $color4 $color1 $color4 $color4 $color1 +client.urgent $color3 $color3 $color2 $color2 $color1 + +# Start Polybar +exec_always ~/.config/polybar/launch.sh & diff --git a/configs/polybar_g/Lenovox1Gen5/config.ini b/configs/polybar_g/Lenovox1Gen5/config.ini index 3474619..96d65f2 100644 --- a/configs/polybar_g/Lenovox1Gen5/config.ini +++ b/configs/polybar_g/Lenovox1Gen5/config.ini @@ -8,10 +8,15 @@ alert = #A54242 disabled = #707880 [bar/barra1] +monitor = ${env:MONITOR:} width = 100% height = 24pt radius = 6 +[bar/barra2] +# monitor = ${env:MONITOR:} +inherit = bar/barra1 + dpi = 110 background = ${colors.background} @@ -61,6 +66,7 @@ index-sort = true enable-click = true fuzzy-match = true pin-workspaces = true +strip-wsnumbers = false ws-icon-0 = 1;1 ws-icon-1 = 2;2 @@ -78,20 +84,20 @@ label-mode = %mode% label-mode-padding = 2 label-mode-foreground = ${colors.primary} -label-focused = %icon% +label-focused = %name% label-focused-font = 5 label-focused-foreground = ${colors.primary} label-focused-padding = 1 -label-unfocused = %icon% +label-unfocused = %name% label-unfocused-font = 5 label-unfocused-foreground = ${colors.white} label-unfocused-padding = 1 -label-visible = %icon% +label-visible = %name% label-visible-padding = 1 -label-urgent = %icon% +label-urgent = %name% label-urgent-font = 10 label-urgent-foreground = ${colors.red} label-urgent-padding = 1 diff --git a/configs/polybar_g/Lenovox1Gen5/launch.sh b/configs/polybar_g/Lenovox1Gen5/launch.sh index 054975f..0673dc5 100755 --- a/configs/polybar_g/Lenovox1Gen5/launch.sh +++ b/configs/polybar_g/Lenovox1Gen5/launch.sh @@ -1,14 +1,5 @@ #!/usr/bin/env bash - -# Terminate already running bar instances -# If all your bars have ipc enabled, you can use -polybar-msg cmd quit -# Otherwise you can use the nuclear option: -# killall -q polybar - -# Launch bar1 and bar2 -echo "---" | tee -a /tmp/polybar1.log # /tmp/polybar2.log -polybar barra1 2>&1 | tee -a /tmp/polybar1.log & disown -# polybar bar2 2>&1 | tee -a /tmp/polybar2.log & disown - -echo "Bars launched..." +for m in $(polybar --list-monitors | cut -d":" -f1); do + MONITOR=$m polybar --reload barra1 & + MONITOR=$m polybar --reload barra2 & +done