1st dotfiles commit

This commit is contained in:
ohinh 2026-08-03 17:03:40 +02:00
parent 39c99549d0
commit a57c4c068f
31 changed files with 8636 additions and 0 deletions

View file

@ -0,0 +1,3 @@
{
"lastCheckedAt": "2026-08-02T23:58:58.4063981"
}

3690
fcitx5/conf/cached_layouts Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
# 垂直候选列表
Vertical Candidate List=False
# 按屏幕 DPI 使用
PerScreenDPI=True
# Font (设置成你喜欢的字体)
Font="Smartisan Compact CNS 20"
# 主题(这里要改成你想要使用的主题名,主题名就在下面)
Theme=macOS-dark

View file

@ -0,0 +1,3 @@
# Notifications masquées
HiddenNotifications=

83
fcitx5/config Normal file
View file

@ -0,0 +1,83 @@
[Hotkey]
# Énumérer lorsque vous appuyez plusieurs fois sur la touche de déclenchement
EnumerateWithTriggerKeys=True
# Énumérer la méthode d'entrée vers l'avant
EnumerateForwardKeys=
# Énumérer la méthode d'entrée vers l'arrière
EnumerateBackwardKeys=
# Ignorer la première méthode de saisie lors de l'énumération
EnumerateSkipFirst=False
# Time limit in milliseconds for triggering modifier key shortcuts
ModifierOnlyKeyTimeout=250
[Hotkey/TriggerKeys]
0=Control+space
1=Zenkaku_Hankaku
2=Hangul
[Hotkey/AltTriggerKeys]
0=Shift_L
[Hotkey/EnumerateGroupForwardKeys]
0=Alt+Tab
[Hotkey/EnumerateGroupBackwardKeys]
0=Shift+Super+space
[Hotkey/ActivateKeys]
0=Hangul_Hanja
[Hotkey/DeactivateKeys]
0=Hangul_Romaja
[Hotkey/PrevPage]
0=Up
[Hotkey/NextPage]
0=Down
[Hotkey/PrevCandidate]
0=Shift+Tab
[Hotkey/NextCandidate]
0=Tab
[Hotkey/TogglePreedit]
0=Control+Alt+P
[Behavior]
# Actif par défaut
ActiveByDefault=False
# Reset state on Focus In
resetStateWhenFocusIn=No
# Partager l'état de l'entrée
ShareInputState=No
# Afficher la pré-édition dans l'application
PreeditEnabledByDefault=True
# Afficher les informations sur la méthode d'entrée lors du changement de méthode d'entrée
ShowInputMethodInformation=True
# Afficher les informations sur la méthode d'entrée lors du changement de focus
showInputMethodInformationWhenFocusIn=False
# Afficher les informations sur la méthode d'entrée compacte
CompactInputMethodInformation=True
# Afficher les informations de la première méthode d'entrée
ShowFirstInputMethodInformation=True
# Taille de page par défaut
DefaultPageSize=5
# Ignorer l'option Xkb
OverrideXkbOption=False
# Option Xkb personnalisée
CustomXkbOption=
# Force Enabled Addons
EnabledAddons=
# Force Disabled Addons
DisabledAddons=
# Preload input method to be used by default
PreloadInputMethod=True
# Allow input method in the password field
AllowInputMethodForPassword=False
# Show preedit text when typing password
ShowPreeditForPassword=False
# Interval of saving user data in minutes
AutoSavePeriod=30

32
fcitx5/profile Normal file
View file

@ -0,0 +1,32 @@
[Groups/0]
# Group Name
Name="Groupe 1"
# Layout
Default Layout=fr
# Default Input Method
DefaultIM=keyboard-fr
[Groups/0/Items/0]
# Name
Name=keyboard-fr
# Layout
Layout=
[Groups/1]
# Group Name
Name="Groupe 2"
# Layout
Default Layout=fr-oss
# Default Input Method
DefaultIM=rime
[Groups/1/Items/0]
# Name
Name=rime
# Layout
Layout=
[GroupOrder]
0="Groupe 1"
1="Groupe 2"

346
sway/app_assignment Normal file
View file

@ -0,0 +1,346 @@
# Default config for sway
# Copy this to ~/.config/sway/config and edit it to your liking.
# Read `man 5 sway` for a complete reference.
include /home/oh/.config/sway/basic_key_bindings
include /home/oh/.config/sway/windows_rules
include /home/oh/.config/sway/input_config
include /home/oh/.config/sway/colors
include /home/oh/.config/sway/workspaces_rules
include /home/oh/.config/sway/app_assignment
include /home/oh/.config/sway/layout
include /home/oh/.config/sway/utilities
### Variables
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left k
set $down l
set $up o
set $right m
# screens
set $laptop eDP-1
set $external HDMI-A-1
## Preferred apps
set $term foot
set $menu wofi --show drun
set $file nautilus
set $browser flatpak run app.zen_browser.zen
include /etc/sway/config-vars.d/*
# autoload when start wm
exec waybar
exec /usr/libexec/polkit-mate-authentication-agent-1
exec wlsunset
exec wl-paste --watch cliphist store
### Output configuration
# using "swaybg" just put file path as below and end with 'fill'
output * background ~/.config/sway/wallpapers/frieren.png fill
#
output HDMI-A-1 resolution 1920x1080 position 1920,0
#
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
input "2:14:ETPS/2_Elantech_Touchpad" {
dwt enabled
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_options caps:escape
xkb_layout fr
repeat_delay 300
repeat_rate 50
}
input "6058:20564:ThinkPad_Extra_Buttons" {
}
# window gaps
smart_borders on
default_border pixel 2
default_floating_border pixel 3
gaps inner 1
gaps outer 1
# Window borders
# Colors: border background text indicator child_border
client.focused #9932cc #285577 #ffffff #2e9ef4 #2e9ef4
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
# Background color for inactive tabs in tabbed/stacked layout
client.background #000000
# faire disparaître le titlebar
font pango:monospace 0.001
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Enter exec $term
# Kill focused window
bindsym $mod+q kill
# Start your launcher
bindsym $mod+space exec $menu
bindsym $mod+shift+d exec wofi --show run
# Start a file manager
bindsym $mod+e exec $file
# Start browser
bindsym $mod+a exec $browser
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# clipboard manager
bindsym $mod+w exec cliphist list | wofi | cliphist decode | wl-copy
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym Mod4+ampersand workspace 1
bindsym Mod4+eacute workspace 2
bindsym Mod4+quotedbl workspace 3
bindsym Mod4+apostrophe workspace 4
bindsym Mod4+parenleft workspace 5
bindsym Mod4+minus workspace 6
bindsym Mod4+egrave workspace 7
bindsym Mod4+underscore workspace 8
bindsym Mod4+ccedilla workspace 9
bindsym Mod4+agrave workspace 10
# Move focused container to workspace
bindsym Mod4+Shift+ampersand workspace 01
bindsym Mod4+Shift+eacute workspace 02
bindsym Mod4+Shift+quotedbl workspace 03
bindsym Mod4+Shift+apostrophe workspace 04
bindsym Mod4+Shift+parenleft workspace 05
bindsym Mod4+Shift+minus workspace 06
bindsym Mod4+Shift+egrave workspace 07
bindsym Mod4+Shift+underscore workspace 08
bindsym Mod4+Shift+ccedilla workspace 09
bindsym Mod4+Shift+agrave workspace 010
bindsym Mod4+tab workspace next
bindsym Mod4+Shift+tab workspace prev
# external screen
# on laptop monitor
workspace 1 output $laptop
workspace 2 output $laptop
workspace 3 output $laptop
workspace 4 output $laptop
workspace 5 output $laptop
workspace 6 output $laptop
workspace 7 output $laptop
workspace 8 output $laptop
workspace 9 output $laptop
workspace 10 output $laptop
# on external monitor
workspace 01 output $external
workspace 02 output $external
workspace 03 output $external
workspace 04 output $external
workspace 05 output $external
workspace 06 output $external
workspace 07 output $external
workspace 08 output $external
workspace 09 output $external
workspace 010 output $external
# assignment
for_window [app_id=.*] focus
assign [app_id="foot"] 01
assign [app_id="foot"] 1
assign [app_id="zen"] 02
assign [app_id="zen"] 2
assign [app_id="anki"] 02
assign [app_id="anytype"] 3
assign [app_id="libreoffice"] 3
assign [app_id="signal"] 4
assign [app_id="thunderbird"] 04
assign [app_id="thunderbird"] 4
assign [app_id="mpv"] 05
assign [app_id="mpv"] 5
assign [app_id="vlc"] 05
assign [app_id="vlc"] 5
assign [app_id="steam"] 06
assign [app_id="steam"] 6
assign [app_id="kde-connect"] 7
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
bindsym $mod+s layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+u focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+alt+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec amixer sset Master toggle
bindsym --locked XF86AudioLowerVolume exec amixer sset Master 5%-
bindsym --locked XF86AudioRaiseVolume exec amixer sset Master 5%+
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
bindsym $mod+Print exec grim -g "$(slurp)"
#power
bindsym Mod4+Escape exec wlogout
bindsym Mod4+Shift+x exec swaylock
#
# Status Bar disable because of use waybar instead if you not use waybar just uncomment those below:
#
# Read `man 5 sway-bar` for more information about this section.
# bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
#}
include /etc/sway/config.d/*

346
sway/basic_key_bindings Normal file
View file

@ -0,0 +1,346 @@
# Default config for sway
# Copy this to ~/.config/sway/config and edit it to your liking.
# Read `man 5 sway` for a complete reference.
include /home/oh/.config/sway/basic_key_bindings
include /home/oh/.config/sway/windows_rules
include /home/oh/.config/sway/input_config
include /home/oh/.config/sway/colors
include /home/oh/.config/sway/workspaces_rules
include /home/oh/.config/sway/app_assignment
include /home/oh/.config/sway/layout
include /home/oh/.config/sway/utilities
### Variables
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left k
set $down l
set $up o
set $right m
# screens
set $laptop eDP-1
set $external HDMI-A-1
## Preferred apps
set $term foot
set $menu wofi --show drun
set $file nautilus
set $browser flatpak run app.zen_browser.zen
include /etc/sway/config-vars.d/*
# autoload when start wm
exec waybar
exec /usr/libexec/polkit-mate-authentication-agent-1
exec wlsunset
exec wl-paste --watch cliphist store
### Output configuration
# using "swaybg" just put file path as below and end with 'fill'
output * background ~/.config/sway/wallpapers/frieren.png fill
#
output HDMI-A-1 resolution 1920x1080 position 1920,0
#
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
input "2:14:ETPS/2_Elantech_Touchpad" {
dwt enabled
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_options caps:escape
xkb_layout fr
repeat_delay 300
repeat_rate 50
}
input "6058:20564:ThinkPad_Extra_Buttons" {
}
# window gaps
smart_borders on
default_border pixel 2
default_floating_border pixel 3
gaps inner 1
gaps outer 1
# Window borders
# Colors: border background text indicator child_border
client.focused #9932cc #285577 #ffffff #2e9ef4 #2e9ef4
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
# Background color for inactive tabs in tabbed/stacked layout
client.background #000000
# faire disparaître le titlebar
font pango:monospace 0.001
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Enter exec $term
# Kill focused window
bindsym $mod+q kill
# Start your launcher
bindsym $mod+space exec $menu
bindsym $mod+shift+d exec wofi --show run
# Start a file manager
bindsym $mod+e exec $file
# Start browser
bindsym $mod+a exec $browser
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# clipboard manager
bindsym $mod+w exec cliphist list | wofi | cliphist decode | wl-copy
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym Mod4+ampersand workspace 1
bindsym Mod4+eacute workspace 2
bindsym Mod4+quotedbl workspace 3
bindsym Mod4+apostrophe workspace 4
bindsym Mod4+parenleft workspace 5
bindsym Mod4+minus workspace 6
bindsym Mod4+egrave workspace 7
bindsym Mod4+underscore workspace 8
bindsym Mod4+ccedilla workspace 9
bindsym Mod4+agrave workspace 10
# Move focused container to workspace
bindsym Mod4+Shift+ampersand workspace 01
bindsym Mod4+Shift+eacute workspace 02
bindsym Mod4+Shift+quotedbl workspace 03
bindsym Mod4+Shift+apostrophe workspace 04
bindsym Mod4+Shift+parenleft workspace 05
bindsym Mod4+Shift+minus workspace 06
bindsym Mod4+Shift+egrave workspace 07
bindsym Mod4+Shift+underscore workspace 08
bindsym Mod4+Shift+ccedilla workspace 09
bindsym Mod4+Shift+agrave workspace 010
bindsym Mod4+tab workspace next
bindsym Mod4+Shift+tab workspace prev
# external screen
# on laptop monitor
workspace 1 output $laptop
workspace 2 output $laptop
workspace 3 output $laptop
workspace 4 output $laptop
workspace 5 output $laptop
workspace 6 output $laptop
workspace 7 output $laptop
workspace 8 output $laptop
workspace 9 output $laptop
workspace 10 output $laptop
# on external monitor
workspace 01 output $external
workspace 02 output $external
workspace 03 output $external
workspace 04 output $external
workspace 05 output $external
workspace 06 output $external
workspace 07 output $external
workspace 08 output $external
workspace 09 output $external
workspace 010 output $external
# assignment
for_window [app_id=.*] focus
assign [app_id="foot"] 01
assign [app_id="foot"] 1
assign [app_id="zen"] 02
assign [app_id="zen"] 2
assign [app_id="anki"] 02
assign [app_id="anytype"] 3
assign [app_id="libreoffice"] 3
assign [app_id="signal"] 4
assign [app_id="thunderbird"] 04
assign [app_id="thunderbird"] 4
assign [app_id="mpv"] 05
assign [app_id="mpv"] 5
assign [app_id="vlc"] 05
assign [app_id="vlc"] 5
assign [app_id="steam"] 06
assign [app_id="steam"] 6
assign [app_id="kde-connect"] 7
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
bindsym $mod+s layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+u focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+alt+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec amixer sset Master toggle
bindsym --locked XF86AudioLowerVolume exec amixer sset Master 5%-
bindsym --locked XF86AudioRaiseVolume exec amixer sset Master 5%+
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
bindsym $mod+Print exec grim -g "$(slurp)"
#power
bindsym Mod4+Escape exec wlogout
bindsym Mod4+Shift+x exec swaylock
#
# Status Bar disable because of use waybar instead if you not use waybar just uncomment those below:
#
# Read `man 5 sway-bar` for more information about this section.
# bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
#}
include /etc/sway/config.d/*

View file

@ -0,0 +1,3 @@
bindsym $mod+P exec $term

346
sway/colors Normal file
View file

@ -0,0 +1,346 @@
# Default config for sway
# Copy this to ~/.config/sway/config and edit it to your liking.
# Read `man 5 sway` for a complete reference.
include /home/oh/.config/sway/basic_key_bindings
include /home/oh/.config/sway/windows_rules
include /home/oh/.config/sway/input_config
include /home/oh/.config/sway/colors
include /home/oh/.config/sway/workspaces_rules
include /home/oh/.config/sway/app_assignment
include /home/oh/.config/sway/layout
include /home/oh/.config/sway/utilities
### Variables
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left k
set $down l
set $up o
set $right m
# screens
set $laptop eDP-1
set $external HDMI-A-1
## Preferred apps
set $term foot
set $menu wofi --show drun
set $file nautilus
set $browser flatpak run app.zen_browser.zen
include /etc/sway/config-vars.d/*
# autoload when start wm
exec waybar
exec /usr/libexec/polkit-mate-authentication-agent-1
exec wlsunset
exec wl-paste --watch cliphist store
### Output configuration
# using "swaybg" just put file path as below and end with 'fill'
output * background ~/.config/sway/wallpapers/frieren.png fill
#
output HDMI-A-1 resolution 1920x1080 position 1920,0
#
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
input "2:14:ETPS/2_Elantech_Touchpad" {
dwt enabled
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_options caps:escape
xkb_layout fr
repeat_delay 300
repeat_rate 50
}
input "6058:20564:ThinkPad_Extra_Buttons" {
}
# window gaps
smart_borders on
default_border pixel 2
default_floating_border pixel 3
gaps inner 1
gaps outer 1
# Window borders
# Colors: border background text indicator child_border
client.focused #9932cc #285577 #ffffff #2e9ef4 #2e9ef4
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
# Background color for inactive tabs in tabbed/stacked layout
client.background #000000
# faire disparaître le titlebar
font pango:monospace 0.001
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Enter exec $term
# Kill focused window
bindsym $mod+q kill
# Start your launcher
bindsym $mod+space exec $menu
bindsym $mod+shift+d exec wofi --show run
# Start a file manager
bindsym $mod+e exec $file
# Start browser
bindsym $mod+a exec $browser
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# clipboard manager
bindsym $mod+w exec cliphist list | wofi | cliphist decode | wl-copy
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym Mod4+ampersand workspace 1
bindsym Mod4+eacute workspace 2
bindsym Mod4+quotedbl workspace 3
bindsym Mod4+apostrophe workspace 4
bindsym Mod4+parenleft workspace 5
bindsym Mod4+minus workspace 6
bindsym Mod4+egrave workspace 7
bindsym Mod4+underscore workspace 8
bindsym Mod4+ccedilla workspace 9
bindsym Mod4+agrave workspace 10
# Move focused container to workspace
bindsym Mod4+Shift+ampersand workspace 01
bindsym Mod4+Shift+eacute workspace 02
bindsym Mod4+Shift+quotedbl workspace 03
bindsym Mod4+Shift+apostrophe workspace 04
bindsym Mod4+Shift+parenleft workspace 05
bindsym Mod4+Shift+minus workspace 06
bindsym Mod4+Shift+egrave workspace 07
bindsym Mod4+Shift+underscore workspace 08
bindsym Mod4+Shift+ccedilla workspace 09
bindsym Mod4+Shift+agrave workspace 010
bindsym Mod4+tab workspace next
bindsym Mod4+Shift+tab workspace prev
# external screen
# on laptop monitor
workspace 1 output $laptop
workspace 2 output $laptop
workspace 3 output $laptop
workspace 4 output $laptop
workspace 5 output $laptop
workspace 6 output $laptop
workspace 7 output $laptop
workspace 8 output $laptop
workspace 9 output $laptop
workspace 10 output $laptop
# on external monitor
workspace 01 output $external
workspace 02 output $external
workspace 03 output $external
workspace 04 output $external
workspace 05 output $external
workspace 06 output $external
workspace 07 output $external
workspace 08 output $external
workspace 09 output $external
workspace 010 output $external
# assignment
for_window [app_id=.*] focus
assign [app_id="foot"] 01
assign [app_id="foot"] 1
assign [app_id="zen"] 02
assign [app_id="zen"] 2
assign [app_id="anki"] 02
assign [app_id="anytype"] 3
assign [app_id="libreoffice"] 3
assign [app_id="signal"] 4
assign [app_id="thunderbird"] 04
assign [app_id="thunderbird"] 4
assign [app_id="mpv"] 05
assign [app_id="mpv"] 5
assign [app_id="vlc"] 05
assign [app_id="vlc"] 5
assign [app_id="steam"] 06
assign [app_id="steam"] 6
assign [app_id="kde-connect"] 7
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
bindsym $mod+s layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+u focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+alt+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec amixer sset Master toggle
bindsym --locked XF86AudioLowerVolume exec amixer sset Master 5%-
bindsym --locked XF86AudioRaiseVolume exec amixer sset Master 5%+
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
bindsym $mod+Print exec grim -g "$(slurp)"
#power
bindsym Mod4+Escape exec wlogout
bindsym Mod4+Shift+x exec swaylock
#
# Status Bar disable because of use waybar instead if you not use waybar just uncomment those below:
#
# Read `man 5 sway-bar` for more information about this section.
# bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
#}
include /etc/sway/config.d/*

351
sway/config Normal file
View file

@ -0,0 +1,351 @@
#include /home/oh/.config/sway/basic_key_bindings
#include /home/oh/.config/sway/windows_rules
#include /home/oh/.config/sway/input_config
#include /home/oh/.config/sway/colors
#include /home/oh/.config/sway/workspaces_rules
#include /home/oh/.config/sway/app_assignment
#include /home/oh/.config/sway/layout
# include /home/oh/.config/sway/utilities
### Variables
bindgesture swipe:up workspace prev
bindgesture swipe:down workspace next
# Logo key. Use Mod1 for Alt.
set $mod Mod4
set $mod1 Alt
# Home row direction keys, like vim
set $left k
set $down l
set $up o
set $right m
# screens
set $laptop eDP-1
set $external HDMI-A-1
## Preferred apps
set $term foot
set $menu wofi --show drun
set $file nautilus
set $browser flatpak run app.zen_browser.zen
include /etc/sway/config-vars.d/*
# autoload when start wm
exec waybar
exec /usr/libexec/polkit-mate-authentication-agent-1
exec wlsunset
exec wl-paste --watch cliphist store
exec swaync
### Output configuration
# using "swaybg" just put file path as below and end with 'fill'
output * background ~/.config/sway/wallpapers/frieren.png fill
#
output HDMI-A-1 resolution 1920x1080 position 1920,0
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
input "2:14:ETPS/2_Elantech_Touchpad" {
dwt enabled
dwtp enabled
tap_button_map lrm
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_options caps:escape
xkb_layout fr
repeat_delay 300
repeat_rate 50
}
input "6058:20564:ThinkPad_Extra_Buttons" {
}
# window gaps
smart_borders on
default_border pixel 2
default_floating_border pixel 3
gaps inner 1
gaps outer 1
# Window borders
# Colors: border background text indicator child_border
client.focused #9932cc #285577 #ffffff #2e9ef4 #2e9ef4
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
# Background color for inactive tabs in tabbed/stacked layout
client.background #000000
# thème du curseur de souris
seat seat0 xcursor_theme Bibata-Modern-Ice
# faire disparaître le titlebar
font pango:monospace 0.001
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+q kill
# Start your launcher
bindsym $mod+space exec $menu
bindsym $mod+shift+d exec wofi --show run
# Start a file manager
bindsym $mod+e exec $file
# Start browser
bindsym $mod+a exec $browser
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# clipboard manager
bindsym $mod+w exec cliphist list | wofi | cliphist decode | wl-copy
# notification center
bindsym $mod+Shift+n exec swaync-client -t -sw
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+ampersand workspace 01
bindsym $mod+eacute workspace 02
bindsym $mod+quotedbl workspace 03
bindsym $mod+apostrophe workspace 04
bindsym $mod+parenleft workspace 05
bindsym $mod+minus workspace 06
bindsym $mod+egrave workspace 07
bindsym $mod+underscore workspace 08
bindsym $mod+ccedilla workspace 09
bindsym $mod+agrave workspace 010
# Move focused container to workspace
bindsym $mod+Shift+ampersand move container to workspace 01
bindsym $mod+Shift+eacute move container to workspace 02
bindsym $mod+Shift+quotedbl move container to workspace 03
bindsym $mod+Shift+apostrophe move container to workspace 04
bindsym $mod+Shift+parenleft move container to workspace 05
bindsym $mod+Shift+minus move container to workspace 06
bindsym $mod+Shift+egrave move container to workspace 07
bindsym $mod+Shift+underscore move container to workspace 08
bindsym $mod+Shift+ccedilla move container to workspace 09
bindsym $mod+Shift+agrave move container to workspace 010
bindsym $mod+tab workspace next
bindsym $mod1+tab workspace prev
# external screen
# on laptop monitor
workspace 1 output $laptop
workspace 2 output $laptop
workspace 3 output $laptop
workspace 4 output $laptop
workspace 5 output $laptop
workspace 6 output $laptop
workspace 7 output $laptop
workspace 8 output $laptop
workspace 9 output $laptop
workspace 10 output $laptop
# on external monitor
workspace 01 output $external
workspace 02 output $external
workspace 03 output $external
workspace 04 output $external
workspace 05 output $external
workspace 06 output $external
workspace 07 output $external
workspace 08 output $external
workspace 09 output $external
workspace 010 output $external
# assignment
for_window [app_id=.*] focus
assign [app_id="foot"] 01
assign [app_id="foot"] 1
assign [app_id="zen"] 02
assign [app_id="zen"] 2
assign [app_id="anki"] 02
assign [app_id="anytype"] 3
assign [app_id="libreoffice"] 3
assign [app_id="signal"] 4
assign [app_id="thunderbird"] 04
assign [app_id="thunderbird"] 4
assign [app_id="mpv"] 05
assign [app_id="mpv"] 5
assign [app_id="vlc"] 05
assign [app_id="vlc"] 5
assign [app_id="steam"] 06
assign [app_id="steam"] 6
assign [app_id="kde-connect"] 7
assign [app_id="nextcloud"] 7
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
bindsym $mod+s layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+u focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+$mod1+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec amixer sset Master toggle
bindsym --locked XF86AudioLowerVolume exec amixer sset Master 5%-
bindsym --locked XF86AudioRaiseVolume exec amixer sset Master 5%+
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
bindsym $mod+Print exec grim -g "$(slurp)"
#power
bindsym $mod+Escape exec wlogout
bindsym $mod+Shift+x exec swaylock
#
# Status Bar disable because of use waybar instead if you not use waybar just uncomment those below:
#
# Read `man 5 sway-bar` for more information about this section.
# bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
#}
include /etc/sway/config.d/*

351
sway/config.save Normal file
View file

@ -0,0 +1,351 @@
#include /home/oh/.config/sway/basic_key_bindings
#include /home/oh/.config/sway/windows_rules
#include /home/oh/.config/sway/input_config
#include /home/oh/.config/sway/colors
#include /home/oh/.config/sway/workspaces_rules
#include /home/oh/.config/sway/app_assignment
#include /home/oh/.config/sway/layout
# include /home/oh/.config/sway/utilities
### Variables
bindgesture swipe:up workspace prev
bindgesture swipe:down workspace next
# Logo key. Use Mod1 for Alt.
set $mod Mod4
set $mod1 Alt
# Home row direction keys, like vim
set $left k
set $down l
set $up o
set $right m
# screens
set $laptop eDP-1
set $external HDMI-A-1
## Preferred apps
set $term foot
set $menu wofi --show drun
set $file nautilus
set $browser flatpak run app.zen_browser.zen
include /etc/sway/config-vars.d/*
# autoload when start wm
exec waybar
exec /usr/libexec/polkit-mate-authentication-agent-1
exec wlsunset
exec wl-paste --watch cliphist store
exec swaync
### Output configuration
# using "swaybg" just put file path as below and end with 'fill'
output * background ~/.config/sway/wallpapers/frieren.png fill
#
output HDMI-A-1 resolution 1920x1080 position 1920,0
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
input "2:14:ETPS/2_Elantech_Touchpad" {
dwt enabled
dwtp enabled
tap_button_map lrm
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_options caps:escape
xkb_layout fr
repeat_delay 300
repeat_rate 50
}
input "6058:20564:ThinkPad_Extra_Buttons" {
}
# window gaps
smart_borders on
default_border pixel 2
default_floating_border pixel 3
gaps inner 1
gaps outer 1
# Window borders
# Colors: border background text indicator child_border
client.focused #9932cc #285577 #ffffff #2e9ef4 #2e9ef4
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
# Background color for inactive tabs in tabbed/stacked layout
client.background #000000
# thème du curseur de souris
seat seat0 xcursor_theme Bibata-Modern-Ice
# faire disparaître le titlebar
font pango:monospace 0.001
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+q kill
# Start your launcher
bindsym $mod+space exec $menu
bindsym $mod+shift+d exec wofi --show run
# Start a file manager
bindsym $mod+e exec $file
# Start browser
bindsym $mod+a exec $browser
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# clipboard manager
bindsym $mod+w exec cliphist list | wofi | cliphist decode | wl-copy
# notification center
bindsym $mod+Shift+n exec swaync-client -t -sw
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+ampersand workspace 1
bindsym $mod+eacute workspace 2
bindsym $mod+quotedbl workspace 3
bindsym $mod+apostrophe workspace 4
bindsym $mod+parenleft workspace 5
bindsym $mod+minus workspace 6
bindsym $mod+egrave workspace 7
bindsym $mod+underscore workspace 8
bindsym $mod+ccedilla workspace 9
bindsym $mod+agrave workspace 10
# Move focused container to workspace
bindsym $mod+Shift+ampersand workspace 01
bindsym $mod+Shift+eacute workspace 02
bindsym $mod+Shift+quotedbl workspace 03
bindsym $mod+Shift+apostrophe workspace 04
bindsym $mod+Shift+parenleft workspace 05
bindsym $mod+Shift+minus workspace 06
bindsym $mod+Shift+egrave workspace 07
bindsym $mod+Shift+underscore workspace 08
bindsym $mod+Shift+ccedilla workspace 09
bindsym $mod+Shift+agrave workspace 010
bindsym $mod+tab workspace next
bindsym $mod1+tab workspace prev
# external screen
# on laptop monitor
workspace 1 output $laptop
workspace 2 output $laptop
workspace 3 output $laptop
workspace 4 output $laptop
workspace 5 output $laptop
workspace 6 output $laptop
workspace 7 output $laptop
workspace 8 output $laptop
workspace 9 output $laptop
workspace 10 output $laptop
# on external monitor
workspace 01 output $external
workspace 02 output $external
workspace 03 output $external
workspace 04 output $external
workspace 05 output $external
workspace 06 output $external
workspace 07 output $external
workspace 08 output $external
workspace 09 output $external
workspace 010 output $external
# assignment
for_window [app_id=.*] focus
assign [app_id="foot"] 01
assign [app_id="foot"] 1
assign [app_id="zen"] 02
assign [app_id="zen"] 2
assign [app_id="anki"] 02
assign [app_id="anytype"] 3
assign [app_id="libreoffice"] 3
assign [app_id="signal"] 4
assign [app_id="thunderbird"] 04
assign [app_id="thunderbird"] 4
assign [app_id="mpv"] 05
assign [app_id="mpv"] 5
assign [app_id="vlc"] 05
assign [app_id="vlc"] 5
assign [app_id="steam"] 06
assign [app_id="steam"] 6
assign [app_id="kde-connect"] 7
assign [app_id="nextcloud"] 7
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
bindsym $mod+s layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+u focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+$mod1+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec amixer sset Master toggle
bindsym --locked XF86AudioLowerVolume exec amixer sset Master 5%-
bindsym --locked XF86AudioRaiseVolume exec amixer sset Master 5%+
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
bindsym $mod+Print exec grim -g "$(slurp)"
#power
bindsym $mod+Escape exec wlogout
bindsym $mod+Shift+x exec swaylock
#
# Status Bar disable because of use waybar instead if you not use waybar just uncomment those below:
#
# Read `man 5 sway-bar` for more information about this section.
# bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
#}
include /etc/sway/config.d/*

346
sway/input_config Normal file
View file

@ -0,0 +1,346 @@
# Default config for sway
# Copy this to ~/.config/sway/config and edit it to your liking.
# Read `man 5 sway` for a complete reference.
include /home/oh/.config/sway/basic_key_bindings
include /home/oh/.config/sway/windows_rules
include /home/oh/.config/sway/input_config
include /home/oh/.config/sway/colors
include /home/oh/.config/sway/workspaces_rules
include /home/oh/.config/sway/app_assignment
include /home/oh/.config/sway/layout
include /home/oh/.config/sway/utilities
### Variables
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left k
set $down l
set $up o
set $right m
# screens
set $laptop eDP-1
set $external HDMI-A-1
## Preferred apps
set $term foot
set $menu wofi --show drun
set $file nautilus
set $browser flatpak run app.zen_browser.zen
include /etc/sway/config-vars.d/*
# autoload when start wm
exec waybar
exec /usr/libexec/polkit-mate-authentication-agent-1
exec wlsunset
exec wl-paste --watch cliphist store
### Output configuration
# using "swaybg" just put file path as below and end with 'fill'
output * background ~/.config/sway/wallpapers/frieren.png fill
#
output HDMI-A-1 resolution 1920x1080 position 1920,0
#
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
input "2:14:ETPS/2_Elantech_Touchpad" {
dwt enabled
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_options caps:escape
xkb_layout fr
repeat_delay 300
repeat_rate 50
}
input "6058:20564:ThinkPad_Extra_Buttons" {
}
# window gaps
smart_borders on
default_border pixel 2
default_floating_border pixel 3
gaps inner 1
gaps outer 1
# Window borders
# Colors: border background text indicator child_border
client.focused #9932cc #285577 #ffffff #2e9ef4 #2e9ef4
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
# Background color for inactive tabs in tabbed/stacked layout
client.background #000000
# faire disparaître le titlebar
font pango:monospace 0.001
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Enter exec $term
# Kill focused window
bindsym $mod+q kill
# Start your launcher
bindsym $mod+space exec $menu
bindsym $mod+shift+d exec wofi --show run
# Start a file manager
bindsym $mod+e exec $file
# Start browser
bindsym $mod+a exec $browser
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# clipboard manager
bindsym $mod+w exec cliphist list | wofi | cliphist decode | wl-copy
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym Mod4+ampersand workspace 1
bindsym Mod4+eacute workspace 2
bindsym Mod4+quotedbl workspace 3
bindsym Mod4+apostrophe workspace 4
bindsym Mod4+parenleft workspace 5
bindsym Mod4+minus workspace 6
bindsym Mod4+egrave workspace 7
bindsym Mod4+underscore workspace 8
bindsym Mod4+ccedilla workspace 9
bindsym Mod4+agrave workspace 10
# Move focused container to workspace
bindsym Mod4+Shift+ampersand workspace 01
bindsym Mod4+Shift+eacute workspace 02
bindsym Mod4+Shift+quotedbl workspace 03
bindsym Mod4+Shift+apostrophe workspace 04
bindsym Mod4+Shift+parenleft workspace 05
bindsym Mod4+Shift+minus workspace 06
bindsym Mod4+Shift+egrave workspace 07
bindsym Mod4+Shift+underscore workspace 08
bindsym Mod4+Shift+ccedilla workspace 09
bindsym Mod4+Shift+agrave workspace 010
bindsym Mod4+tab workspace next
bindsym Mod4+Shift+tab workspace prev
# external screen
# on laptop monitor
workspace 1 output $laptop
workspace 2 output $laptop
workspace 3 output $laptop
workspace 4 output $laptop
workspace 5 output $laptop
workspace 6 output $laptop
workspace 7 output $laptop
workspace 8 output $laptop
workspace 9 output $laptop
workspace 10 output $laptop
# on external monitor
workspace 01 output $external
workspace 02 output $external
workspace 03 output $external
workspace 04 output $external
workspace 05 output $external
workspace 06 output $external
workspace 07 output $external
workspace 08 output $external
workspace 09 output $external
workspace 010 output $external
# assignment
for_window [app_id=.*] focus
assign [app_id="foot"] 01
assign [app_id="foot"] 1
assign [app_id="zen"] 02
assign [app_id="zen"] 2
assign [app_id="anki"] 02
assign [app_id="anytype"] 3
assign [app_id="libreoffice"] 3
assign [app_id="signal"] 4
assign [app_id="thunderbird"] 04
assign [app_id="thunderbird"] 4
assign [app_id="mpv"] 05
assign [app_id="mpv"] 5
assign [app_id="vlc"] 05
assign [app_id="vlc"] 5
assign [app_id="steam"] 06
assign [app_id="steam"] 6
assign [app_id="kde-connect"] 7
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
bindsym $mod+s layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+u focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+alt+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec amixer sset Master toggle
bindsym --locked XF86AudioLowerVolume exec amixer sset Master 5%-
bindsym --locked XF86AudioRaiseVolume exec amixer sset Master 5%+
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
bindsym $mod+Print exec grim -g "$(slurp)"
#power
bindsym Mod4+Escape exec wlogout
bindsym Mod4+Shift+x exec swaylock
#
# Status Bar disable because of use waybar instead if you not use waybar just uncomment those below:
#
# Read `man 5 sway-bar` for more information about this section.
# bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
#}
include /etc/sway/config.d/*

346
sway/layout Normal file
View file

@ -0,0 +1,346 @@
# Default config for sway
# Copy this to ~/.config/sway/config and edit it to your liking.
# Read `man 5 sway` for a complete reference.
include /home/oh/.config/sway/basic_key_bindings
include /home/oh/.config/sway/windows_rules
include /home/oh/.config/sway/input_config
include /home/oh/.config/sway/colors
include /home/oh/.config/sway/workspaces_rules
include /home/oh/.config/sway/app_assignment
include /home/oh/.config/sway/layout
include /home/oh/.config/sway/utilities
### Variables
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left k
set $down l
set $up o
set $right m
# screens
set $laptop eDP-1
set $external HDMI-A-1
## Preferred apps
set $term foot
set $menu wofi --show drun
set $file nautilus
set $browser flatpak run app.zen_browser.zen
include /etc/sway/config-vars.d/*
# autoload when start wm
exec waybar
exec /usr/libexec/polkit-mate-authentication-agent-1
exec wlsunset
exec wl-paste --watch cliphist store
### Output configuration
# using "swaybg" just put file path as below and end with 'fill'
output * background ~/.config/sway/wallpapers/frieren.png fill
#
output HDMI-A-1 resolution 1920x1080 position 1920,0
#
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
input "2:14:ETPS/2_Elantech_Touchpad" {
dwt enabled
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_options caps:escape
xkb_layout fr
repeat_delay 300
repeat_rate 50
}
input "6058:20564:ThinkPad_Extra_Buttons" {
}
# window gaps
smart_borders on
default_border pixel 2
default_floating_border pixel 3
gaps inner 1
gaps outer 1
# Window borders
# Colors: border background text indicator child_border
client.focused #9932cc #285577 #ffffff #2e9ef4 #2e9ef4
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
# Background color for inactive tabs in tabbed/stacked layout
client.background #000000
# faire disparaître le titlebar
font pango:monospace 0.001
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Enter exec $term
# Kill focused window
bindsym $mod+q kill
# Start your launcher
bindsym $mod+space exec $menu
bindsym $mod+shift+d exec wofi --show run
# Start a file manager
bindsym $mod+e exec $file
# Start browser
bindsym $mod+a exec $browser
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# clipboard manager
bindsym $mod+w exec cliphist list | wofi | cliphist decode | wl-copy
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym Mod4+ampersand workspace 1
bindsym Mod4+eacute workspace 2
bindsym Mod4+quotedbl workspace 3
bindsym Mod4+apostrophe workspace 4
bindsym Mod4+parenleft workspace 5
bindsym Mod4+minus workspace 6
bindsym Mod4+egrave workspace 7
bindsym Mod4+underscore workspace 8
bindsym Mod4+ccedilla workspace 9
bindsym Mod4+agrave workspace 10
# Move focused container to workspace
bindsym Mod4+Shift+ampersand workspace 01
bindsym Mod4+Shift+eacute workspace 02
bindsym Mod4+Shift+quotedbl workspace 03
bindsym Mod4+Shift+apostrophe workspace 04
bindsym Mod4+Shift+parenleft workspace 05
bindsym Mod4+Shift+minus workspace 06
bindsym Mod4+Shift+egrave workspace 07
bindsym Mod4+Shift+underscore workspace 08
bindsym Mod4+Shift+ccedilla workspace 09
bindsym Mod4+Shift+agrave workspace 010
bindsym Mod4+tab workspace next
bindsym Mod4+Shift+tab workspace prev
# external screen
# on laptop monitor
workspace 1 output $laptop
workspace 2 output $laptop
workspace 3 output $laptop
workspace 4 output $laptop
workspace 5 output $laptop
workspace 6 output $laptop
workspace 7 output $laptop
workspace 8 output $laptop
workspace 9 output $laptop
workspace 10 output $laptop
# on external monitor
workspace 01 output $external
workspace 02 output $external
workspace 03 output $external
workspace 04 output $external
workspace 05 output $external
workspace 06 output $external
workspace 07 output $external
workspace 08 output $external
workspace 09 output $external
workspace 010 output $external
# assignment
for_window [app_id=.*] focus
assign [app_id="foot"] 01
assign [app_id="foot"] 1
assign [app_id="zen"] 02
assign [app_id="zen"] 2
assign [app_id="anki"] 02
assign [app_id="anytype"] 3
assign [app_id="libreoffice"] 3
assign [app_id="signal"] 4
assign [app_id="thunderbird"] 04
assign [app_id="thunderbird"] 4
assign [app_id="mpv"] 05
assign [app_id="mpv"] 5
assign [app_id="vlc"] 05
assign [app_id="vlc"] 5
assign [app_id="steam"] 06
assign [app_id="steam"] 6
assign [app_id="kde-connect"] 7
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
bindsym $mod+s layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+u focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+alt+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec amixer sset Master toggle
bindsym --locked XF86AudioLowerVolume exec amixer sset Master 5%-
bindsym --locked XF86AudioRaiseVolume exec amixer sset Master 5%+
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
bindsym $mod+Print exec grim -g "$(slurp)"
#power
bindsym Mod4+Escape exec wlogout
bindsym Mod4+Shift+x exec swaylock
#
# Status Bar disable because of use waybar instead if you not use waybar just uncomment those below:
#
# Read `man 5 sway-bar` for more information about this section.
# bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
#}
include /etc/sway/config.d/*

22
sway/pourhuion.txt Normal file
View file

@ -0,0 +1,22 @@
# Désactiver la tablette en tant qu'écran (si elle est détectée comme HDMI-A-1)
# Souvent, les tablettes connectées en HDMI sont vues comme des écrans.
# Il faut désactiver l'output HDMI-A-1 si ce n'est pas votre écran principal,
# ou configurer la tablette comme un périphérique d'entrée uniquement.
# Si la tablette est détectée comme un périphérique d'entrée (Input) :
input 9580:8200:HUION_Huion_Tablet_GS1333_Pen map_to_output HDMI-A-1
workspace Tablet output HDMI-A-1
seat tablet {
hide_cursor 200
attach 9580:8200:HUION_Huion_Tablet_GS1333
attach 9580:8200:HUION_Huion_Tablet_GS1333_Pen
attach 9580:8200:HUION_Huion_Tablet_GS1333_Pad
attach 9580:8200:HUION_Huion_Tablet_GS1333_Keyboard
attach 9580:8200:HUION_Huion_Tablet_GS1333_Consumer_Control
attach 9580:8200:HUION_Huion_Tablet_GS1333_System_Control
}
output HDMI-A-1 transform 180

346
sway/utilities Normal file
View file

@ -0,0 +1,346 @@
# Default config for sway
# Copy this to ~/.config/sway/config and edit it to your liking.
# Read `man 5 sway` for a complete reference.
include /home/oh/.config/sway/basic_key_bindings
include /home/oh/.config/sway/windows_rules
include /home/oh/.config/sway/input_config
include /home/oh/.config/sway/colors
include /home/oh/.config/sway/workspaces_rules
include /home/oh/.config/sway/app_assignment
include /home/oh/.config/sway/layout
include /home/oh/.config/sway/utilities
### Variables
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left k
set $down l
set $up o
set $right m
# screens
set $laptop eDP-1
set $external HDMI-A-1
## Preferred apps
set $term foot
set $menu wofi --show drun
set $file nautilus
set $browser flatpak run app.zen_browser.zen
include /etc/sway/config-vars.d/*
# autoload when start wm
exec waybar
exec /usr/libexec/polkit-mate-authentication-agent-1
exec wlsunset
exec wl-paste --watch cliphist store
### Output configuration
# using "swaybg" just put file path as below and end with 'fill'
output * background ~/.config/sway/wallpapers/frieren.png fill
#
output HDMI-A-1 resolution 1920x1080 position 1920,0
#
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
input "2:14:ETPS/2_Elantech_Touchpad" {
dwt enabled
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_options caps:escape
xkb_layout fr
repeat_delay 300
repeat_rate 50
}
input "6058:20564:ThinkPad_Extra_Buttons" {
}
# window gaps
smart_borders on
default_border pixel 2
default_floating_border pixel 3
gaps inner 1
gaps outer 1
# Window borders
# Colors: border background text indicator child_border
client.focused #9932cc #285577 #ffffff #2e9ef4 #2e9ef4
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
# Background color for inactive tabs in tabbed/stacked layout
client.background #000000
# faire disparaître le titlebar
font pango:monospace 0.001
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Enter exec $term
# Kill focused window
bindsym $mod+q kill
# Start your launcher
bindsym $mod+space exec $menu
bindsym $mod+shift+d exec wofi --show run
# Start a file manager
bindsym $mod+e exec $file
# Start browser
bindsym $mod+a exec $browser
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# clipboard manager
bindsym $mod+w exec cliphist list | wofi | cliphist decode | wl-copy
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym Mod4+ampersand workspace 1
bindsym Mod4+eacute workspace 2
bindsym Mod4+quotedbl workspace 3
bindsym Mod4+apostrophe workspace 4
bindsym Mod4+parenleft workspace 5
bindsym Mod4+minus workspace 6
bindsym Mod4+egrave workspace 7
bindsym Mod4+underscore workspace 8
bindsym Mod4+ccedilla workspace 9
bindsym Mod4+agrave workspace 10
# Move focused container to workspace
bindsym Mod4+Shift+ampersand workspace 01
bindsym Mod4+Shift+eacute workspace 02
bindsym Mod4+Shift+quotedbl workspace 03
bindsym Mod4+Shift+apostrophe workspace 04
bindsym Mod4+Shift+parenleft workspace 05
bindsym Mod4+Shift+minus workspace 06
bindsym Mod4+Shift+egrave workspace 07
bindsym Mod4+Shift+underscore workspace 08
bindsym Mod4+Shift+ccedilla workspace 09
bindsym Mod4+Shift+agrave workspace 010
bindsym Mod4+tab workspace next
bindsym Mod4+Shift+tab workspace prev
# external screen
# on laptop monitor
workspace 1 output $laptop
workspace 2 output $laptop
workspace 3 output $laptop
workspace 4 output $laptop
workspace 5 output $laptop
workspace 6 output $laptop
workspace 7 output $laptop
workspace 8 output $laptop
workspace 9 output $laptop
workspace 10 output $laptop
# on external monitor
workspace 01 output $external
workspace 02 output $external
workspace 03 output $external
workspace 04 output $external
workspace 05 output $external
workspace 06 output $external
workspace 07 output $external
workspace 08 output $external
workspace 09 output $external
workspace 010 output $external
# assignment
for_window [app_id=.*] focus
assign [app_id="foot"] 01
assign [app_id="foot"] 1
assign [app_id="zen"] 02
assign [app_id="zen"] 2
assign [app_id="anki"] 02
assign [app_id="anytype"] 3
assign [app_id="libreoffice"] 3
assign [app_id="signal"] 4
assign [app_id="thunderbird"] 04
assign [app_id="thunderbird"] 4
assign [app_id="mpv"] 05
assign [app_id="mpv"] 5
assign [app_id="vlc"] 05
assign [app_id="vlc"] 5
assign [app_id="steam"] 06
assign [app_id="steam"] 6
assign [app_id="kde-connect"] 7
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
bindsym $mod+s layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+u focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+alt+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec amixer sset Master toggle
bindsym --locked XF86AudioLowerVolume exec amixer sset Master 5%-
bindsym --locked XF86AudioRaiseVolume exec amixer sset Master 5%+
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
bindsym $mod+Print exec grim -g "$(slurp)"
#power
bindsym Mod4+Escape exec wlogout
bindsym Mod4+Shift+x exec swaylock
#
# Status Bar disable because of use waybar instead if you not use waybar just uncomment those below:
#
# Read `man 5 sway-bar` for more information about this section.
# bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
#}
include /etc/sway/config.d/*

Binary file not shown.

After

Width:  |  Height:  |  Size: 946 KiB

BIN
sway/wallpapers/frieren.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

346
sway/windows_rules Normal file
View file

@ -0,0 +1,346 @@
# Default config for sway
# Copy this to ~/.config/sway/config and edit it to your liking.
# Read `man 5 sway` for a complete reference.
include /home/oh/.config/sway/basic_key_bindings
include /home/oh/.config/sway/windows_rules
include /home/oh/.config/sway/input_config
include /home/oh/.config/sway/colors
include /home/oh/.config/sway/workspaces_rules
include /home/oh/.config/sway/app_assignment
include /home/oh/.config/sway/layout
include /home/oh/.config/sway/utilities
### Variables
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left k
set $down l
set $up o
set $right m
# screens
set $laptop eDP-1
set $external HDMI-A-1
## Preferred apps
set $term foot
set $menu wofi --show drun
set $file nautilus
set $browser flatpak run app.zen_browser.zen
include /etc/sway/config-vars.d/*
# autoload when start wm
exec waybar
exec /usr/libexec/polkit-mate-authentication-agent-1
exec wlsunset
exec wl-paste --watch cliphist store
### Output configuration
# using "swaybg" just put file path as below and end with 'fill'
output * background ~/.config/sway/wallpapers/frieren.png fill
#
output HDMI-A-1 resolution 1920x1080 position 1920,0
#
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
input "2:14:ETPS/2_Elantech_Touchpad" {
dwt enabled
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_options caps:escape
xkb_layout fr
repeat_delay 300
repeat_rate 50
}
input "6058:20564:ThinkPad_Extra_Buttons" {
}
# window gaps
smart_borders on
default_border pixel 2
default_floating_border pixel 3
gaps inner 1
gaps outer 1
# Window borders
# Colors: border background text indicator child_border
client.focused #9932cc #285577 #ffffff #2e9ef4 #2e9ef4
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
# Background color for inactive tabs in tabbed/stacked layout
client.background #000000
# faire disparaître le titlebar
font pango:monospace 0.001
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Enter exec $term
# Kill focused window
bindsym $mod+q kill
# Start your launcher
bindsym $mod+space exec $menu
bindsym $mod+shift+d exec wofi --show run
# Start a file manager
bindsym $mod+e exec $file
# Start browser
bindsym $mod+a exec $browser
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# clipboard manager
bindsym $mod+w exec cliphist list | wofi | cliphist decode | wl-copy
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym Mod4+ampersand workspace 1
bindsym Mod4+eacute workspace 2
bindsym Mod4+quotedbl workspace 3
bindsym Mod4+apostrophe workspace 4
bindsym Mod4+parenleft workspace 5
bindsym Mod4+minus workspace 6
bindsym Mod4+egrave workspace 7
bindsym Mod4+underscore workspace 8
bindsym Mod4+ccedilla workspace 9
bindsym Mod4+agrave workspace 10
# Move focused container to workspace
bindsym Mod4+Shift+ampersand workspace 01
bindsym Mod4+Shift+eacute workspace 02
bindsym Mod4+Shift+quotedbl workspace 03
bindsym Mod4+Shift+apostrophe workspace 04
bindsym Mod4+Shift+parenleft workspace 05
bindsym Mod4+Shift+minus workspace 06
bindsym Mod4+Shift+egrave workspace 07
bindsym Mod4+Shift+underscore workspace 08
bindsym Mod4+Shift+ccedilla workspace 09
bindsym Mod4+Shift+agrave workspace 010
bindsym Mod4+tab workspace next
bindsym Mod4+Shift+tab workspace prev
# external screen
# on laptop monitor
workspace 1 output $laptop
workspace 2 output $laptop
workspace 3 output $laptop
workspace 4 output $laptop
workspace 5 output $laptop
workspace 6 output $laptop
workspace 7 output $laptop
workspace 8 output $laptop
workspace 9 output $laptop
workspace 10 output $laptop
# on external monitor
workspace 01 output $external
workspace 02 output $external
workspace 03 output $external
workspace 04 output $external
workspace 05 output $external
workspace 06 output $external
workspace 07 output $external
workspace 08 output $external
workspace 09 output $external
workspace 010 output $external
# assignment
for_window [app_id=.*] focus
assign [app_id="foot"] 01
assign [app_id="foot"] 1
assign [app_id="zen"] 02
assign [app_id="zen"] 2
assign [app_id="anki"] 02
assign [app_id="anytype"] 3
assign [app_id="libreoffice"] 3
assign [app_id="signal"] 4
assign [app_id="thunderbird"] 04
assign [app_id="thunderbird"] 4
assign [app_id="mpv"] 05
assign [app_id="mpv"] 5
assign [app_id="vlc"] 05
assign [app_id="vlc"] 5
assign [app_id="steam"] 06
assign [app_id="steam"] 6
assign [app_id="kde-connect"] 7
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
bindsym $mod+s layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+u focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+alt+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec amixer sset Master toggle
bindsym --locked XF86AudioLowerVolume exec amixer sset Master 5%-
bindsym --locked XF86AudioRaiseVolume exec amixer sset Master 5%+
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
bindsym $mod+Print exec grim -g "$(slurp)"
#power
bindsym Mod4+Escape exec wlogout
bindsym Mod4+Shift+x exec swaylock
#
# Status Bar disable because of use waybar instead if you not use waybar just uncomment those below:
#
# Read `man 5 sway-bar` for more information about this section.
# bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
#}
include /etc/sway/config.d/*

346
sway/workspaces_rules Normal file
View file

@ -0,0 +1,346 @@
# Default config for sway
# Copy this to ~/.config/sway/config and edit it to your liking.
# Read `man 5 sway` for a complete reference.
include /home/oh/.config/sway/basic_key_bindings
include /home/oh/.config/sway/windows_rules
include /home/oh/.config/sway/input_config
include /home/oh/.config/sway/colors
include /home/oh/.config/sway/workspaces_rules
include /home/oh/.config/sway/app_assignment
include /home/oh/.config/sway/layout
include /home/oh/.config/sway/utilities
### Variables
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left k
set $down l
set $up o
set $right m
# screens
set $laptop eDP-1
set $external HDMI-A-1
## Preferred apps
set $term foot
set $menu wofi --show drun
set $file nautilus
set $browser flatpak run app.zen_browser.zen
include /etc/sway/config-vars.d/*
# autoload when start wm
exec waybar
exec /usr/libexec/polkit-mate-authentication-agent-1
exec wlsunset
exec wl-paste --watch cliphist store
### Output configuration
# using "swaybg" just put file path as below and end with 'fill'
output * background ~/.config/sway/wallpapers/frieren.png fill
#
output HDMI-A-1 resolution 1920x1080 position 1920,0
#
#exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
input "2:14:ETPS/2_Elantech_Touchpad" {
dwt enabled
tap enabled
natural_scroll enabled
middle_emulation enabled
}
input type:keyboard {
xkb_options caps:escape
xkb_layout fr
repeat_delay 300
repeat_rate 50
}
input "6058:20564:ThinkPad_Extra_Buttons" {
}
# window gaps
smart_borders on
default_border pixel 2
default_floating_border pixel 3
gaps inner 1
gaps outer 1
# Window borders
# Colors: border background text indicator child_border
client.focused #9932cc #285577 #ffffff #2e9ef4 #2e9ef4
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
# Background color for inactive tabs in tabbed/stacked layout
client.background #000000
# faire disparaître le titlebar
font pango:monospace 0.001
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Enter exec $term
# Kill focused window
bindsym $mod+q kill
# Start your launcher
bindsym $mod+space exec $menu
bindsym $mod+shift+d exec wofi --show run
# Start a file manager
bindsym $mod+e exec $file
# Start browser
bindsym $mod+a exec $browser
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# clipboard manager
bindsym $mod+w exec cliphist list | wofi | cliphist decode | wl-copy
# Reload the configuration file
bindsym $mod+Shift+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym Mod4+ampersand workspace 1
bindsym Mod4+eacute workspace 2
bindsym Mod4+quotedbl workspace 3
bindsym Mod4+apostrophe workspace 4
bindsym Mod4+parenleft workspace 5
bindsym Mod4+minus workspace 6
bindsym Mod4+egrave workspace 7
bindsym Mod4+underscore workspace 8
bindsym Mod4+ccedilla workspace 9
bindsym Mod4+agrave workspace 10
# Move focused container to workspace
bindsym Mod4+Shift+ampersand workspace 01
bindsym Mod4+Shift+eacute workspace 02
bindsym Mod4+Shift+quotedbl workspace 03
bindsym Mod4+Shift+apostrophe workspace 04
bindsym Mod4+Shift+parenleft workspace 05
bindsym Mod4+Shift+minus workspace 06
bindsym Mod4+Shift+egrave workspace 07
bindsym Mod4+Shift+underscore workspace 08
bindsym Mod4+Shift+ccedilla workspace 09
bindsym Mod4+Shift+agrave workspace 010
bindsym Mod4+tab workspace next
bindsym Mod4+Shift+tab workspace prev
# external screen
# on laptop monitor
workspace 1 output $laptop
workspace 2 output $laptop
workspace 3 output $laptop
workspace 4 output $laptop
workspace 5 output $laptop
workspace 6 output $laptop
workspace 7 output $laptop
workspace 8 output $laptop
workspace 9 output $laptop
workspace 10 output $laptop
# on external monitor
workspace 01 output $external
workspace 02 output $external
workspace 03 output $external
workspace 04 output $external
workspace 05 output $external
workspace 06 output $external
workspace 07 output $external
workspace 08 output $external
workspace 09 output $external
workspace 010 output $external
# assignment
for_window [app_id=.*] focus
assign [app_id="foot"] 01
assign [app_id="foot"] 1
assign [app_id="zen"] 02
assign [app_id="zen"] 2
assign [app_id="anki"] 02
assign [app_id="anytype"] 3
assign [app_id="libreoffice"] 3
assign [app_id="signal"] 4
assign [app_id="thunderbird"] 04
assign [app_id="thunderbird"] 4
assign [app_id="mpv"] 05
assign [app_id="mpv"] 5
assign [app_id="vlc"] 05
assign [app_id="vlc"] 5
assign [app_id="steam"] 06
assign [app_id="steam"] 6
assign [app_id="kde-connect"] 7
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
bindsym $mod+s layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+u focus mode_toggle
# Move focus to the parent container
# bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+alt+r mode "resize"
#
# Utilities:
#
# Special keys to adjust volume via PulseAudio
bindsym --locked XF86AudioMute exec amixer sset Master toggle
bindsym --locked XF86AudioLowerVolume exec amixer sset Master 5%-
bindsym --locked XF86AudioRaiseVolume exec amixer sset Master 5%+
bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# Special keys to adjust brightness via brightnessctl
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# Special key to take a screenshot with grim
bindsym Print exec grim
bindsym $mod+Print exec grim -g "$(slurp)"
#power
bindsym Mod4+Escape exec wlogout
bindsym Mod4+Shift+x exec swaylock
#
# Status Bar disable because of use waybar instead if you not use waybar just uncomment those below:
#
# Read `man 5 sway-bar` for more information about this section.
# bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
# }
#}
include /etc/sway/config.d/*

1
waybar/.~lock.style.css# Normal file
View file

@ -0,0 +1 @@
,root,ohTP,29.06.2026 09:24,file:///root/.config/libreoffice/4;

View file

@ -0,0 +1,216 @@
{
"layer": "top",
"position": "top",
"height": 30,
"icon-size": 40,
"reload-style-on-change": true,
"modules-left": [
"custom/shutdown",
"sway/workspaces",
"mpris"
],
"modules-center": ["custom/weather"],
"modules-right": [
"group/audio",
"group/hardware",
"battery",
"network",
"clock",
"idle_inhibitor",
"sway/hibernate"
],
"sway/workspaces": {
"format": "{icon}",
"format-icons": {
"1": "<span></span>",
"2": "<span></span>",
"3": "<span>󰎚</span>",
"4": "<span>󰭹</span>",
"5": "<span></span>",
"6": "<span></span>",
"7": "<span></span>",
"8": "<span>󰽉</span>",
},
"on-click": "activate"
},
"custom/shutdown": {
"format": "",
"tooltip": false,
"on-click": "systemctl poweroff"
},
"custom/hibernate": {
"format": "",
"tooltip": false,
"on-click": "systemctl hibernate"
},
"custom/weather": {
"format": "{}",
"interval": 900,
"exec": "~/.config/waybar/scripts/weather_module.py",
"tooltip": true,
"on-click": "exec ~/.config/waybar/scripts/weather_module.py",
"return-type": "json",
},
"mpris": {
"interval": 10,
"format": "{player_icon} {dynamic}",
"format-paused": "{status_icon} {artist} {title}",
"on-click-middle": "playerctl play-pause",
"on-click": "playerctl previous",
"on-click-right": "playerctl next",
"scroll-step": 5.0,
"on-scroll-up": "$HOME/.config/hypr/scripts/volume.sh --inc",
"on-scroll-down": "$HOME/.config/hypr/scripts/volume.sh --dec",
"smooth-scrolling-threshold": 1,
"tooltip": true,
"tooltip-format": "{status_icon} {dynamic}\nLeft Click: previous\nMid Click: Pause\nRight Click: Next",
"player-icons": {
"chromium": "",
"default": "",
"firefox": "",
"kdeconnect": "",
"mopidy": "",
"mpv": "󰐹",
"spotify": "",
"vlc": "󰕼",
},
"status-icons": {
"paused": "󰐎",
"playing": "",
"stopped": "",
},
"dynamic-order": ["artist", "title"],
"max-length": 50,
},
"group/audio": {
"orientation": "horizontal",
"modules": [
"pulseaudio",
"bluetooth"
]
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-bluetooth": "{icon} {volume}% ",
"format-muted": "",
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
},
"bluetooth": {
"format": "",
"format-disabled": "󰂲",
"format-connected": "",
"tooltip-format": "Devices connected: {num_connections}",
"on-click": "bluetooth toggle"
},
"group/hardware": {
"orientation": "horizontal",
"modules": [
"memory"
]
},
"memory": {
"interval": 2,
"format": "{icon} {percentage}%",
"rformat-icons": [
"󰾆",
"󰾅",
"󰓅"
]
},
"battery": {
"format": "{capacity}% {icon}",
"format-discharging": "{capacity}% {icon}",
"format-charging": "{capacity}% {icon}",
"format-plugged": " {capacity}%",
"format-icons": {
"charging": [
"󰢜",
"󰂆",
"󰂇",
"󰂈",
"󰢝",
"󰂉",
"󰢞",
"󰂊",
"󰂋",
"󰂅"
],
"default": [
"󰁺",
"󰁻",
"󰁼",
"󰁽",
"󰁾",
"󰁿",
"󰂀",
"󰂁",
"󰂂",
"󰁹"
]
},
"format-full": "󰂅 {capacity}%",
"tooltip-format-discharging": "{timeTo}",
"tooltip-format-charging": "{timeTo}",
"interval": 5,
"on-click": "exec tlp toggle",
"on-click-right": "notify-send -u low \"$(omarchy-battery-status)\"",
"states": {
"warning": 20,
"critical": 10
}
},
"network": {
"format-icons": [
"󰤯",
"󰤟",
"󰤢",
"󰤥",
"󰤨"
],
"format": "{icon}",
"format-wifi": "{icon}",
"format-ethernet": "󰈀",
"format-disconnected": "󰤮",
"tooltip-format-wifi": "{essid} ({frequency} GHz)\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-ethernet": "⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-disconnected": "Disconnected",
"interval": 3,
"spacing": 1,
"on-click": "exec foot nmtui"
},
"clock": {
"format": "{:%H:%M}",
"tooltip-format": "<span>{calendar}</span>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"on-click-right": "mode",
"format": {
"month": "<span color='#ffead3'><b>{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b>{}</b></span>",
},
},
"timezone": "Europe/Paris"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "\uf06e",
"deactivated": "\uf070"
}
}
}

116
waybar/backup/style_ini.css Normal file
View file

@ -0,0 +1,116 @@
* {
font-family: "JetBrainsMono Nerd Font Propo";
font-size: 17px;
}
tooltip * {
background-color: #301934;
}
window#waybar {
background: transparent;
}
/*
window#waybar {
background: transparent;
transition-property: background-color;
transition-duration: 0.5s;
border-bottom: 0px solid #444;
}
*/
#mpris {
color: #ffffff;
border-radius: 4px;
margin: 0px 3px;
padding: 0px 12px;
}
#pulseaudio, #bluetooth, #clock, #network {
border-radius: 4px;
margin: 0px 3px;
padding: 0px 12px;
background-color: #200116;
color: #DABFFF;
}
#idle_inhibitor.deactivated {
margin: 0px 3px;
padding: 0px 12px;
background-color: #200200;
}
#group-hardware {
color: #200116;
}
#memory {
border-radius: 4px;
margin: 0px 3px;
padding: 0px 12px;
background-color: #200116;
color: #8FA6CB;
}
#battery {
border-radius: 4px;
margin: 0px 3px;
padding: 0px 12px;
background-color: #4C0827;
color: #8FA6CB;
}
#custom-weather {
border-radius: 4px;
margin: 0px 3px;
padding: 0px 12px;
color: #8FA6CB;
}
#custom-menu, #custom-shutdown, #custom-hibernate{
padding: 0px 3px;
padding-right: 16px;
padding-left: 14px;
color: #e06c75;
}
#custom-menu:hover, #custom-shutdown:hover, #custom-logout:hover {
background: #ffffff;
border-radius: 6px;
}
#workspaces button {
all: initial;
/* Remove GTK theme values (waybar #1351) */
min-width: 0;
/* Fix weird spacing in materia (waybar #450) */
box-shadow: inset 0 -3px transparent;
/* Use box-shadow instead of border so the text isn't offset */
padding: 0px 15px;
margin: 0px 3px;
border-radius: 4px;
color: #D6E3F8;
background-color: #8b0c99;
}
#workspaces button.active {
transition: all 50ms ease-out;
color: #dddddd;
background-color: #1B264F;
font-weight: bold;
border-bottom: 2px solid #ff0000; /* Optionnel : barre sous l'active */
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
color: #1e1e2e;
background-color: #1B264F;
}
#workspaces button.urgent {
background-color: #f38ba8;
}

307
waybar/config Normal file
View file

@ -0,0 +1,307 @@
{
"reload_style_on_change": true,
"layer": "top",
"position": "top",
"mod": "dock",
"margin-top": 0,
"margin-left": 5,
"margin-right": 5,
"margin-bottom": 0,
"group/left0": {
"orientation": "inherit",
"modules": ["custom/debian"],
"margin-left": 4,
"margin-right": 4
},
"group/left1": {
"orientation": "inherit",
"modules": ["clock", "custom/notification-silencing-indicator", "custom/weather"]
},
"group/left2": {
"orientation": "inherit",
"modules": ["sway/workspaces"]
},
"group/left3": {
"orientation": "inherit",
"modules": [
"custom/screenrecording-indicator"
]
},
"group/left4": {
"orientation": "inherit",
"modules": []
},
"modules-left": [
"group/left0",
"group/left1",
"group/left2",
"group/left3",
"group/left4"
],
"modules-center": ["mpris"],
"modules-right": ["group/right1", "group/right2"],
"group/right1": {
"orientation": "inherit",
"modules": ["tray", "idle_inhibitor"]
},
"group/right2": {
"orientation": "inherit",
"modules": [
"backlight",
"bluetooth",
"pulseaudio",
"network",
"memory",
"battery"
],
},
"sway/workspaces": {
"format": "{icon}",
"format-icons": {
"01": "<span></span>",
"02": "<span></span>",
"03": "<span>󰎚</span>",
"04": "<span>󰭹</span>",
"05": "<span></span>",
"06": "<span></span>",
"07": "<span></span>",
"08": "<span>󰽉</span>",
},
"on-click": "activate"
},
"custom/debian": {
"format": "",
"on-click": "exec wlogout",
"on-click-right": "",
"tooltip-format": "Luniversité nest pas une usine à fabriquer des diplômes, à la façon des usines à saucisses qui fabriquent des saucisses. \n\nCest le lieu où une chance est donnée à des hommes de devenir qui ils sont vraiment. \n\nSimon Leys"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "󰈈",
"deactivated": "󰈉"
}
},
"custom/notification-silencing-indicator": {
"on-click": "omarchy-toggle-notification-silencing",
"exec": "$OMARCHY_PATH/default/waybar/indicators/notification-silencing.sh",
"signal": 10,
"return-type": "json"
},
"sway/window": {
"format": "{title}",
"max-length": 30,
"rewrite": {
" - ": "", // if no window is focused, a single dash is displayed, this removes it
"(.*chrome)...(.*)": "  $1 ",
"(.*zen)...(.*)": "  $1 ",
"(.*foot)...(.*)": "  $2 ",
"(.*code) - (.*)": " 󰨞 $1 ",
"^.*btop( .*|$)": " 󰧨 BTOP $1 ",
"(.*) - Spotify": "  $1 ",
"(.*) - BeeperTexts": " 󰻞 $1 ",
"(.*Discord)...(.*).. (.*)": "  $2 ",
"(.*) - org.gnome.Nautilus": " 󰣆 $1 ",
"(.*Steam)...(.*)": "  $1",
"(.*imv)...(.*).. (.*)": "  $2",
"(.*) - com.obsproject.Studio": "  $1 "
}
},
"memory": {
"interval": 5,
"format": " {icon} {percentage:02}%",
"format-icons": [
"󰾆",
"󰾅",
"󰓅"
]
},
"clock": {
"format": " {:%H:%M %a} ",
"format-alt": " {:%d/%m/%Y %H:%M:%S}",
"tooltip-format": "<span>{calendar}</span>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"on-click-right": "mode",
"format": {
"month": "<span color='#ffead3'><b>{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b>{}</b></span>"
}
},
"on-click-right": "omarchy-launch-floating-terminal-with-presentation omarchy-tz-select"
},
"network": {
"format-icons": [
"󰤯",
"󰤟",
"󰤢",
"󰤥",
"󰤨"
],
"format": "{icon}",
"format-wifi": "{icon}",
"format-ethernet": "󰈀",
"format-disconnected": "󰤮",
"tooltip-format-wifi": "{essid} ({frequency} GHz)\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-ethernet": "⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-disconnected": "Disconnected",
"interval": 3,
"spacing": 1,
"on-click": "exec foot nmtui"
},
"battery": {
"format": "{capacity}% {icon}",
"format-discharging": "{icon} {capacity}%",
"format-charging": "{icon} {capacity}%",
"format-plugged": " {capacity} %",
"format-icons": {
"charging": [
"󰢜",
"󰂆",
"󰂇",
"󰂈",
"󰢝",
"󰂉",
"󰢞",
"󰂊",
"󰂋",
"󰂅"
],
"default": [
"󰁺",
"󰁻",
"󰁼",
"󰁽",
"󰁾",
"󰁿",
"󰂀",
"󰂁",
"󰂂",
"󰁹"
]
},
"format-full": "󰂅",
"tooltip-format-discharging": "{timeTo}",
"tooltip-format-charging": "{timeTo}",
"interval": 5,
"on-click": "exec tlp toggle",
"on-click-right": "notify-send -u low \"$(omarchy-battery-status)\"",
"states": {
"warning": 20,
"critical": 10
}
},
"bluetooth": {
"format": "",
"format-disabled": "󰂲",
"format-connected": "",
"tooltip-format": "Devices connected: {num_connections}",
"on-click": "bluetooth toggle"
},
"backlight": {
"device": "intel_backlight",
"format": "{icon}",
"tooltip-format": "{percent}%",
"format-icons": [
"🌑",
"🌘",
"🌗",
"🌖",
"🌕"
]
},
"custom/weather": {
"format": "{}",
"interval": 900,
"exec": "~/.config/waybar/scripts/weather_module.py",
"tooltip": true,
"on-click": "exec ~/.config/waybar/scripts/weather_module.py",
"return-type": "json",
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": "󰖁",
"format-icons": {
"default": [
"󰕿",
"󰖀",
"󰕾",
],
},
"on-click": "amixer sset 'Master' toggle",
"scroll-step": 3,
},
"tray": {
"icon-size": 12,
"spacing": 10
},
"mpris": {
"ignored-players": [],
"interval": 10,
"format": "{player_icon} {dynamic}",
"format-paused": "{status_icon} {artist} {title}",
"on-click-middle": "playerctl play-pause",
"on-click": "playerctl previous",
"on-click-right": "playerctl next",
"scroll-step": 5.0,
"on-scroll-up": "",
"on-scroll-down": "",
"smooth-scrolling-threshold": 1,
"tooltip": true,
"tooltip-format": "{status_icon} {dynamic}\nLeft Click: previous\nMid Click: Pause\nRight Click: Next",
"player-icons": {
"chromium": "",
"default": "",
"firefox": "",
"kdeconnect": "",
"mopidy": "",
"mpv": "󰐹",
"vlc": "󰕼",
},
"status-icons": {
"paused": "󰐎",
"playing": "",
"stopped": "",
},
"dynamic-order": ["artist", "title"],
"max-length": 50,
},
"custom/screenrecording-indicator": {
"on-click": "omarchy-capture-screenrecording",
"exec": "$OMARCHY_PATH/default/waybar/indicators/screen-recording.sh",
"signal": 8,
"return-type": "json"
},
}

26
waybar/rose-pine.css Normal file
View file

@ -0,0 +1,26 @@
/*
* Variant: Rosé Pine
* Maintainer: DankChoir
*/
@define-color base #191724;
@define-color surface #1f1d2e;
@define-color overlay #26233a;
@define-color muted #6e6a86;
@define-color subtle #908caa;
@define-color text #e0def4;
@define-color love #eb6f92;
@define-color gold #f6c177;
@define-color rose #ebbcba;
@define-color pine #31748f;
@define-color foam #9ccfd8;
@define-color iris #c4a7e7;
@define-color plum #DDA0DD;
@define-color purple #341731;
@define-color blue #0a8cf0;
@define-color highlightLow #21202e;
@define-color highlightMed #403d52;
@define-color highlightHigh #524f67;

59
waybar/scripts/weather.sh Executable file
View file

@ -0,0 +1,59 @@
#!/bin/bash
# --- CONFIGURATION ---
API_KEY="00e744eb427e575e1e8ed79f31f770fb" # Paste your key here
LAT="48.856613" # Replace with your Latitude
LON="2.352222" # Replace with your Longitude
UNITS="metric" # Use "metric" for Celsius, "imperial" for Fahrenheit
# ---------------------
# Validate configuration
if [ -z "$LAT" ] || [ -z "$LON" ] || [ -z "$UNITS" ] || [ -z "$API_KEY" ]; then
echo "Config missing"
exit 1
fi
# Fetch the weather data
RESPONSE=$(curl -s "[https://api.openweathermap.org/data/2.5/weather?lat=$](https://api.openweathermap.org/data/2.5/weather?lat=$){LAT}&lon=${LON}&appid=${API_KEY}&units=${UNITS}")
# Check if curl failed to get a response
if [ -z "$RESPONSE" ]; then
echo "No connection"
exit 1
fi
# 1. Get the Temperature
# We use jq's built-in 'round' function to avoid ugly decimals (e.g., 71.6°F becomes 72°F)
TEMP=$(echo "$RESPONSE" | jq '.main.temp | round')
# 2. Get the Description (for the tooltip)
DESC=$(echo "$RESPONSE" | jq -r '.weather[0].description')
# 3. Get the Icon Code and map it to an emoji
ICON_CODE=$(echo "$RESPONSE" | jq -r '.weather[0].icon')
case $ICON_CODE in
"01d") ICON="☀️";; # Clear sky day
"01n") ICON="🌙";; # Clear sky night
"02d") ICON="⛅";; # Few clouds day
"02n") ICON="☁️";; # Few clouds night
"03d"|"03n") ICON="☁️";; # Scattered clouds
"04d"|"04n") ICON="☁️";; # Broken clouds
"09d"|"09n") ICON="🌧️";; # Shower rain
"10d") ICON="🌦️";; # Rain day
"10n") ICON="🌧️";; # Rain night
"11d"|"11n") ICON="⛈️";; # Thunderstorm
"13d"|"13n") ICON="❄️";; # Snow
"50d"|"50n") ICON="🌫️";; # Mist
*) ICON="❓";; # Default
esac
# Determine unit label
if [ "$UNITS" = "metric" ]; then
LABEL="°C"
else
LABEL="°F"
fi
# Final JSON output for Waybar
echo "{\"text\": \"${ICON} ${TEMP}${LABEL}\", \"tooltip\": \"${DESC}\"}"

View file

@ -0,0 +1,83 @@
#!/usr/bin/env python3
import requests
import json
import sys
import os
# CONFIGURATION
import requests
import json
import sys
import os
# CONFIGURATION
API_KEY = "ebb6d6ea53be021675e3276f7fe8cd77" # Remplacez par votre clé OpenWeatherMap
CITY = "Paris" # Ville par défaut si non précisée
UNITS = "metric" # "metric" pour °C, "imperial" pour °F
LANG = "fr" # "fr" pour français, "en" pour anglais
def get_weather():
if not API_KEY or API_KEY == "VOTRE_CLE_API_ICI":
return {"text": "❌ Clé API manquante", "class": "weather-error", "tooltip": "Configurez la clé API dans le script."}
try:
url = f"https://api.openweathermap.org/data/2.5/weather?q={CITY}&appid={API_KEY}&units={UNITS}&lang={LANG}"
response = requests.get(url, timeout=5)
if response.status_code == 401:
return {"text": "❌ Clé API invalide", "class": "weather-error", "tooltip": "Erreur 401: Vérifiez votre clé OpenWeatherMap."}
if response.status_code == 404:
return {"text": "❌ Ville introuvable", "class": "weather-error", "tooltip": f"La ville '{CITY}' n'a pas été trouvée."}
if response.status_code != 200:
return {"text": "⚠️ Erreur API", "class": "weather-error", "tooltip": f"Code {response.status_code}: {response.text}"}
data = response.json()
# Extraction des données
temp = data["main"]["temp"]
description = data["weather"][0]["description"].capitalize()
icon_code = data["weather"][0]["icon"]
wind_speed = data["wind"]["speed"]
# Mapping des icônes OpenWeather vers les icônes Waybar standard (ou Unicode)
# OpenWeather utilise des codes comme "10d", "01n". Waybar utilise souvent des noms ou des emojis.
# Ici, nous utilisons des emojis pour une compatibilité universelle.
icon = "☁️"
if "01" in icon_code:
icon = "☀️" if "d" in icon_code else "🌙"
elif "02" in icon_code:
icon = "" if "d" in icon_code else "🌥️"
elif "03" in icon_code or "04" in icon_code:
icon = "☁️"
elif "09" in icon_code or "10" in icon_code:
icon = "🌧️"
elif "11" in icon_code:
icon = "⛈️"
elif "13" in icon_code:
icon = "❄️"
elif "50" in icon_code:
icon = "🌫️"
# Formatage du texte
text = f"{icon} {int(temp)}°C"
tooltip = f"{description}\nVent: {wind_speed} m/s\nVille: {data['name']}, {data['sys']['country']}"
return {
"text": text,
"tooltip": tooltip,
"class": "weather-good" if temp > 10 else "weather-cold" if temp < 0 else "weather-warm"
}
except requests.exceptions.Timeout:
return {"text": "⏱️ Timeout", "class": "weather-error", "tooltip": "La requête a expiré."}
except requests.exceptions.ConnectionError:
return {"text": "🚫 Pas de réseau", "class": "weather-error", "tooltip": "Impossible de se connecter à OpenWeatherMap."}
except Exception as e:
return {"text": "❌ Erreur", "class": "weather-error", "tooltip": str(e)}
if __name__ == "__main__":
result = get_weather()
print(json.dumps(result))
sys.stdout.flush()

234
waybar/style.css Normal file
View file

@ -0,0 +1,234 @@
@import "./rose-pine.css";
/* --- Global-Settings ---*/
* {
font-family: 'JetBrainsMono Nerd Font';
font-size: 16px;
font-weight: 600;
min-height: 0px;
border-radius:7px;
}
/* --- Waybar ---*/
window#waybar {
background-color: transparent;
transition-property: background-color;
transition-duration: .5s;
}
#waybar > box {
margin: 2px 6px;
padding: 0px;
background-color: @base;
border: 0px solid alpha(@highlightMed, 0.3);
box-shadow:
inset 3px 0 0 0px @iris,
inset -3px 0 0 0px @iris,
0px 1px 2px rgba(0, 0, 0, 0.6);
}
/* --- Single Module Config's ---*/
#left0, #left1, #left2, #left3, #left4,
#right1, #right2,
.modules-center {
margin: 0px 2px;
padding: 0 5px;
transition: all 0.2s ease-in-out;
}
#left0 {
background-color: @overlay;
border-radius: 1px;
}
#left1 {
background-color: @overlay;
border-radius: 7px;
}
#left2 {
background-color: @overlay;
box-shadow: inset 0 -3px 0 0 @love;
padding: 0px;
}
#left3 {
background-color: @surface;
box-shadow: inset 0 -3px 0 0 @pine;
}
.modules-center {
color: @plum;
background-color: @surface;
box-shadow: inset 0 -3px 0 0 @foam;
padding: 0px;
}
#right1 {
background-color: @surface;
box-shadow: inset 0 -3px 0 0 @subtle;
}
#right2 {
background-color: @overlay;
}
window#waybar.empty #window {
background: transparent;
background-color: transparent;
border: none;
border-radius: 0;
color: transparent;
padding: 0;
margin: 0;
}
#waybar.empty .modules-center {
opacity: 0;
}
#mpris {
background-color: @surface;
box-shadow: inset 0 -3px 0 0 @rose;
color: @rose;
}
#workspaces {
background-color: transparent;
padding: 0px;
margin: 0px;
}
#workspaces button {
color: @subtle;
padding: 0 8px;
margin: 2px 2px;
transition: all 0.2s ease;
opacity: 0.75;
}
#workspaces button.active {
color: @love;
}
#workspaces button.empty {
color: @muted;
opacity: 0.2;
}
#workspaces button.empty.active {
color: @rose;
opacity: 1;
}
#workspaces button:hover {
background-color: alpha(@highlightMed, 0.5);
color: @text;
}
#workspaces button.urgent {
color: @base;
background-color: @love;
}
/* --- General Modules --- */
#tray,
#window,
#cpu,
#clock,
#battery,
#network,
#memory,
#backlight,
#bluetooth,
#pulseaudio,
#custom-weather,
#custom-update,
#idle_inhibitor,
#custom-idle-indicator,
#custom-notification-silencing-indicator,
#custom-debian,
#custom-screenrecording-indicator,
#custom-updatespacman {
min-width: 16px;
margin: 0 2px;
padding: 0 4px;
}
#custom-update {
padding-left: 3px;
}
/* --- Module-Group-Colors --- */
#custom-debian { color: @gold; }
#clock, #custom-weather { color: @text; }
#bluetooth { color: @rose; }
#memory { color: @iris; }
#pulseaudio { color: @love; }
#network { color: @foam; }
#battery { color: @pine; }
#backlight { color: @gold; }
#idle_inhibitor.activated { color: @gold; }
#idle_inhibitor.deactivated { color: @muted; }
#tray { color: @muted; }
#custom-voxtype {
min-width: 12px;
margin: 0 0 0 7.5px;
}
#custom-voxtype.recording,
#custom-idle-indicator.active,
#custom-notification-silencing-indicator.active {
color: @love;
}
#custom-idle-indicator,
#custom-notification-silencing-indicator {
min-width: 12px;
margin-left: 0;
margin-right: 0;
font-size: 12px;
padding-bottom: 1px;
}
/* Specific Module */
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: @transparent;
}
.hidden {
opacity: 0;
}
tooltip * {
background-color: @purple;
border: 0px solid @highlightHigh;
border-radius: 3px;
}
tooltip label {
color: @text;
padding: 4px;
}
/* Specific animation Module */
#custom-screenrecording-indicator.active {
color: @rose;
animation: blink-recording 0.5s infinite alternate linear;
}
@keyframes blink-recording {
to { color: transparent; }
}

234
waybar/style.css.save Normal file
View file

@ -0,0 +1,234 @@
@import "./rose-pine.css";
/* --- Global-Settings ---*/
* {
font-family: 'JetBrainsMono Nerd Font';
font-size: 18px;
font-weight: 600;
min-height: 0px;
border-radius:7px;
}
/* --- Waybar ---*/
window#waybar {
background-color: transparent;
transition-property: background-color;
transition-duration: .5s;
}
#waybar > box {
margin: 2px 6px;
padding: 0px;
background-color: @base;
border: 0px solid alpha(@highlightMed, 0.3);
box-shadow:
inset 3px 0 0 0px @iris,
inset -3px 0 0 0px @iris,
0px 1px 2px rgba(0, 0, 0, 0.6);
}
/* --- Single Module Config's ---*/
#left0, #left1, #left2, #left3, #left4,
#right1, #right2,
.modules-center {
margin: 0px 2px;
padding: 0 5px;
transition: all 0.2s ease-in-out;
}
#left0 {
background-color: @overlay;
border-radius: 1px;
}
#left1 {
background-color: @overlay;
border-radius: 7px;
}
#left2 {
background-color: @overlay;
box-shadow: inset 0 -3px 0 0 @love;
padding: 0px;
}
#left3 {
background-color: @surface;
box-shadow: inset 0 -3px 0 0 @pine;
}
.modules-center {
color: @plum;
background-color: @surface;
box-shadow: inset 0 -3px 0 0 @foam;
padding: 0px;
}
#right1 {
background-color: @surface;
box-shadow: inset 0 -3px 0 0 @subtle;
}
#right2 {
background-color: @overlay;
}
window#waybar.empty #window {
background: transparent;
background-color: transparent;
border: none;
border-radius: 0;
color: transparent;
padding: 0;
margin: 0;
}
#waybar.empty .modules-center {
opacity: 0;
}
#mpris {
background-color: @surface;
box-shadow: inset 0 -3px 0 0 @rose;
color: @rose;
}
#workspaces {
background-color: transparent;
padding: 0px;
margin: 0px;
}
#workspaces button {
color: @subtle;
padding: 0 8px;
margin: 2px 2px;
transition: all 0.2s ease;
opacity: 0.75;
}
#workspaces button.active {
color: @love;
}
#workspaces button.empty {
color: @muted;
opacity: 0.2;
}
#workspaces button.empty.active {
color: @rose;
opacity: 1;
}
#workspaces button:hover {
background-color: alpha(@highlightMed, 0.5);
color: @text;
}
#workspaces button.urgent {
color: @base;
background-color: @love;
}
/* --- General Modules --- */
#tray,
#window,
#cpu,
#clock,
#battery,
#network,
#memory,
#backlight,
#bluetooth,
#pulseaudio,
#custom-weather,
#custom-update,
#idle_inhibitor,
#custom-idle-indicator,
#custom-notification-silencing-indicator,
#custom-debian,
#custom-screenrecording-indicator,
#custom-updatespacman {
min-width: 16px;
margin: 0 2px;
padding: 0 4px;
}
#custom-update {
padding-left: 3px;
}
/* --- Module-Group-Colors --- */
#custom-debian { color: @gold; }
#clock { color: @text; }
#bluetooth { color: @rose; }
#memory { color: @iris; }
#pulseaudio { color: @love; }
#network { color: @foam; }
#battery { color: @pine; }
#backlight { color: @gold; }
#idle_inhibitor.activated { color: @gold; }
#idle_inhibitor.deactivated { color: @muted; }
#tray { color: @muted; }
#custom-voxtype {
min-width: 12px;
margin: 0 0 0 7.5px;
}
#custom-voxtype.recording,
#custom-idle-indicator.active,
#custom-notification-silencing-indicator.active {
color: @love;
}
#custom-idle-indicator,
#custom-notification-silencing-indicator {
min-width: 12px;
margin-left: 0;
margin-right: 0;
font-size: 12px;
padding-bottom: 1px;
}
/* Specific Module */
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: @transparent;
}
.hidden {
opacity: 0;
}
tooltip * {
background-color: @purple;
border: 0px solid @highlightHigh;
border-radius: 3px;
}
tooltip label {
color: @text;
padding: 4px;
}
/* Specific animation Module */
#custom-screenrecording-indicator.active {
color: @rose;
animation: blink-recording 0.5s infinite alternate linear;
}
@keyframes blink-recording {
to { color: transparent; }
}

3
wofi/config Normal file
View file

@ -0,0 +1,3 @@
allow_images=true
image_size=24
width=40%

40
wofi/style.css Normal file
View file

@ -0,0 +1,40 @@
* {
border-radius:4px;
border: none;
}
window {
font-size: 24px;
font-family: "JetBrainsMono Nerd Font", monospace;
color: #ffffff;
background-color: rgba(40, 44, 52, 0.97);
}
#entry{
padding: 0.25em;
}
#entry:selected {
background-color: #bbccdd;
color: white;
border-radius:0px;
}
#expander-box {
background-color: rgba(40, 44, 52, 0.9);
}
#text:selected {
color: #333333;
}
#input{
background-color: rgba(40, 44, 52, 0.5);
color: white;
padding: 0.25em;
}
image{
margin-left: 0.25em;
margin-right: 0.25em;
}