1st dotfiles commit
This commit is contained in:
parent
39c99549d0
commit
a57c4c068f
31 changed files with 8636 additions and 0 deletions
3
com.hezkore.appimage.installer/bgupdate.json
Normal file
3
com.hezkore.appimage.installer/bgupdate.json
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"lastCheckedAt": "2026-08-02T23:58:58.4063981"
|
||||||
|
}
|
||||||
3690
fcitx5/conf/cached_layouts
Normal file
3690
fcitx5/conf/cached_layouts
Normal file
File diff suppressed because it is too large
Load diff
11
fcitx5/conf/classicui.conf
Normal file
11
fcitx5/conf/classicui.conf
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
# 垂直候选列表
|
||||||
|
Vertical Candidate List=False
|
||||||
|
|
||||||
|
# 按屏幕 DPI 使用
|
||||||
|
PerScreenDPI=True
|
||||||
|
|
||||||
|
# Font (设置成你喜欢的字体)
|
||||||
|
Font="Smartisan Compact CNS 20"
|
||||||
|
|
||||||
|
# 主题(这里要改成你想要使用的主题名,主题名就在下面)
|
||||||
|
Theme=macOS-dark
|
||||||
3
fcitx5/conf/notifications.conf
Normal file
3
fcitx5/conf/notifications.conf
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Notifications masquées
|
||||||
|
HiddenNotifications=
|
||||||
|
|
||||||
83
fcitx5/config
Normal file
83
fcitx5/config
Normal 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
32
fcitx5/profile
Normal 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
346
sway/app_assignment
Normal 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
346
sway/basic_key_bindings
Normal 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/*
|
||||||
3
sway/basic_key_bindings.save
Normal file
3
sway/basic_key_bindings.save
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
|
||||||
|
|
||||||
|
bindsym $mod+P exec $term
|
||||||
346
sway/colors
Normal file
346
sway/colors
Normal 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
351
sway/config
Normal 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
351
sway/config.save
Normal 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
346
sway/input_config
Normal 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
346
sway/layout
Normal 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
22
sway/pourhuion.txt
Normal 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
346
sway/utilities
Normal 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/*
|
||||||
BIN
sway/wallpapers/Untitled.jpeg
Normal file
BIN
sway/wallpapers/Untitled.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 946 KiB |
BIN
sway/wallpapers/frieren.png
Normal file
BIN
sway/wallpapers/frieren.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 MiB |
346
sway/windows_rules
Normal file
346
sway/windows_rules
Normal 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
346
sway/workspaces_rules
Normal 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
1
waybar/.~lock.style.css#
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
,root,ohTP,29.06.2026 09:24,file:///root/.config/libreoffice/4;
|
||||||
216
waybar/backup/config_ini.json
Normal file
216
waybar/backup/config_ini.json
Normal 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
116
waybar/backup/style_ini.css
Normal 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
307
waybar/config
Normal 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": "L’université n’est pas une usine à fabriquer des diplômes, à la façon des usines à saucisses qui fabriquent des saucisses. \n\nC’est 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
26
waybar/rose-pine.css
Normal 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
59
waybar/scripts/weather.sh
Executable 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}\"}"
|
||||||
83
waybar/scripts/weather_module.py
Executable file
83
waybar/scripts/weather_module.py
Executable 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
234
waybar/style.css
Normal 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
234
waybar/style.css.save
Normal 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
3
wofi/config
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
allow_images=true
|
||||||
|
image_size=24
|
||||||
|
width=40%
|
||||||
40
wofi/style.css
Normal file
40
wofi/style.css
Normal 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;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue