diff --git a/.bash_profile b/.bash_profile
index cb65e27..16744cd 100644
--- a/.bash_profile
+++ b/.bash_profile
@@ -18,13 +18,11 @@ export HIGHLIGHT_STYLE="base16/eighties"
eval $(ssh-agent -s)
if [ -z "$DISPLAY" ] && [ -n "$XDG_VTNR" ] && [ "$XDG_VTNR" -eq 1 ]; then
- export XDG_CURRENT_DESKTOP=i3
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
export QT_QPA_PLATFORMTHEME=qt5ct
export BROWSER="systemd-run --user --scope -p MemoryMax=2G firefox"
- export TERMINAL=urxvtc
- startx
- logout
+ export TERMINAL=footclient
+ exec sway
elif [ "$XDG_VTNR" -ne 6 ]; then
export BROWSER=elinks
fish
diff --git a/.config/conky/conkyrc1 b/.config/conky/conkyrc1
index 4b10a57..45b3d01 100644
--- a/.config/conky/conkyrc1
+++ b/.config/conky/conkyrc1
@@ -103,5 +103,7 @@ ${template3 /tmp /tmp}
${template3 /dev/shm /dev/shm}
+${template3 /run/user/1000 /run/user/1000}
+
${execpi 5 /home/breizh/.config/conky/conky_mount}#${color2}${font2}$hr${font}${color}
]]
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
index 36c6628..33bbf1e 100644
--- a/.config/dunst/dunstrc
+++ b/.config/dunst/dunstrc
@@ -2,7 +2,7 @@
### Display ###
# Which monitor should the notifications be displayed on.
- monitor = 0
+ # monitor = 1
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
@@ -31,6 +31,23 @@
# screen width minus the width defined in within the geometry option.
geometry = "1122x5-30+20"
+ # Turn on the progess bar
+ progress_bar = true
+
+ # Set the progress bar height. This includes the frame, so make sure
+ # it's at least twice as big as the frame width.
+ progress_bar_height = 10
+
+ # Set the frame width of the progress bar
+ progress_bar_frame_width = 1
+
+ # Set the minimum width for the progress bar
+ progress_bar_min_width = 150
+
+ # Set the maximum width for the progress bar
+ progress_bar_max_width = 300
+
+
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
@@ -59,6 +76,9 @@
# Horizontal padding.
horizontal_padding = 8
+ # Padding between text and icon.
+ text_icon_padding = 0
+
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 1
@@ -100,7 +120,7 @@
# underline
#
# For a complete reference see
- # .
+ # .
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
@@ -132,6 +152,10 @@
# Possible values are "left", "center" and "right".
alignment = left
+ # Vertical alignment of message text and icon.
+ # Possible values are "top", "center" and "bottom".
+ vertical_alignment = center
+
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
@@ -162,6 +186,11 @@
# Align icons left/right/off
icon_position = left
+ # Scale small icons up to this size, set to 0 to disable. Helpful
+ # for e.g. small files or high-dpi screens. In case of conflict,
+ # max_icon_size takes precedence over this.
+ min_icon_size = 0
+
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32
@@ -175,7 +204,7 @@
sticky_history = yes
# Maximum amount of notifications kept in history
- history_length = 20
+ history_length = 2000
### Misc/Advanced ###
@@ -183,7 +212,7 @@
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
- browser = /usr/bin/firefox -new-tab
+ browser = $BROWSER --new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
@@ -215,6 +244,22 @@
# notification height to avoid clipping text and/or icons.
corner_radius = 0
+ # Ignore the dbus closeNotification message.
+ # Useful to enforce the timeout set by dunst configuration. Without this
+ # parameter, an application may close the notification sent before the
+ # user defined timeout.
+ ignore_dbusclose = false
+
+ ### Wayland ###
+ # These settings are Wayland-specific. They have no effect when using X11
+
+ # Uncomment this if you want to let notications appear under fullscreen
+ # applications (default: overlay)
+ # layer = top
+
+ # Set this to true to use X11 output on Wayland.
+ force_xwayland = false
+
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
@@ -229,15 +274,17 @@
### mouse
- # Defines action of mouse event
+ # Defines list of actions for each mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: If the notification has exactly one action, or one is marked as default,
# invoke it. If there are multiple and no default, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
+ # These values can be strung together for each mouse event, and
+ # will be executed in sequence.
mouse_left_click = close_current
- mouse_middle_click = do_action
+ mouse_middle_click = do_action, close_current
mouse_right_click = close_all
# Experimental features that may or may not work correctly. Do not expect them
@@ -250,6 +297,10 @@
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
+# The internal keyboard shortcut support in dunst is now considered deprecated
+# and should be replaced by dunstctl calls. You can use the configuration of your
+# WM or DE to bind these to shortcuts of your choice.
+# Check the dunstctl manual page for more info.
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
@@ -257,20 +308,21 @@
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
- # Close notification.
- close = ctrl+space
+ # Close notification. Equivalent dunstctl command:
+ # dunstctl close
+ # close = ctrl+space
- # Close all notifications.
- close_all = ctrl+shift+space
+ # Close all notifications. Equivalent dunstctl command:
+ # dunstctl close-all
+ # close_all = ctrl+shift+space
- # Redisplay last message(s).
- # On the US keyboard layout "grave" is normally above TAB and left
- # of "1". Make sure this key actually exists on your keyboard layout,
- # e.g. check output of 'xmodmap -pke'
- history = ctrl+dollar
+ # Redisplay last message(s). Equivalent dunstctl command:
+ # dunstctl history-pop
+ # history = ctrl+grave
- # Context menu.
- context = ctrl+shift+dollar
+ # Context menu. Equivalent dunstctl command:
+ # dunstctl context
+ # context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
diff --git a/.config/gtk-3.0/bookmarks b/.config/gtk-3.0/bookmarks
deleted file mode 100644
index ffbf589..0000000
--- a/.config/gtk-3.0/bookmarks
+++ /dev/null
@@ -1,11 +0,0 @@
-file:///home/breizh/.factorio .factorio
-file:///home/breizh/.minecraft .minecraft
-file:///home/breizh/Documents Documents
-file:///home/breizh/Images Images
-file:///home/breizh/Musique Musique
-file:///home/breizh/Vid%C3%A9os Vidéos
-file:///home/breizh/T%C3%A9l%C3%A9chargements Téléchargements
-file:///home/breizh/Images/Screenshots Screenshots
-file:///tmp tmp
-file:///home/breizh/.wine/drive_c drive_c
-file:///home/breizh/T%C3%A9l%C3%A9chargements/downthemall downthemall
diff --git a/.config/gtk-3.0/settings.ini.bak b/.config/gtk-3.0/settings.ini.bak
deleted file mode 100644
index 3a8c398..0000000
--- a/.config/gtk-3.0/settings.ini.bak
+++ /dev/null
@@ -1,14 +0,0 @@
-[Settings]
-gtk-application-prefer-dark-theme=true
-gtk-theme-name=Vertex-Dark
-gtk-icon-theme-name=Adwaita
-gtk-font-name=IBM Plex Sans 10
-gtk-button-images=1
-gtk-menu-images=1
-gtk-enable-event-sounds=1
-gtk-enable-input-feedback-sounds=0
-gtk-xft-antialias=1
-gtk-xft-hinting=1
-gtk-xft-hintstyle=hintfull
-gtk-xft-rgba=rgb
-gtk-decoration-layout=:menu,appmenu,close
diff --git a/.config/i3/config b/.config/i3/config
index 8f15739..df498c2 100644
--- a/.config/i3/config
+++ b/.config/i3/config
@@ -365,7 +365,7 @@ exec --no-startup-id nm-applet
exec --no-startup-id steam-native -silent -noverifyfiles -language french
#exec --no-startup-id SVPManager
exec --no-startup-id hp-systray -x
-exec --no-startup-id mpv "$HOME/Musique/WELCOME BACK.wav"
+exec --no-startup-id play "$HOME/Musique/WELCOME BACK.wav"
exec --no-startup-id variety
# Start i3bar to display a workspace bar (plus the system information i3status if available)
diff --git a/.config/i3blocks/config b/.config/i3blocks/config
index 47dfa99..13147f2 100644
--- a/.config/i3blocks/config
+++ b/.config/i3blocks/config
@@ -206,23 +206,28 @@ separator=false
[rgb]
interval=once
-[keyindicator]
-instance=Caps
-interval=once
-signal=11
-separator=false
-
-[keyindicator]
-instance=Num
-interval=once
-signal=12
+# [keyindicator]
+# instance=Caps
+# interval=once
+# signal=11
+# separator=false
+#
+# [keyindicator]
+# instance=Num
+# interval=once
+# signal=12
# Date Time
#
[time]
interval=1
markup=none
-#
-#[steam]
-#full_text=
-#command=i3-msg -q exec "steam-native -no-browser +open steam://open/minigameslist"
-#interval=0
+
+[steam]
+full_text=
+command=swaymsg -q exec "steam-native -no-browser +open steam://open/minigameslist"
+interval=0
+separator=false
+
+[claws-mail]
+interval=60
+
diff --git a/.config/ranger/rc.conf b/.config/ranger/rc.conf
index 1d8fcad..30beaac 100644
--- a/.config/ranger/rc.conf
+++ b/.config/ranger/rc.conf
@@ -114,7 +114,7 @@ set preview_images true
# Preview images in full color with the external command "ueberzug".
# Images are shown by using a child window.
# Only for users who run X11 in GNU/Linux.
-set preview_images_method w3m
+set preview_images_method sixel
# Delay in seconds before displaying an image with the w3m method.
# Increase it in case of experiencing display corruption.
diff --git a/.config/sway/config b/.config/sway/config
new file mode 100644
index 0000000..a0d4453
--- /dev/null
+++ b/.config/sway/config
@@ -0,0 +1,371 @@
+## Base16 Eighties
+# Author: Chris Kempson (http://chriskempson.com)
+#
+# You can use these variables anywhere in the sway configuration file.
+
+set $base00 #2d2d2d
+set $base01 #393939
+set $base02 #515151
+set $base03 #747369
+set $base04 #a09f93
+set $base05 #d3d0c8
+set $base06 #e8e6df
+set $base07 #f2f0ec
+set $base08 #f2777a
+set $base09 #f99157
+set $base0A #ffcc66
+set $base0B #99cc99
+set $base0C #66cccc
+set $base0D #6699cc
+set $base0E #cc99cc
+set $base0F #d27b53
+
+# Basic color configuration using the Base16 variables for windows and borders.
+# Property Name Border BG Text Indicator Child Border
+client.focused $base05 $base0D $base00 $base05 $base0D
+client.focused_inactive $base01 $base01 $base05 $base03 $base01
+client.unfocused $base01 $base00 $base05 $base01 $base01
+client.urgent $base08 $base08 $base00 $base08 $base08
+client.placeholder $base00 $base00 $base05 $base00 $base00
+client.background $base00
+
+exec systemctl --user import-environment DISPLAY
+
+# Inputs configuration
+
+input "type:keyboard" {
+ xkb_layout fr
+ xkb_variant bepo_afnor
+ xkb_numlock enable
+}
+
+# Outputs configuration
+
+output 'Samsung Electric Company C24FG7x HTHK500785' {
+ subpixel rgb
+ adaptive_sync off
+ bg /home/breizh/.config/variety/wallpaper/link fill
+}
+
+# GTK Configuration
+
+set $gs org.gnome.desktop.interface
+
+exec_always {
+ gsettings set $gs gtk-theme "Vertex-Dark"
+ gsettings set $gs icon-theme "Vertex-Icons"
+ gsettings set $gs cursor-theme "Adwaita"
+ gsettings set $gs font-name "IBM Plex Sans 10"
+}
+
+# Set mod key (Mod1=, Mod4=)
+set $mod Mod4
+
+exec foot --server
+
+# set default desktop layout (default is tiling)
+# workspace_layout tabbed
+
+# Configure border style
+default_border normal 1
+default_floating_border normal 1
+
+# Hide borders
+# hide_edge_borders smart
+
+# change borders
+bindsym $mod+u border none
+bindsym $mod+y border pixel 1
+bindsym $mod+n border normal 1
+
+# Font for window titles. Will also be used by the bar unless a different font
+# is used in the bar {} block below.
+font IBM Plex Sans, DejaVu Sans 10
+
+# Use Mouse+$mod to drag floating windows
+floating_modifier $mod
+
+# start a footclient
+bindsym $mod+Return exec footclient fish
+bindsym $mod+Ctrl+Return exec footclient
+
+
+# kill focused window
+bindsym $mod+Shift+q kill
+
+# start program launcher
+# bindsym $mod+d exec dmenu_recent -f -nb '#2d2d2d' -nf '#747369' -sb '#6699cc' -sf '#2d2d2d' -p 'execute' -fn 'xos4 Terminus'
+bindcode $mod+40 exec dmenu_recent
+
+# launch desktop menu
+bindsym $mod+z exec i3-dmenu-desktop --dmenu='dmenu -p "Launch:"'
+
+# launch without history
+bindcode $mod+Ctrl+40 exec dmenu_run -p "Execute:"
+
+
+################################################################################################
+
+# Screen
+# bindsym $mod+Home exec pkill -x -USR1 redshift
+bindsym $mod+End output 'Unknown Q27G2G4 0x000008C9' adaptive_sync on, exec dunstify -r 53364 -u low "Sway" "FreeSync AOC activé"
+bindsym $mod+Shift+End output 'Unknown Q27G2G4 0x000008C9' adaptive_sync off, exec dunstify -r 53364 -u low "Sway" "FreeSync AOC désactivé"
+
+# Volume controls
+bindsym XF86AudioRaiseVolume exec button=4 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
+bindsym XF86AudioLowerVolume exec button=5 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
+bindsym Shift+XF86AudioRaiseVolume exec mpc volume +2
+bindsym Shift+XF86AudioLowerVolume exec mpc volume -2
+bindsym XF86AudioMute exec button=2 ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
+bindsym XF86AudioMicMute exec button=2 instance=mic ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
+bindsym XF86HomePage exec button=2 instance=mic ${HOME}/.i3blocks/volume && pkill -RTMIN+10 i3blocks
+
+bindsym $mod+Ctrl+m exec pavucontrol
+
+# Media controls
+bindsym XF86AudioNext exec mpc next
+bindsym XF86AudioPrev exec mpc prev
+bindsym XF86AudioPlay exec mpc toggle
+bindsym $mod+XF86AudioPlay exec mpc stop
+
+# Notifications
+
+bindsym Ctrl+space exec dunstctl close
+bindsym Ctrl+Shift+space exec dunstctl close-all
+bindsym Ctrl+Shift+dollar exec dunstctl context
+bindsym Ctrl+dollar exec dunstctl history-pop
+bindsym $mod+Pause exec dunstctl set-paused toggle
+
+# Beep toggle
+bindsym $mod+Delete exec $HOME/.local/bin/toggle-beep && pkill -SIGRTMIN+14 i3blocks
+
+# Start Applications
+bindsym $mod+F2 exec $BROWSER
+bindsym $mod+Shift+F2 exec $BROWSER -P tmp --no-remote
+bindsym $mod+Ctrl+F2 exec epiphany
+bindsym $mod+Ctrl+F3 exec pcmanfm
+bindsym $mod+F3 exec footclient ranger
+bindsym $mod+F4 exec footclient bashmount
+bindsym $mod+F5 exec footclient ncmpcpp
+#bindsym Print exec sway-scrot
+#bindsym $mod+Print --release exec sway-scrot -w
+#bindsym $mod+Shift+Print --release exec sway-scrot -s
+bindsym $mod+l exec passmenu --type -l 10 $DMENU_OPTIONS
+
+# focus_follows_mouse no
+
+# change focus
+#bindsym $mod+j focus left
+#bindsym $mod+k focus down
+#bindsym $mod+l focus up
+#bindsym $mod+m 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+m 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
+
+# workspace back and forth (with/without active container)
+workspace_auto_back_and_forth yes
+bindsym $mod+b workspace back_and_forth
+bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
+
+# split orientation
+bindsym $mod+h split h
+bindsym $mod+v split v
+bindsym $mod+q split toggle
+
+# toggle fullscreen mode for the focused container
+bindsym $mod+f fullscreen toggle
+bindsym $mod+Shift+f fullscreen toggle global
+
+# 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
+
+# toggle sticky
+bindsym $mod+Shift+s sticky toggle
+
+# focus the parent container
+bindsym $mod+a focus parent
+
+# move the currently focused window to the scratchpad
+bindsym $mod+Shift+dollar 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 $mod+dollar scratchpad show
+
+#navigate workspaces next / previous
+bindsym $mod+Ctrl+Right workspace next
+bindsym $mod+Ctrl+Left workspace prev
+
+# Workspace names
+# to display names or symbols instead of plain workspace numbers you can use
+set $ws1 1
+set $ws2 2
+set $ws3 3
+set $ws4 4
+set $ws5 5
+set $ws6 6
+set $ws7 7
+set $ws8 8
+
+# switch to workspace
+bindcode $mod+10 workspace $ws1
+bindcode $mod+11 workspace $ws2
+bindcode $mod+12 workspace $ws3
+bindcode $mod+13 workspace $ws4
+bindcode $mod+14 workspace $ws5
+bindcode $mod+15 workspace $ws6
+bindcode $mod+16 workspace $ws7
+bindcode $mod+17 workspace $ws8
+
+# Move focused container to workspace
+bindcode $mod+Ctrl+10 move container to workspace $ws1
+bindcode $mod+Ctrl+11 move container to workspace $ws2
+bindcode $mod+Ctrl+12 move container to workspace $ws3
+bindcode $mod+Ctrl+13 move container to workspace $ws4
+bindcode $mod+Ctrl+14 move container to workspace $ws5
+bindcode $mod+Ctrl+15 move container to workspace $ws6
+bindcode $mod+Ctrl+16 move container to workspace $ws7
+bindcode $mod+Ctrl+17 move container to workspace $ws8
+
+# Move to workspace with focused container
+bindcode $mod+Shift+10 move container to workspace $ws1; workspace $ws1
+bindcode $mod+Shift+11 move container to workspace $ws2; workspace $ws2
+bindcode $mod+Shift+12 move container to workspace $ws3; workspace $ws3
+bindcode $mod+Shift+13 move container to workspace $ws4; workspace $ws4
+bindcode $mod+Shift+14 move container to workspace $ws5; workspace $ws5
+bindcode $mod+Shift+15 move container to workspace $ws6; workspace $ws6
+bindcode $mod+Shift+16 move container to workspace $ws7; workspace $ws7
+bindcode $mod+Shift+17 move container to workspace $ws8; workspace $ws8
+
+#workspace $ws1 output DP-2
+#workspace $ws2 output DP-2
+#workspace $ws3 output DP-2
+#workspace $ws4 output DP-2
+#workspace $ws5 output DP-2
+#workspace $ws6 output DP-2
+#workspace $ws7 output DP-2
+#workspace $ws8 output DP-1
+
+# Open specific applications in floating mode
+for_window [title="File Transfer*"] floating enable
+for_window [class="Pavucontrol"] floating enable
+for_window [class="qt5ct"] floating enable sticky enable border normal
+for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal
+for_window [class="(?i)TransportFever2"] border none fullscreen disable
+for_window [class="(?i)System-config-printer.py"] floating enable border normal
+for_window [class="(?i)variety"] floating enable
+for_window [app_id="newsboat"] move scratchpad
+
+# Games
+for_window [class="(?i)factorio"] border none
+for_window [class="(?i)Rail Route.x86"] border none
+
+# Assign apps to workspace
+assign [app_id="claws-mail"] 🖂
+
+# reload the configuration file
+bindsym $mod+Shift+c reload
+
+# Set shut down, restart and locking features
+set $mode_system (l)ock, (e)xit, (s)uspend, (h)ibernate, (r)eboot, (S)hutdown
+bindcode $mod+19 mode "$mode_system"
+mode "$mode_system" {
+ bindsym l exec swaylock, mode "default"
+ bindsym s exec systemctl suspend, mode "default"
+ bindsym e exec swaymsg exit, mode "default"
+ bindsym h exec systemctl hibernate, mode "default"
+ bindsym r exec systemctl reboot, mode "default"
+ bindsym Shift+s exec systemctl poweroff, mode "default"
+
+ # exit system mode: "Enter" or "Escape"
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+# Resize window (you can also use the mouse for that)
+bindsym $mod+r mode "resize"
+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 5 px or 5 ppt
+ bindsym k resize grow height 5 px or 5 ppt
+ bindsym l resize shrink height 5 px or 5 ppt
+ bindsym m resize grow width 5 px or 5 ppt
+
+ # same bindings, but for the arrow keys
+ bindsym Left resize shrink width 5 px or 5 ppt
+ bindsym Down resize grow height 5 px or 5 ppt
+ bindsym Up resize shrink height 5 px or 5 ppt
+ bindsym Right resize grow width 5 px or 5 ppt
+
+ # exit resize mode: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+# Lock screen
+bindsym $mod+9 exec swaylock
+
+# Autostart applications
+#exec conky --config "$HOME/.config/conky/conkyrc1"
+#exec conky --config "$HOME/.config/conky/conkyrc2"
+exec claws-mail --online
+exec sleep 5 && footclient -a newsboat -T newsboat -o colors.alpha=1.0 -o colors.background=2D2D2D newsboat
+exec steam-native -silent -noverifyfiles -language french
+exec play "$HOME/Musique/WELCOME BACK.wav"
+exec variety
+
+# Start swaybar to display a workspace bar (plus the system information swaystatus if available)
+bar {
+ status_command i3blocks
+
+ height 24
+
+ tray_output none
+
+ font Terminus, DejaVu Sans Mono 12
+
+ colors {
+ background $base00
+ separator $base02
+ statusline $base05
+
+ # State Border BG Text
+ focused_workspace $base05 $base0D $base00
+ active_workspace $base05 $base03 $base00
+ inactive_workspace $base03 $base01 $base05
+ urgent_workspace $base08 $base08 $base00
+ binding_mode $base00 $base0A $base00
+ }
+}
+
+# hide/unhide swaybar
+bindsym $mod+comma bar mode toggle
+
diff --git a/.config/variety/scripts/set_wallpaper b/.config/variety/scripts/set_wallpaper
index e4290d4..45154ff 100755
--- a/.config/variety/scripts/set_wallpaper
+++ b/.config/variety/scripts/set_wallpaper
@@ -1,17 +1,20 @@
#!/bin/bash
#
-# This script is run by Variety when a new wallpaper is set.
-# You can use bash, python or whatever suits you for the script.
-# Here you can put custom commands for setting the wallpaper on your specific desktop environment
-# or run commands like notify-send to notify you of the change, or you can
-# run commands that would theme your browser, login screen or whatever you desire.
+# This script is run by Variety when a new wallpaper is set. You can use Bash, Python or whatever suits you best.
+# Here you can put custom commands for setting the wallpaper on your specific desktop environment,
+# or run commands like notify-send that notify you of the change. You can also add commands to theme your browser,
+# login screen or whatever you desire.
+#
+# Occasionally new versions of this script are released to bring support for new desktops. To apply them, you
+# should either delete this copy (in ~/.config/data/scripts/) and restart Variety, or merge in the changes yourself.
+# Bug fixes are automatically applied by Variety provided the local copy is never changed.
#
# PARAMETERS:
# $1: The first passed parameter is the absolute path to the wallpaper image to be set as wallpaper
# (after effects, clock, etc. are applied).
#
# $2: The second passed parameter is "auto" when the wallpaper is changed automatically (i.e. regular change), "manual"
-# when the user has triggered the change or "refresh" when the change is triggered by a change in quotes, clock, etc.
+# when the user has triggered the change, or "refresh" when the change is triggered by a change in quotes, clock, etc.
#
# $3: The third passed parameter is the absolute path to the original wallpaper image (before effects, clock, etc.)
#
@@ -24,20 +27,8 @@
# Here you may apply some additional custom operations on the wallpaper before it is applied.
# In the end put the path to the actual final wallpaper image file in the WP variable.
# The default is to simply set WP=$1.
+WP=$1
-WP="${HOME}/.config/variety/wallpaper/edited.png"
-
-# Décalage Conky
-convert "$3" -geometry 1380x1058 -background "#2d2d2d" -compose Copy -gravity Center -extent 1380x1058 "$WP"
-convert "$WP" -geometry 1920x1080 -background "#2d2d2d" -compose Copy -gravity Center -extent 1920x1080+0+22 "$WP"
-
-# Météo
-#touch -t $(date +%Y%m%d%H%M -d "now-1hour") /dev/shm/meteo.png.timestamp
-#if [[ ! -f "/dev/shm/meteo.png" ]] || [[ "/dev/shm/meteo.png" -ot "/dev/shm/meteo.png.timestamp" ]]
-#then
-# convert <(curl fr.wttr.in/Rennes_0q.png) -fill "#2d2d2d" -opaque "#000000" /dev/shm/meteo.png
-#fi
-#convert "$WP" /dev/shm/meteo.png -gravity SouthEast -geometry +7+22 -composite "$WP"
# Enlightenment
# Needs Modules/System/DBus Extension loaded to work
@@ -114,7 +105,7 @@ if [[ "$DESKTOP" == *"Enlightenment"* ]] || [[ "$DESKTOP" == *"Moksha"* ]]; then
# Remove all Variety wallpapers, but the current one and the previous one
# as we are calling enlightenment_remote asynchronously, if the previous wallpaper hasn't been
# replaced yet then the wallpaper will get set back to the theme one causing ugly artifacts
- LAST_WALLPAPER_FILE="$HOME/.config/variety/.enlightenment_last_wallpaper.txt"
+ LAST_WALLPAPER_FILE="/home/breizh/.config/variety/.enlightenment_last_wallpaper.txt"
if [ -e "$LAST_WALLPAPER_FILE" ]; then
find "$OUTPUT_DIR" -name "variety_wallpaper*.*" | grep -v "$OFILE.edj" | grep -v "$(cat "$LAST_WALLPAPER_FILE")" | xargs rm
@@ -122,7 +113,6 @@ if [[ "$DESKTOP" == *"Enlightenment"* ]] || [[ "$DESKTOP" == *"Moksha"* ]]; then
find "$OUTPUT_DIR" -name "variety_wallpaper*.*" | grep -v "$OFILE.edj" | xargs rm
fi
echo "$OFILE.edj" > "$LAST_WALLPAPER_FILE"
- exit 0
fi
# KDE: Users on KDE 4 or Plasma < 5.7 will have to manually choose ~/Pictures/variety-wallpaper/ as a slideshow folder with a short interval.
@@ -133,7 +123,16 @@ if [ "${KDE_FULL_SESSION}" == "true" ]; then
# Plasma 5.7 introduced a new feature to set the wallpaper via a qdbus script:
# https://github.com/KDE/plasma-workspace/commit/903cbfd7e267a4812a6ec222eb7e1b5dd775686f
if [[ -n "${KDE_SESSION_VERSION}" && "${KDE_SESSION_VERSION}" == '5' ]]; then
- qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "
+
+ # Try to find the Qt 5 version of qdbus. For systems using qtchooser, the binary name is 'qdbus'
+ # and the Qt version can be selected via the QT_SELECT environment variable.
+ if command -v qdbus-qt5 &>/dev/null; then
+ qdbus_command=qdbus-qt5
+ else
+ qdbus_command=qdbus
+ fi
+
+ QT_SELECT=5 $qdbus_command org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "
var allDesktops = desktops();
for (i=0; i < allDesktops.length; i++) {
d = allDesktops[i];
@@ -143,7 +142,17 @@ if [ "${KDE_FULL_SESSION}" == "true" ]; then
}
"
# Reuse the exit code from qdbus
- exit "$?"
+ qdbus_exitcode="$?"
+
+ if [[ "$qdbus_exitcode" -ne 0 ]]; then
+ # If the script fails, show a notification.
+ kdialog --title "Variety: cannot change Plasma wallpaper" --passivepopup "Could not change the Plasma 5 wallpaper; \
+ make sure that you're using Plasma 5.7+ and have widgets unlocked.\n----\n \
+ Due to Plasma limitations, external programs cannot automatically change the wallpaper when the widgets are locked.\n \
+ See https://git.io/vprpM for more information." --icon variety 10 # Final number is the length of the popup
+ fi
+ exit "$qdbus_exitcode"
+
else
WALLDIR="$(xdg-user-dir PICTURES)/variety-wallpaper"
mkdir -p "$WALLDIR"
@@ -156,26 +165,19 @@ if [ "${KDE_FULL_SESSION}" == "true" ]; then
fi
fi
-# Cinnamon, for cases when it is detectable
-if [ "$XDG_CURRENT_DESKTOP" == "X-Cinnamon" ]; then
- gsettings set org.cinnamon.background picture-uri "file://$WP" 2> /dev/null
- if [ "$(gsettings get org.cinnamon.background picture-options)" == "'none'" ]; then
- gsettings set org.cinnamon.background picture-options 'zoom'
- fi
-
- gsettings set org.cinnamon.desktop.background picture-uri "file://$WP" 2> /dev/null
- if [ "$(gsettings get org.cinnamon.desktop.background picture-options)" == "'none'" ]; then
- gsettings set org.cinnamon.desktop.background picture-options 'zoom'
- fi
- exit 0
-fi
-
# Gnome 3, Unity
gsettings set org.gnome.desktop.background picture-uri "file://$WP" 2> /dev/null
if [ "$(gsettings get org.gnome.desktop.background picture-options)" == "'none'" ]; then
gsettings set org.gnome.desktop.background picture-options 'zoom'
fi
+# GNOME Screensaver / Lock screen - thanks to George C. de Araujo for the patch
+gsettings set org.gnome.desktop.screensaver picture-uri "file://$WP" 2> /dev/null
+if [ "$(gsettings get org.gnome.desktop.screensaver picture-options)" == "'none'" ]; then
+ gsettings set org.gnome.desktop.screensaver picture-options 'zoom'
+fi
+
+
# Deepin
if [ "$(gsettings list-schemas | grep -c com.deepin.wrap.gnome.desktop.background)" -ge 1 ]; then
gsettings set com.deepin.wrap.gnome.desktop.background picture-uri "file://$WP"
@@ -205,48 +207,52 @@ if [ "$XDG_CURRENT_DESKTOP" == "LXQt" ]; then
pcmanfm-qt --set-wallpaper "$WP" 2> /dev/null
fi
-# i3, openbox, dwm: use either feh or nitrogen
-if [[ "$XDG_CURRENT_DESKTOP" == "i3"* ]] || [[ "$XDG_SESSION_DESKTOP" == "i3"* ]] ||
- [[ "$DESKTOP_SESSION" == "openbox" ]] || [[ "$XDG_SESSION_DESKTOP" == *"dwm"* ]] ||
- [[ "$XDG_CURRENT_DESKTOP" == *"dwm"* ]]; then
- if command -v "feh" >/dev/null 2>&1; then
- feh --bg-max --xinerama-index 0 "$WP" 2> /dev/null
+# For simple WMs, use either feh or nitrogen
+# Implementation note: this uses spaces around list items to enforce matching whole words.
+# This also means that an empty variable won't cause false positives, since it expands to " "
+SIMPLE_WMS=("bspwm" "dwm" "herbstluftwm" "i3" "i3-with-shmlog" "jwm" "openbox" "qtile" "qtile-venv" "xmonad")
+if [[ " ${SIMPLE_WMS[*]} " = *" $XDG_CURRENT_DESKTOP "* || " ${SIMPLE_WMS[*]} " = *" $XDG_SESSION_DESKTOP "* ||
+ " ${SIMPLE_WMS[*]} " = *" $DESKTOP_SESSION "* ]]; then
+ if command -v "feh" >/dev/null 2>&1; then
+ feh --bg-fill "$WP" 2> /dev/null
elif command -v "nitrogen" >/dev/null 2>&1; then
nitrogen --set-zoom-fill --save "$WP" 2> /dev/null
fi
fi
+if [[ -n $SWAYSOCK ]]; then
+ swaymsg output "*" bg "$WP" fill 2> /dev/null
+ ln -s -f "$WP" /home/breizh/.config/variety/wallpaper/link
+fi
+
# trinity
if [ "$XDG_CURRENT_DESKTOP" == "Trinity" ]; then
+ # The 4 refers to display mode 4; valid ones are 1-8
dcop kdesktop KBackgroundIface setWallpaper "$WP" 4 2> /dev/null
fi
# MATE after 1.6
gsettings set org.mate.background picture-filename "$WP" 2> /dev/null
-# MATE before 1.6
-mateconftool-2 -t string -s /desktop/mate/background/picture_filename "$WP" 2> /dev/null
-
-# Cinnamon after 1.8, before 2.0
-gsettings set org.cinnamon.background picture-uri "file://$WP" 2> /dev/null
-
# Cinnamon after 2.0
gsettings set org.cinnamon.desktop.background picture-uri "file://$WP" 2> /dev/null
-
-# Gnome 2
-gconftool-2 -t string -s /desktop/gnome/background/picture_filename "$WP" 2> /dev/null
+if [ "$(gsettings get org.cinnamon.desktop.background picture-options 2>/dev/null)" == "'none'" ]; then
+ gsettings set org.cinnamon.desktop.background picture-options 'zoom'
+fi
# Awesome Window Manager
-
-# Set the path to the wallpaper using awesome-client, which communicates with awesome using D-Bus.
-# Be sure to start variety when you start awesome, such as by adding it to ~/.xinitrc in Arch Linux.
-
-# echo "local gears = require(\"gears\") gears.wallpaper.maximized(\"$1\", s, true)" | awesome-client
-
+# Be sure to start variety when you start awesome, such as by adding it to ~/.xinitrc
# NOTE: This config will change the wallpaper after your current awesome theme sets it.
-# As such, the theme's wallpaper will briefly appear before being replaced with variety's wallpaper.
+# As such, the theme's wallpaper will briefly appear before being replaced with Variety's wallpaper.
+if [[ "$XDG_SESSION_DESKTOP $DESKTOP_STARTUP_ID $DESKTOP_SESSION $XDG_CURRENT_DESKTOP" == *"awesome"* ]]; then
+ echo "local gears = require(\"gears\") gears.wallpaper.maximized(\"$1\", nil)" | awesome-client
+fi
+# =====================================================================================
-# Show a notification on wallpaper change (only when the change is automatic). Display the original filename, but the post-effects image.
+# OPTIONAL: Show a notification on automatic wallpaper change.
+# Display the original filename in the notification, but actually apply the post-effects image.
# name=$(echo "$3" | sed 's/\//\n/g'| tail -n 1)
# if [ "$2" == "auto" ]; then notify-send --icon "$WP" "Wallpaper changed" "$name" ; fi
+
+exit 0
diff --git a/.config/youtube-dl/config b/.config/youtube-dl/config
index e5c6551..1b5a2be 100644
--- a/.config/youtube-dl/config
+++ b/.config/youtube-dl/config
@@ -5,6 +5,6 @@
--write-auto-sub
--sub-lang fr,en
-i
--f "((bestvideo[vcodec^=av01][height<=?1080][width<=?1920]/bestvideo[vcodec=vp9][height<=?1080][width<=?1920]/bestvideo[height<=?1080][width<=?1920]/bestvideo)+(bestaudio[acodec=opus]/bestaudio[acodec=vorbis]/bestaudio))/best"
+-f "((bestvideo[vcodec^=av01][height<=?1440][width<=?2560]/bestvideo[vcodec=vp9][height<=?1440][width<=?2560]/bestvideo[height<=?1440][width<=?2560]/bestvideo)+(bestaudio[acodec=opus]/bestaudio[acodec=vorbis]/bestaudio))/best"
--add-metadata
--hls-use-mpegts
diff --git a/.i3blocks/bepo b/.i3blocks/bepo
index 442043e..d049150 100755
--- a/.i3blocks/bepo
+++ b/.i3blocks/bepo
@@ -1,14 +1,14 @@
#!/bin/bash
-
+{
runtime="${XDG_RUNTIME_DIR}/i3blocks"
[[ ! -d "$runtime" ]] && mkdir -p "$runtime"
[[ ! -f "$runtime/keyboard" ]] && [[ -z "$button" ]] && button=1
case $button in
- 1) setxkbmap fr bepo_afnor; echo "bépo" > "$runtime/keyboard";;
- 3) setxkbmap fr oss; echo "oss " > "$runtime/keyboard";;
- 2) setxkbmap fr us; echo "qwer" > "$runtime/keyboard";;
+ 1) swaymsg input "type:keyboard" xkb_variant bepo_afnor; echo "bépo" > "$runtime/keyboard";;
+ 2) swaymsg input "type:keyboard" xkb_variant oss; echo "oss " > "$runtime/keyboard";;
+ 3) swaymsg input "type:keyboard" xkb_variant us; echo "qwer" > "$runtime/keyboard";;
esac
-
+} &>/dev/null
cat "$runtime/keyboard"
diff --git a/.i3blocks/claws-mail b/.i3blocks/claws-mail
new file mode 100755
index 0000000..81b9571
--- /dev/null
+++ b/.i3blocks/claws-mail
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+stats=($(claws-mail --status))
+status="$?"
+new=${stats[0]}
+unread=${stats[1]}
+
+if [[ "$unread" == "Claws" ]]
+then
+ swaymsg -q -- exec claws-mail --online
+fi
+
+if [[ "$button" -eq 1 ]]
+then
+ swaymsg -q -- workspace 🖂
+fi
+
+if [[ "$unread" -eq 0 ]]
+then
+ color="#747369"
+ icon="📪"
+elif [[ "$new" -eq 0 ]]
+then
+ color="#FFCC66"
+ icon="📫"
+else
+ color="#F2777A"
+ icon="📬"
+fi
+
+echo "$icon"
diff --git a/.i3blocks/rgb b/.i3blocks/rgb
new file mode 100755
index 0000000..bc2a967
--- /dev/null
+++ b/.i3blocks/rgb
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+runtime="${XDG_RUNTIME_DIR}/i3blocks"
+[[ ! -d "$runtime" ]] && mkdir -p "$runtime"
+
+if [[ -n "$button" ]]
+then
+ if [[ -f "$runtime/rgb" ]]
+ then
+ sudo msi-rgb 0 0 0 &>/dev/null
+ rm "$runtime/rgb"
+ else
+ sudo msi-rgb FFFFFFFF 0 0 &>/dev/null
+ touch "$runtime/rgb"
+ fi
+else
+ sudo msi-rgb FFFFFFFF 0 0 &>/dev/null
+ touch $runtime/rgb
+fi
+
+if [[ -f "$runtime/rgb" ]]
+then
+ color="#99CC99"
+else
+ color="#747369"
+fi
+
+
+echo "rgb"
diff --git a/.local/bin/music-convert b/.local/bin/music-convert
index f7ceca9..9ecc2c2 100755
--- a/.local/bin/music-convert
+++ b/.local/bin/music-convert
@@ -49,7 +49,7 @@ do
(
echo " $file"
- ffmpeg -n -loglevel error -i "file:$file" "file:${dstdir}${dstfile}"
+ ffmpeg -n -loglevel error -i "file:$file" -c:a libopus "file:${dstdir}${dstfile}"
echo "[${green} OK ${reset}] $file"
) &
else
diff --git a/.vim/.netrwhist b/.vim/.netrwhist
index 067a852..161b81f 100644
--- a/.vim/.netrwhist
+++ b/.vim/.netrwhist
@@ -1,5 +1,6 @@
let g:netrw_dirhistmax =10
-let g:netrw_dirhistcnt =3
+let g:netrw_dirhistcnt =4
+let g:netrw_dirhist_4='/home/breizh/.config'
let g:netrw_dirhist_3='/home/breizh/.config/fish'
let g:netrw_dirhist_2='/usr/lib/python3.9/site-packages/variety'
let g:netrw_dirhist_1='/usr/lib/modules/5.9.8-arch1-1/build/drivers/ipack/devices'
@@ -9,4 +10,3 @@ let g:netrw_dirhist_8='/home/breizh/aur'
let g:netrw_dirhist_7='/home/breizh/.ncmpcpp'
let g:netrw_dirhist_6='/home/breizh/.config/fish'
let g:netrw_dirhist_5='/home/breizh/.config/i3'
-let g:netrw_dirhist_4='/home/breizh/.config/fish'