Passage à Wayland + Sway

This commit is contained in:
Breizh 2021-08-12 20:26:12 +02:00
parent 4b57ed0f6c
commit d1167e7d63
16 changed files with 601 additions and 132 deletions

View File

@ -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

View File

@ -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}
]]

View File

@ -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 @@
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
# <https://developer.gnome.org/pango/stable/pango-Markup.html>.
#
# 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.

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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.

371
.config/sway/config Normal file
View File

@ -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=<Alt>, Mod4=<Super>)
set $mod Mod4
exec foot --server
# set default desktop layout (default is tiling)
# workspace_layout tabbed <stacking|tabbed>
# Configure border style <normal|1pixel|pixel xx|none|pixel>
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 windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows 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

View File

@ -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

View File

@ -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

View File

@ -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"

31
.i3blocks/claws-mail Executable file
View File

@ -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"

29
.i3blocks/rgb Executable file
View File

@ -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 "<span foreground=\"$color\">rgb</span>"

View File

@ -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

View File

@ -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'