From 7eb7099161a7a2c0201f67aca6af0e510daa7ef6 Mon Sep 17 00:00:00 2001 From: Breizh Date: Thu, 12 Aug 2021 20:26:12 +0200 Subject: [PATCH] =?UTF-8?q?Passage=20=C3=A0=20Wayland=20+=20Sway?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bash_profile | 6 +- .config/conky/conkyrc1 | 2 + .config/dunst/dunstrc | 86 ++++-- .config/gtk-3.0/bookmarks | 11 - .config/gtk-3.0/settings.ini.bak | 14 - .config/i3/config | 2 +- .config/i3blocks/config | 35 +-- .config/ranger/rc.conf | 2 +- .config/sway/config | 371 ++++++++++++++++++++++++++ .config/variety/scripts/set_wallpaper | 126 ++++----- .config/youtube-dl/config | 2 +- .i3blocks/bepo | 10 +- .i3blocks/claws-mail | 31 +++ .i3blocks/rgb | 29 ++ .local/bin/music-convert | 2 +- .vim/.netrwhist | 4 +- 16 files changed, 601 insertions(+), 132 deletions(-) delete mode 100644 .config/gtk-3.0/bookmarks delete mode 100644 .config/gtk-3.0/settings.ini.bak create mode 100644 .config/sway/config create mode 100755 .i3blocks/claws-mail create mode 100755 .i3blocks/rgb 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'