First commit
This commit is contained in:
		
						commit
						dfd5585151
					
				|  | @ -0,0 +1,7 @@ | ||||||
|  | aspect = 0 | ||||||
|  | separate_widget = "" | ||||||
|  | tab_len = 0 | ||||||
|  | visit_items = OFF | ||||||
|  | use_shadow = OFF | ||||||
|  | use_colors = ON | ||||||
|  | screen_color = (WHITE,DEFAULT,OFF) | ||||||
|  | @ -0,0 +1,249 @@ | ||||||
|  | # i3 config file (v4) | ||||||
|  | # | ||||||
|  | # Please see https://i3wm.org/docs/userguide.html for a complete reference! | ||||||
|  | # | ||||||
|  | # This config file uses keycodes (bindsym) and was written for the QWERTY | ||||||
|  | # layout. | ||||||
|  | # | ||||||
|  | # To get a config file with the same key positions, but for your current | ||||||
|  | # layout, use the i3-config-wizard | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | # Font for window titles. Will also be used by the bar unless a different font | ||||||
|  | # is used in the bar {} block below. | ||||||
|  | font pango:GohuFont uni14 Nerd Font Mono Bold 9 | ||||||
|  | #font pango:monospace 8 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # This font is widely installed, provides lots of unicode glyphs, right-to-left | ||||||
|  | # text rendering and scalability on retina/hidpi displays (thanks to pango). | ||||||
|  | #font pango:DejaVu Sans Mono 8 | ||||||
|  | 
 | ||||||
|  | # 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 | ||||||
|  | 
 | ||||||
|  | # NetworkManager is the most popular way to manage wireless networks on Linux, | ||||||
|  | # and nm-applet is a desktop environment-independent system tray GUI for it. | ||||||
|  | exec --no-startup-id nm-applet | ||||||
|  | 
 | ||||||
|  | # Use pactl to adjust volume in PulseAudio. | ||||||
|  | set $refresh_i3status killall -SIGUSR1 i3status | ||||||
|  | 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 | ||||||
|  | 
 | ||||||
|  | bindsym XF86MonBrightnessUp exec xbacklight -inc 10 | ||||||
|  | bindsym XF86MonBrightnessDown exec xbacklight -inc 10 | ||||||
|  | 
 | ||||||
|  | bindsym Ctrl+e exec element-desktop | ||||||
|  | bindsym Ctrl+f exec simpleX-desktop | ||||||
|  | bindsym Ctrl+Mod4+l exec "i3lock -c 000000" | ||||||
|  | # use these keys for focus, movement, and resize directions when reaching for | ||||||
|  | # the arrows is not convenient | ||||||
|  | set $up l | ||||||
|  | set $down k | ||||||
|  | set $left j | ||||||
|  | set $right semicolon | ||||||
|  | 
 | ||||||
|  | # use Mouse+Mod4 to drag floating windows to their wanted position | ||||||
|  | floating_modifier Mod4 | ||||||
|  | 
 | ||||||
|  | # 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 Mod4+Return exec wezterm | ||||||
|  | bindsym Mod4+Shift+Return exec wezterm -e --class term_date | ||||||
|  | #bindsym Mod4+Return exec i3-sensible-terminal | ||||||
|  | 
 | ||||||
|  | # kill focused window | ||||||
|  | bindsym Mod4+Shift+q kill | ||||||
|  | 
 | ||||||
|  | # start dmenu (a program launcher) | ||||||
|  | #bindsym Mod4+d exec --no-startup-id i3-dmenu-desktop | ||||||
|  | bindsym Mod4+d exec --no-startup-id dmenu_run | ||||||
|  | # A more modern dmenu replacement is rofi: | ||||||
|  | # bindsym Mod4+d 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. | ||||||
|  | # bindsym Mod4+d exec --no-startup-id i3-dmenu-desktop | ||||||
|  | 
 | ||||||
|  | # change focus | ||||||
|  | bindsym Mod4+$left focus left | ||||||
|  | bindsym Mod4+$down focus down | ||||||
|  | bindsym Mod4+$up focus up | ||||||
|  | bindsym Mod4+$right focus right | ||||||
|  | 
 | ||||||
|  | # alternatively, you can use the cursor keys: | ||||||
|  | bindsym Mod4+Left focus left | ||||||
|  | bindsym Mod4+Down focus down | ||||||
|  | bindsym Mod4+Up focus up | ||||||
|  | bindsym Mod4+Right focus right | ||||||
|  | 
 | ||||||
|  | # move focused window | ||||||
|  | bindsym Mod4+Shift+$left move left | ||||||
|  | bindsym Mod4+Shift+$down move down | ||||||
|  | bindsym Mod4+Shift+$up move up | ||||||
|  | bindsym Mod4+Shift+$right move right | ||||||
|  | 
 | ||||||
|  | # alternatively, you can use the cursor keys: | ||||||
|  | bindsym Mod4+Shift+Left move left | ||||||
|  | bindsym Mod4+Shift+Down move down | ||||||
|  | bindsym Mod4+Shift+Up move up | ||||||
|  | bindsym Mod4+Shift+Right move right | ||||||
|  | 
 | ||||||
|  | # split in horizontal orientation | ||||||
|  | bindsym Mod4+h split h | ||||||
|  | 
 | ||||||
|  | # split in vertical orientation | ||||||
|  | bindsym Mod4+v split v | ||||||
|  | 
 | ||||||
|  | # enter fullscreen mode for the focused container | ||||||
|  | bindsym Mod4+f fullscreen toggle | ||||||
|  | 
 | ||||||
|  | # change container layout (stacked, tabbed, toggle split) | ||||||
|  | bindsym Mod4+s layout stacking | ||||||
|  | bindsym Mod4+w layout tabbed | ||||||
|  | bindsym Mod4+e layout toggle split | ||||||
|  | 
 | ||||||
|  | # toggle tiling / floating | ||||||
|  | bindsym Mod4+Shift+space floating toggle | ||||||
|  | 
 | ||||||
|  | # change focus between tiling / floating windows | ||||||
|  | bindsym Mod4+space focus mode_toggle | ||||||
|  | 
 | ||||||
|  | # default_border pixel 1 | ||||||
|  | for_window [class="^.*"] border pixel 1 | ||||||
|  | for_window [class="term_date"] floating enable | ||||||
|  | #default_floating_border pixel 1 | ||||||
|  | #gaps inner 1px | ||||||
|  | # focus the parent container | ||||||
|  | bindsym Mod4+a focus parent | ||||||
|  | 
 | ||||||
|  | # focus the child container | ||||||
|  | #bindsym Mod4+d focus child | ||||||
|  | 
 | ||||||
|  | # move the currently focused window to the scratchpad | ||||||
|  | bindsym Mod4+Shift+minus move scratchpad | ||||||
|  | 
 | ||||||
|  | # Show the next scratchpad window or hide the focused scratchpad window. | ||||||
|  | # If there are multiple scratchpad windows, this command cycles through them. | ||||||
|  | bindsym Mod4+minus scratchpad show | ||||||
|  | 
 | ||||||
|  | # Define names for default workspaces for which we configure key bindings later on. | ||||||
|  | # We use variables to avoid repeating the names in multiple places. | ||||||
|  | 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" | ||||||
|  | 
 | ||||||
|  | # switch to workspace | ||||||
|  | bindsym Mod4+1 workspace number $ws1 | ||||||
|  | bindsym Mod4+2 workspace number $ws2 | ||||||
|  | bindsym Mod4+3 workspace number $ws3 | ||||||
|  | bindsym Mod4+4 workspace number $ws4 | ||||||
|  | bindsym Mod4+5 workspace number $ws5 | ||||||
|  | bindsym Mod4+6 workspace number $ws6 | ||||||
|  | bindsym Mod4+7 workspace number $ws7 | ||||||
|  | bindsym Mod4+8 workspace number $ws8 | ||||||
|  | bindsym Mod4+9 workspace number $ws9 | ||||||
|  | bindsym Mod4+0 workspace number $ws10 | ||||||
|  | 
 | ||||||
|  | # move focused container to workspace | ||||||
|  | bindsym Mod4+Shift+1 move container to workspace number $ws1 | ||||||
|  | bindsym Mod4+Shift+2 move container to workspace number $ws2 | ||||||
|  | bindsym Mod4+Shift+3 move container to workspace number $ws3 | ||||||
|  | bindsym Mod4+Shift+4 move container to workspace number $ws4 | ||||||
|  | bindsym Mod4+Shift+5 move container to workspace number $ws5 | ||||||
|  | bindsym Mod4+Shift+6 move container to workspace number $ws6 | ||||||
|  | bindsym Mod4+Shift+7 move container to workspace number $ws7 | ||||||
|  | bindsym Mod4+Shift+8 move container to workspace number $ws8 | ||||||
|  | bindsym Mod4+Shift+9 move container to workspace number $ws9 | ||||||
|  | bindsym Mod4+Shift+0 move container to workspace number $ws10 | ||||||
|  | 
 | ||||||
|  | # reload the configuration file | ||||||
|  | bindsym Mod4+Shift+c reload | ||||||
|  | # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) | ||||||
|  | bindsym Mod4+Shift+r restart | ||||||
|  | # exit i3 (logs you out of your X session) | ||||||
|  | bindsym Mod4+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 $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 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 Mod4+r | ||||||
|  |         bindsym Return mode "default" | ||||||
|  |         bindsym Escape mode "default" | ||||||
|  |         bindsym Mod4+r mode "default" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bindsym Mod4+r mode "resize" | ||||||
|  | 
 | ||||||
|  | #class                 border  backgr. text    indicator child_border | ||||||
|  | client.focused          #9C7907 #444303 #ffffff #9C7907   #9C7907 | ||||||
|  | client.focused_inactive #111111 #000000 #ffffff #484e50   #5f676a | ||||||
|  | client.unfocused        #333333 #222222 #888888 #292d2e   #222222 | ||||||
|  | client.urgent           #2f343a #900000 #ffffff #900000   #900000 | ||||||
|  | client.placeholder      #000000 #0c0c0c #ffffff #000000   #0c0c0c | ||||||
|  | 
 | ||||||
|  | client.background       #ffffff | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Start i3bar to display a workspace bar (plus the system information i3status | ||||||
|  | # finds out, if available) | ||||||
|  | bar { | ||||||
|  |         position top | ||||||
|  |         status_command exec /home/pierre/.config/i3status/mytopbar.sh | ||||||
|  |         workspace_buttons no | ||||||
|  |         tray_output primary | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bar { | ||||||
|  |         position bottom | ||||||
|  |         status_command exec /home/pierre/.config/i3status/mybottombar.sh | ||||||
|  |         tray_output none | ||||||
|  | } | ||||||
|  | ####################################################################### | ||||||
|  | # automatically start i3-config-wizard to offer the user to create a | ||||||
|  | # keysym-based config which used their favorite modifier (alt or windows) | ||||||
|  | # | ||||||
|  | # i3-config-wizard will not launch if there already is a config file | ||||||
|  | # in ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set) or | ||||||
|  | # ~/.i3/config. | ||||||
|  | # | ||||||
|  | # Please remove the following exec line: | ||||||
|  | ####################################################################### | ||||||
|  | #exec i3-config-wizard | ||||||
|  | @ -0,0 +1,214 @@ | ||||||
|  | # i3 config file (v4) | ||||||
|  | # | ||||||
|  | # Please see https://i3wm.org/docs/userguide.html for a complete reference! | ||||||
|  | # | ||||||
|  | # This config file uses keycodes (bindsym) and was written for the QWERTY | ||||||
|  | # layout. | ||||||
|  | # | ||||||
|  | # To get a config file with the same key positions, but for your current | ||||||
|  | # layout, use the i3-config-wizard | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | # 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 8 | ||||||
|  | 
 | ||||||
|  | # This font is widely installed, provides lots of unicode glyphs, right-to-left | ||||||
|  | # text rendering and scalability on retina/hidpi displays (thanks to pango). | ||||||
|  | #font pango:DejaVu Sans Mono 8 | ||||||
|  | 
 | ||||||
|  | # 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 | ||||||
|  | 
 | ||||||
|  | # NetworkManager is the most popular way to manage wireless networks on Linux, | ||||||
|  | # and nm-applet is a desktop environment-independent system tray GUI for it. | ||||||
|  | exec --no-startup-id nm-applet | ||||||
|  | 
 | ||||||
|  | # Use pactl to adjust volume in PulseAudio. | ||||||
|  | set $refresh_i3status killall -SIGUSR1 i3status | ||||||
|  | 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 these keys for focus, movement, and resize directions when reaching for | ||||||
|  | # the arrows is not convenient | ||||||
|  | set $up l | ||||||
|  | set $down k | ||||||
|  | set $left j | ||||||
|  | set $right semicolon | ||||||
|  | 
 | ||||||
|  | # use Mouse+Mod1 to drag floating windows to their wanted position | ||||||
|  | floating_modifier Mod1 | ||||||
|  | 
 | ||||||
|  | # 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 Mod1+Return exec i3-sensible-terminal | ||||||
|  | 
 | ||||||
|  | # kill focused window | ||||||
|  | bindsym Mod1+Shift+q kill | ||||||
|  | 
 | ||||||
|  | # start dmenu (a program launcher) | ||||||
|  | bindsym Mod1+d exec --no-startup-id dmenu_run | ||||||
|  | # A more modern dmenu replacement is rofi: | ||||||
|  | # bindsym Mod1+d 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. | ||||||
|  | # bindsym Mod1+d exec --no-startup-id i3-dmenu-desktop | ||||||
|  | 
 | ||||||
|  | # change focus | ||||||
|  | bindsym Mod1+$left focus left | ||||||
|  | bindsym Mod1+$down focus down | ||||||
|  | bindsym Mod1+$up focus up | ||||||
|  | bindsym Mod1+$right focus right | ||||||
|  | 
 | ||||||
|  | # alternatively, you can use the cursor keys: | ||||||
|  | bindsym Mod1+Left focus left | ||||||
|  | bindsym Mod1+Down focus down | ||||||
|  | bindsym Mod1+Up focus up | ||||||
|  | bindsym Mod1+Right focus right | ||||||
|  | 
 | ||||||
|  | # move focused window | ||||||
|  | bindsym Mod1+Shift+$left move left | ||||||
|  | bindsym Mod1+Shift+$down move down | ||||||
|  | bindsym Mod1+Shift+$up move up | ||||||
|  | bindsym Mod1+Shift+$right move right | ||||||
|  | 
 | ||||||
|  | # alternatively, you can use the cursor keys: | ||||||
|  | bindsym Mod1+Shift+Left move left | ||||||
|  | bindsym Mod1+Shift+Down move down | ||||||
|  | bindsym Mod1+Shift+Up move up | ||||||
|  | bindsym Mod1+Shift+Right move right | ||||||
|  | 
 | ||||||
|  | # split in horizontal orientation | ||||||
|  | bindsym Mod1+h split h | ||||||
|  | 
 | ||||||
|  | # split in vertical orientation | ||||||
|  | bindsym Mod1+v split v | ||||||
|  | 
 | ||||||
|  | # enter fullscreen mode for the focused container | ||||||
|  | bindsym Mod1+f fullscreen toggle | ||||||
|  | 
 | ||||||
|  | # change container layout (stacked, tabbed, toggle split) | ||||||
|  | bindsym Mod1+s layout stacking | ||||||
|  | bindsym Mod1+w layout tabbed | ||||||
|  | bindsym Mod1+e layout toggle split | ||||||
|  | 
 | ||||||
|  | # toggle tiling / floating | ||||||
|  | bindsym Mod1+Shift+space floating toggle | ||||||
|  | 
 | ||||||
|  | # change focus between tiling / floating windows | ||||||
|  | bindsym Mod1+space focus mode_toggle | ||||||
|  | 
 | ||||||
|  | # focus the parent container | ||||||
|  | bindsym Mod1+a focus parent | ||||||
|  | 
 | ||||||
|  | # focus the child container | ||||||
|  | #bindsym Mod1+d focus child | ||||||
|  | 
 | ||||||
|  | # move the currently focused window to the scratchpad | ||||||
|  | bindsym Mod1+Shift+minus move scratchpad | ||||||
|  | 
 | ||||||
|  | # Show the next scratchpad window or hide the focused scratchpad window. | ||||||
|  | # If there are multiple scratchpad windows, this command cycles through them. | ||||||
|  | bindsym Mod1+minus scratchpad show | ||||||
|  | 
 | ||||||
|  | # Define names for default workspaces for which we configure key bindings later on. | ||||||
|  | # We use variables to avoid repeating the names in multiple places. | ||||||
|  | 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" | ||||||
|  | 
 | ||||||
|  | # switch to workspace | ||||||
|  | bindsym Mod1+1 workspace number $ws1 | ||||||
|  | bindsym Mod1+2 workspace number $ws2 | ||||||
|  | bindsym Mod1+3 workspace number $ws3 | ||||||
|  | bindsym Mod1+4 workspace number $ws4 | ||||||
|  | bindsym Mod1+5 workspace number $ws5 | ||||||
|  | bindsym Mod1+6 workspace number $ws6 | ||||||
|  | bindsym Mod1+7 workspace number $ws7 | ||||||
|  | bindsym Mod1+8 workspace number $ws8 | ||||||
|  | bindsym Mod1+9 workspace number $ws9 | ||||||
|  | bindsym Mod1+0 workspace number $ws10 | ||||||
|  | 
 | ||||||
|  | # move focused container to workspace | ||||||
|  | bindsym Mod1+Shift+1 move container to workspace number $ws1 | ||||||
|  | bindsym Mod1+Shift+2 move container to workspace number $ws2 | ||||||
|  | bindsym Mod1+Shift+3 move container to workspace number $ws3 | ||||||
|  | bindsym Mod1+Shift+4 move container to workspace number $ws4 | ||||||
|  | bindsym Mod1+Shift+5 move container to workspace number $ws5 | ||||||
|  | bindsym Mod1+Shift+6 move container to workspace number $ws6 | ||||||
|  | bindsym Mod1+Shift+7 move container to workspace number $ws7 | ||||||
|  | bindsym Mod1+Shift+8 move container to workspace number $ws8 | ||||||
|  | bindsym Mod1+Shift+9 move container to workspace number $ws9 | ||||||
|  | bindsym Mod1+Shift+0 move container to workspace number $ws10 | ||||||
|  | 
 | ||||||
|  | # reload the configuration file | ||||||
|  | bindsym Mod1+Shift+c reload | ||||||
|  | # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) | ||||||
|  | bindsym Mod1+Shift+r restart | ||||||
|  | # exit i3 (logs you out of your X session) | ||||||
|  | bindsym Mod1+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 $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 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 Mod1+r | ||||||
|  |         bindsym Return mode "default" | ||||||
|  |         bindsym Escape mode "default" | ||||||
|  |         bindsym Mod1+r mode "default" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bindsym Mod1+r mode "resize" | ||||||
|  | 
 | ||||||
|  | # Start i3bar to display a workspace bar (plus the system information i3status | ||||||
|  | # finds out, if available) | ||||||
|  | bar { | ||||||
|  |         status_command i3status | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ####################################################################### | ||||||
|  | # automatically start i3-config-wizard to offer the user to create a | ||||||
|  | # keysym-based config which used their favorite modifier (alt or windows) | ||||||
|  | # | ||||||
|  | # i3-config-wizard will not launch if there already is a config file | ||||||
|  | # in ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set) or | ||||||
|  | # ~/.i3/config. | ||||||
|  | # | ||||||
|  | # Please remove the following exec line: | ||||||
|  | ####################################################################### | ||||||
|  | exec i3-config-wizard | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | # show year calendar with week numbers | ||||||
|  | # and press any key to exit | ||||||
|  | dialog --date-format %Y/%m/%d --calendar "Select a date" 0 0 $(date +'%d %m %Y') | ||||||
|  | #cal -yw | ||||||
|  | #read -n 1 -r -s | ||||||
|  | @ -0,0 +1,12 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | # Actually works for ProtonVPN | ||||||
|  | # we are connected if the directory exists | ||||||
|  | if [ -d /proc/sys/net/ipv4/conf/wg0 ]; then | ||||||
|  |   # we are connected, so propose disconnexion | ||||||
|  |   echo "Disconnect VPN" | ||||||
|  |   sudo wg-quick down wg0  | ||||||
|  | else | ||||||
|  |   echo "Connect VPN" | ||||||
|  |   sudo wg-quick up wg0 | ||||||
|  | fi | ||||||
|  | @ -0,0 +1,171 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | # i3 config in ~/.config/i3/config : | ||||||
|  | # bar { | ||||||
|  | #   status_command exec /home/you/.config/i3status/mybar.sh | ||||||
|  | # } | ||||||
|  | 
 | ||||||
|  | bg_bar_color="#282A36" | ||||||
|  | 
 | ||||||
|  | # Print a left caret separator | ||||||
|  | # @params {string} $1 text color, ex: "#FF0000" | ||||||
|  | # @params {string} $2 background color, ex: "#FF0000" | ||||||
|  | separator() { | ||||||
|  |   echo -n "{" | ||||||
|  |   echo -n "\"full_text\":\"\"," # CTRL+Ue0b2 | ||||||
|  |   echo -n "\"separator\":false," | ||||||
|  |   echo -n "\"separator_block_width\":0," | ||||||
|  |   echo -n "\"border\":\"$bg_bar_color\"," | ||||||
|  |   echo -n "\"border_left\":0," | ||||||
|  |   echo -n "\"border_right\":0," | ||||||
|  |   echo -n "\"border_top\":2," | ||||||
|  |   echo -n "\"border_bottom\":2," | ||||||
|  |   echo -n "\"color\":\"$1\"," | ||||||
|  |   echo -n "\"background\":\"$2\"" | ||||||
|  |   echo -n "}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | common() { | ||||||
|  |   echo -n "\"border\": \"$bg_bar_color\"," | ||||||
|  |   echo -n "\"separator\":false," | ||||||
|  |   echo -n "\"separator_block_width\":0," | ||||||
|  |   echo -n "\"border_top\":2," | ||||||
|  |   echo -n "\"border_bottom\":2," | ||||||
|  |   echo -n "\"border_left\":0," | ||||||
|  |   echo -n "\"border_right\":0" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | myip_public_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"ip_public_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\" $(echo -n "Public Ip:") \"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | myip_public() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#00A300" | ||||||
|  |   separator $bg "#FFFFFF" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"ip_public\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\"$(curl -4 ip.me)\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | myip_local_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"ip_local_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\"  $(echo -n "Local Ip:")\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | mygeo_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#00A300" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"mygeo_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\" ($(/home/pierre/bin/goiplookup $(curl -s4 ip.me) | cut -d" " -f4-))\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | myip_local() { | ||||||
|  |   local bg="#000000" # vert | ||||||
|  |   separator $bg $bg_separator_previous | ||||||
|  |   local text_color="#00A300" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"name\":\"ip_local\"," | ||||||
|  |   echo -n "\"full_text\":\"$(ip route get 1 | sed -n 's/.*src \([0-9.]\+\).*/\1/p')\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | vpn_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   local icon="" | ||||||
|  |   if [ ! -d /proc/sys/net/ipv4/conf/wg0 ]; then | ||||||
|  |     icon="" | ||||||
|  |   fi | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"vpn_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\"  $(echo -n "VPN:")\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | myvpn_on() { | ||||||
|  |   local bg="#000000" # grey darken-3 | ||||||
|  |   local icon="" | ||||||
|  |   text_color="#00A300" | ||||||
|  |   text="ON" | ||||||
|  |   if [ ! -d /proc/sys/net/ipv4/conf/wg0 ]; then | ||||||
|  |     text_color="#E53935" # rouge | ||||||
|  |     text="OFF" | ||||||
|  |     icon="" | ||||||
|  |   fi | ||||||
|  |   separator $bg "#1976D2" # background left previous block | ||||||
|  |   bg_separator_previous=$bg | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"name\":\"id_vpn\","       | ||||||
|  |   echo -n "\"full_text\":\" ${icon} ${text} \"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | # https://github.com/i3/i3/blob/next/contrib/trivial-bar-script.sh | ||||||
|  | echo '{ "version": 1, "click_events":true }'     # Send the header so that i3bar knows we want to use JSON: | ||||||
|  | echo '['                    # Begin the endless array. | ||||||
|  | echo '[]'                   # We send an empty first array of blocks to make the loop simpler: | ||||||
|  | 
 | ||||||
|  | # Now send blocks with information forever: | ||||||
|  | (while :; | ||||||
|  | do | ||||||
|  | 	echo -n ",[" | ||||||
|  |   myip_public_text | ||||||
|  |   myip_public | ||||||
|  |   mygeo_text | ||||||
|  |   myip_local_text | ||||||
|  |   myip_local | ||||||
|  |   vpn_text | ||||||
|  |   myvpn_on | ||||||
|  |   echo "]" | ||||||
|  | 	sleep 5 | ||||||
|  | done) & | ||||||
|  | 
 | ||||||
|  | # click events | ||||||
|  | while read line; | ||||||
|  | do | ||||||
|  |   # echo $line > /home/you/gitclones/github/i3/tmp.txt | ||||||
|  |   # {"name":"id_vpn","button":1,"modifiers":["Mod2"],"x":2982,"y":9,"relative_x":67,"relative_y":9,"width":95,"height":22} | ||||||
|  | 
 | ||||||
|  |   # VPN click | ||||||
|  |   if [[ $line == *"name"*"id_vpn"* ]]; then | ||||||
|  |     mate-terminal -e /home/pierre/.config/i3status/click_vpn.sh & | ||||||
|  |   fi   | ||||||
|  | done | ||||||
|  | @ -0,0 +1,357 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | # i3 config in ~/.config/i3/config : | ||||||
|  | # bar { | ||||||
|  | #   status_command exec /home/you/.config/i3status/mybar.sh | ||||||
|  | # } | ||||||
|  | 
 | ||||||
|  | bg_bar_color="#282A36" | ||||||
|  | 
 | ||||||
|  | # Print a left caret separator | ||||||
|  | # @params {string} $1 text color, ex: "#FF0000" | ||||||
|  | # @params {string} $2 background color, ex: "#FF0000" | ||||||
|  | separator() { | ||||||
|  |   echo -n "{" | ||||||
|  |   echo -n "\"full_text\":\"\"," # CTRL+Ue0b2 | ||||||
|  |   echo -n "\"separator\":false," | ||||||
|  |   echo -n "\"separator_block_width\":0," | ||||||
|  |   echo -n "\"border\":\"$bg_bar_color\"," | ||||||
|  |   echo -n "\"border_left\":0," | ||||||
|  |   echo -n "\"border_right\":0," | ||||||
|  |   echo -n "\"border_top\":2," | ||||||
|  |   echo -n "\"border_bottom\":2," | ||||||
|  |   echo -n "\"color\":\"$1\"," | ||||||
|  |   echo -n "\"background\":\"$2\"" | ||||||
|  |   echo -n "}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | common() { | ||||||
|  |   echo -n "\"border\": \"$bg_bar_color\"," | ||||||
|  |   echo -n "\"separator\":false," | ||||||
|  |   echo -n "\"separator_block_width\":0," | ||||||
|  |   echo -n "\"border_top\":2," | ||||||
|  |   echo -n "\"border_bottom\":2," | ||||||
|  |   echo -n "\"border_left\":0," | ||||||
|  |   echo -n "\"border_right\":0" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | root_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_root_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\" $(echo -n 'Root:')\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | root_usage() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#00A300" | ||||||
|  |   separator $bg "#2E7D32" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_root_usage\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\"$(df --output=pcent / | grep -v Uti)\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | home_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_home_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\" $(echo -n 'Home:')\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | home_usage() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#00A300" | ||||||
|  |   separator $bg "#2E7D32" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_home_usage\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\"$(df --output=pcent /home | grep -v Uti)\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | src_usage() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#00A300" | ||||||
|  |   separator $bg "#2E7D32" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_src_usage\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\"$(df --output=pcent /usr/src | grep -v Uti)\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | src_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_src_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\" $(echo -n 'Src:')\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | seclists_usage() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#00A300" | ||||||
|  |   separator $bg "#2E7D32" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_seclists_usage\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\"$(df --output=pcent /usr/share/seclists | grep -v Uti)\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | seclists_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_boot_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\" $(echo -n 'Sec:')\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | boot_usage() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#00A300" | ||||||
|  |   separator $bg "#2E7D32" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_boot_usage\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\"$(df --output=pcent /boot | grep -v Uti)\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | boot_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_boot_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\" $(echo -n 'Boot:')\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | memory_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_memory_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\" $(echo -n ' Mem: ')\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | memory() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#00A300" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"name\":\"id_memory\"," | ||||||
|  |   echo -n "\"full_text\":\"$(free | awk '/^Mem/ { printf("%.2f", $3/$2 * 100.0) }')%\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | cpu_usage() { | ||||||
|  |   local text_color="#00A300" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"name\":\"id_cpu_usage\"," | ||||||
|  |   echo -n "\"full_text\":\"$(ps -A -o pcpu | tail -n+2 | paste -sd+ | bc)% \"," | ||||||
|  |   echo -n "\"background\":\"#000000\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | cpu_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_cpu_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\" $(echo -n ' CPU: ')\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | mydate() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   separator $bg "#FFD190" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_time\"," | ||||||
|  |   echo -n "\"full_text\":\"  $(date "+%a %d/%m %H:%M") \"," | ||||||
|  |   echo -n "\"color\":\"#D48F06\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bat_text() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |     charging=$(cat /sys/class/power_supply/BAT0/uevent | grep "POWER_SUPPLY_STATUS" | cut -d'=' -f2) # POWER_SUPPLY_STATUS=Discharging|Charging | ||||||
|  |     icon="" | ||||||
|  |     if [ "$charging" == "Charging" ]; then | ||||||
|  |       icon="" | ||||||
|  |     fi | ||||||
|  |   separator $bg "#FFD180" | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_bat_text\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   echo -n "\"full_text\":\"${icon}$(echo -n ' Bat: ')\"," | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | battery0() { | ||||||
|  |   if [ -f /sys/class/power_supply/BAT0/uevent ]; then | ||||||
|  |     local bg="#000000" | ||||||
|  |     separator $bg "#E0E0E0" | ||||||
|  |     bg_separator_previous=$bg | ||||||
|  |     prct=$(cat /sys/class/power_supply/BAT0/uevent | grep "POWER_SUPPLY_CAPACITY=" | cut -d'=' -f2) | ||||||
|  |     echo -n ",{" | ||||||
|  |     echo -n "\"name\":\"battery0\"," | ||||||
|  |     echo -n "\"full_text\":\"${prct}% \"," | ||||||
|  |     echo -n "\"color\":\"#00A300\"," | ||||||
|  |     echo -n "\"background\":\"$bg\"," | ||||||
|  |     common | ||||||
|  |     echo -n "}," | ||||||
|  |   else | ||||||
|  |     bg_separator_previous="#E0E0E0" | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | volume() { | ||||||
|  |   local bg="#000000" | ||||||
|  |   local text_color="#D48F06" | ||||||
|  |   separator $bg $bg_separator_previous   | ||||||
|  |   vol=$(pulsemixer --get-volume) | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_volume\"," | ||||||
|  |   echo -n "\"color\":\"$text_color\"," | ||||||
|  |   if [ $vol -le 0 ]; then | ||||||
|  |     echo -n "\"full_text\":\"  ${vol}% \"," | ||||||
|  |   else | ||||||
|  |     echo -n "\"full_text\":\"  ${vol}% \"," | ||||||
|  |   fi | ||||||
|  |   echo -n "\"background\":\"$bg\"," | ||||||
|  |   common | ||||||
|  |   echo -n "}," | ||||||
|  |   separator $bg_bar_color $bg | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | systemupdate() { | ||||||
|  |   local nb=$(checkupdates | wc -l) | ||||||
|  |   if (( $nb > 0)); then | ||||||
|  |     echo -n ",{" | ||||||
|  |     echo -n "\"name\":\"id_systemupdate\"," | ||||||
|  |     echo -n "\"full_text\":\"  ${nb}\"" | ||||||
|  |     echo -n "}" | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | logout() { | ||||||
|  |   echo -n ",{" | ||||||
|  |   echo -n "\"name\":\"id_logout\"," | ||||||
|  |   echo -n "\"full_text\":\"  \"" | ||||||
|  |   echo -n "}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | # https://github.com/i3/i3/blob/next/contrib/trivial-bar-script.sh | ||||||
|  | echo '{ "version": 1, "click_events":true }'     # Send the header so that i3bar knows we want to use JSON: | ||||||
|  | echo '['                    # Begin the endless array. | ||||||
|  | echo '[]'                   # We send an empty first array of blocks to make the loop simpler: | ||||||
|  | 
 | ||||||
|  | # Now send blocks with information forever: | ||||||
|  | (while :; | ||||||
|  | do | ||||||
|  | 	echo -n ",[" | ||||||
|  |   root_text | ||||||
|  |   root_usage | ||||||
|  |   home_text | ||||||
|  |   home_usage | ||||||
|  |   boot_text | ||||||
|  |   boot_usage | ||||||
|  |   src_text | ||||||
|  |   src_usage | ||||||
|  |   seclists_text | ||||||
|  |   seclists_usage | ||||||
|  |   memory_text | ||||||
|  |   memory | ||||||
|  |   cpu_text | ||||||
|  |   cpu_usage | ||||||
|  |   mydate | ||||||
|  |   bat_text | ||||||
|  |   battery0 | ||||||
|  |   volume | ||||||
|  |   logout | ||||||
|  |   echo "]" | ||||||
|  | 	sleep 1 | ||||||
|  | done) & | ||||||
|  | 
 | ||||||
|  | # click events | ||||||
|  | while read line; | ||||||
|  | do | ||||||
|  |   # echo $line > /home/you/gitclones/github/i3/tmp.txt | ||||||
|  |   # {"name":"id_vpn","button":1,"modifiers":["Mod2"],"x":2982,"y":9,"relative_x":67,"relative_y":9,"width":95,"height":22} | ||||||
|  | 
 | ||||||
|  |   # CPU | ||||||
|  |   if [[ $line == *"name"*"id_cpu_usage"* ]]; then | ||||||
|  |     wezterm --config-file /home/pierre/.config/i3status/wezterm_htop.lua -e --class term_date htop & | ||||||
|  | 
 | ||||||
|  |   # TIME | ||||||
|  |   elif [[ $line == *"name"*"id_time"* ]]; then | ||||||
|  |     wezterm --config-file /home/pierre/.config/i3status/wezterm_date.lua -e --position screen:1582,21 --class term_date /home/pierre/.config/i3status/click_time.sh & | ||||||
|  | 
 | ||||||
|  |   # VOLUME | ||||||
|  |   elif [[ $line == *"name"*"id_volume"* ]]; then | ||||||
|  |     wezterm -e --class term_date -e pulsemixer & | ||||||
|  | 
 | ||||||
|  |   # LOGOUT | ||||||
|  |   elif [[ $line == *"name"*"id_logout"* ]]; then | ||||||
|  |     i3-nagbar -t warning -m 'Log out ?' -b 'yes' 'i3-msg exit' > /dev/null & | ||||||
|  |   fi   | ||||||
|  | done | ||||||
|  | @ -0,0 +1,20 @@ | ||||||
|  | -- Pull in the wezterm API | ||||||
|  | local wezterm = require 'wezterm' | ||||||
|  | 
 | ||||||
|  | -- This will hold the configuration. | ||||||
|  | local config = wezterm.config_builder() | ||||||
|  | 
 | ||||||
|  | config.enable_tab_bar= false | ||||||
|  | config.window_background_opacity = 0.8 | ||||||
|  | 
 | ||||||
|  | -- For example, changing the initial geometry for new windows: | ||||||
|  | config.initial_cols = 40 | ||||||
|  | config.initial_rows = 18 | ||||||
|  | config.color_scheme_dirs = { '~/.config/iTerm2-Color-Schemes' } | ||||||
|  | 
 | ||||||
|  | -- or, changing the font size and color scheme. | ||||||
|  | config.font_size = 10 | ||||||
|  | config.color_scheme = 'Ollie' | ||||||
|  | 
 | ||||||
|  | -- Finally, return the configuration to wezterm: | ||||||
|  | return config | ||||||
|  | @ -0,0 +1,20 @@ | ||||||
|  | -- Pull in the wezterm API | ||||||
|  | local wezterm = require 'wezterm' | ||||||
|  | 
 | ||||||
|  | -- This will hold the configuration. | ||||||
|  | local config = wezterm.config_builder() | ||||||
|  | 
 | ||||||
|  | config.enable_tab_bar= false | ||||||
|  | config.window_background_opacity = 0.8 | ||||||
|  | 
 | ||||||
|  | -- For example, changing the initial geometry for new windows: | ||||||
|  | config.initial_cols = 150 | ||||||
|  | config.initial_rows = 40 | ||||||
|  | config.color_scheme_dirs = { '~/.config/iTerm2-Color-Schemes' } | ||||||
|  | 
 | ||||||
|  | -- or, changing the font size and color scheme. | ||||||
|  | config.font_size = 10 | ||||||
|  | config.color_scheme = 'Ollie' | ||||||
|  | 
 | ||||||
|  | -- Finally, return the configuration to wezterm: | ||||||
|  | return config | ||||||
|  | @ -0,0 +1,29 @@ | ||||||
|  | -- Pull in the wezterm API | ||||||
|  | local wezterm = require 'wezterm' | ||||||
|  | 
 | ||||||
|  | -- This will hold the configuration. | ||||||
|  | local config = wezterm.config_builder() | ||||||
|  | 
 | ||||||
|  | config.enable_tab_bar= false | ||||||
|  | config.scrollback_lines = 3500 | ||||||
|  | config.default_cursor_style = 'BlinkingUnderline' | ||||||
|  | config.window_background_opacity = 0.8 | ||||||
|  | config.window_padding = { | ||||||
|  |   left = 2, | ||||||
|  |   right = 2, | ||||||
|  |   top = 0, | ||||||
|  |   bottom = 0, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | -- For example, changing the initial geometry for new windows: | ||||||
|  | --config.initial_cols = 45 | ||||||
|  | --config.initial_rows = 24 | ||||||
|  | config.enable_scroll_bar = true | ||||||
|  | config.color_scheme_dirs = { '~/.config/iTerm2-Color-Schemes' } | ||||||
|  | 
 | ||||||
|  | -- or, changing the font size and color scheme. | ||||||
|  | config.font_size = 10 | ||||||
|  | config.color_scheme = 'Ollie' | ||||||
|  | 
 | ||||||
|  | -- Finally, return the configuration to wezterm: | ||||||
|  | return config | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Snorky
						Snorky