diff --git a/.Xresources b/.Xresources
new file mode 100644
index 0000000..e6cffb6
--- /dev/null
+++ b/.Xresources
@@ -0,0 +1,67 @@
+! Solarized colors
+#define S_base03 #002b36
+#define S_base02 #073642
+#define S_base01 #586e75
+#define S_base00 #657b83
+#define S_base0 #839496
+#define S_base1 #93a1a1
+#define S_base2 #eee8d5
+#define S_base3 #fdf6e3
+
+*background: S_base03
+*foreground: S_base0
+*fadeColor: S_base03
+*cursorColor: S_base1
+*pointerColorBackground:S_base01
+*pointerColorForeground:S_base1
+
+#define S_yellow #b58900
+#define S_orange #cb4b16
+#define S_red #dc322f
+#define S_magenta #d33682
+#define S_violet #6c71c4
+#define S_blue #268bd2
+#define S_cyan #2aa198
+#define S_green #859900
+
+! black dark/light
+*color0: S_base02
+*color8: S_base03
+
+!! red dark/light
+*color1: S_red
+*color9: S_orange
+
+!! green dark/light
+*color2: S_green
+*color10: S_base01
+
+!! yellow dark/light
+*color3: S_yellow
+*color11: S_base00
+
+!! blue dark/light
+*color4: S_blue
+*color12: S_base0
+
+!! magenta dark/light
+*color5: S_magenta
+*color13: S_violet
+
+!! cyan dark/light
+*color6: S_cyan
+*color14: S_base1
+
+!! white dark/light
+*color7: S_base2
+*color15: S_base3
+
+! ------------------------------------------------------------------------------
+! ROFI Solarized color theme
+! ------------------------------------------------------------------------------
+
+rofi.color-enabled: true
+rofi.color-window: #002b37, #002b37, #003642
+rofi.color-normal: #002b37, #819396, #002b37, #003642, #819396
+rofi.color-active: #002b37, #008ed4, #002b37, #003642, #008ed4
+rofi.color-urgent: #002b37, #da4281, #002b37, #003642, #da4281
diff --git a/.compton.conf b/.compton.conf
new file mode 100644
index 0000000..1a7736b
--- /dev/null
+++ b/.compton.conf
@@ -0,0 +1,80 @@
+#################################
+# GLX backend
+#################################
+glx-copy-from-front = false;
+glx-swap-method = "undefined";
+backend = "glx"; # Enables OpenGL backend
+paint-on-overlay = true; # These 3 can improve performance, work well in most cases
+glx-no-stencil = true;
+glx-no-rebind-pixmap = true;
+vsync = "opengl-swc"; # Enables one of the vsync methods. Check here for more info: https://github.com/chjj/compton/wiki/vsync-guide
+
+#################################
+# Shadows
+#################################
+shadow = true; # Enabled client-side shadows on windows.
+no-dnd-shadow = true; # Don't draw shadows on DND windows.
+no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows.
+#clear-shadow = true; # Zero the part of the shadow's mask behind the window.
+shadow-radius = 5; # The blur radius for shadows (default 12)
+shadow-offset-x = -5; # The left offset for shadows. (default -15)
+shadow-offset-y = -5; # The top offset for shadows. (default -15)
+shadow-opacity = 0.5;
+shadow-ignore-shaped = false;
+
+shadow-exclude = [
+ "! name~=''",
+ "name = 'Notification'",
+ "name = 'Plank'",
+ "name = 'Docky'",
+ "name = 'Kupfer'",
+ "name = 'xfce4-notifyd'",
+ "name *= 'VLC'",
+ "name *= 'compton'",
+ "name *= 'Chromium'",
+ "name *= 'Chrome'",
+ "name *= 'Firefox'",
+ "name *= 'Dofus'",
+ "class_g = 'Conky'",
+ "class_g = 'Kupfer'",
+ "class_g = 'Synapse'",
+ "class_g ?= 'Notify-osd'",
+ "class_g ?= 'Cairo-dock'",
+ "class_g ?= 'Xfce4-notifyd'",
+ "class_g ?= 'Xfce4-power-manager'"
+];
+
+#################################
+# Opacity
+#################################
+menu-opacity = 1;
+inactive-opacity = 0.7;
+active-opacity = 1;
+frame-opacity = 1;
+inactive-opacity-override = false;
+alpha-step = 0.06;
+blur-background-fixed = false;
+blur-background-exclude = [
+ "window_type = 'dock'",
+ "window_type = 'desktop'"
+];
+# Comme expliqué ici : https://wiki.archlinux.org/index.php/Termite#Transparency
+opacity-rule = [
+ "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
+];
+
+#################################
+# Fading
+#################################
+# Fading
+fading = true; # Fade windows during opacity changes.
+fade-delta = 4; # The time between steps in a fade in milliseconds. (default 10).
+fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028)
+fade-out-step = 0.03; # Opacity change between steps while fading out (default 0.03)
+
+detect-client-opacity = true; # Fixes opacity in some apps, such as xfce4-notifyd
+
+wintypes:
+{
+ tooltip = { fade = true; shadow = false; };
+};
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
new file mode 100644
index 0000000..65855fc
--- /dev/null
+++ b/.config/dunst/dunstrc
@@ -0,0 +1,416 @@
+[global]
+ ### Display ###
+
+ # Which monitor should the notifications be displayed on.
+ monitor = 0
+
+ # Display notification on focused monitor. Possible modes are:
+ # mouse: follow mouse pointer
+ # keyboard: follow window with keyboard focus
+ # none: don't follow anything
+ #
+ # "keyboard" needs a window manager that exports the
+ # _NET_ACTIVE_WINDOW property.
+ # This should be the case for almost all modern window managers.
+ #
+ # If this option is set to mouse or keyboard, the monitor option
+ # will be ignored.
+ follow = mouse
+
+ # The geometry of the window:
+ # [{width}]x{height}[+/-{x}+/-{y}]
+ # The geometry of the message window.
+ # The height is measured in number of notifications everything else
+ # in pixels. If the width is omitted but the height is given
+ # ("-geometry x2"), the message window expands over the whole screen
+ # (dmenu-like). If width is 0, the window expands to the longest
+ # message displayed. A positive x is measured from the left, a
+ # negative from the right side of the screen. Y is measured from
+ # the top and down respectively.
+ # The width can be negative. In this case the actual width is the
+ # screen width minus the width defined in within the geometry option.
+ geometry = "300x5-30+20"
+
+ # Show how many messages are currently hidden (because of geometry).
+ indicate_hidden = yes
+
+ # Shrink window if it's smaller than the width. Will be ignored if
+ # width is 0.
+ shrink = no
+
+ # The transparency of the window. Range: [0; 100].
+ # This option will only work if a compositing window manager is
+ # present (e.g. xcompmgr, compiz, etc.).
+ transparency = 0
+
+ # The height of the entire notification. If the height is smaller
+ # than the font height and padding combined, it will be raised
+ # to the font height and padding.
+ notification_height = 0
+
+ # Draw a line of "separator_height" pixel height between two
+ # notifications.
+ # Set to 0 to disable.
+ separator_height = 2
+
+ # Padding between text and separator.
+ padding = 8
+
+ # Horizontal padding.
+ horizontal_padding = 8
+
+ # Defines width in pixels of frame around the notification window.
+ # Set to 0 to disable.
+ frame_width = 3
+
+ # Defines color of the frame around the notification window.
+ frame_color = "#aaaaaa"
+
+ # Define a color for the separator.
+ # possible values are:
+ # * auto: dunst tries to find a color fitting to the background;
+ # * foreground: use the same color as the foreground;
+ # * frame: use the same color as the frame;
+ # * anything else will be interpreted as a X color.
+ separator_color = frame
+
+ # Sort messages by urgency.
+ sort = yes
+
+ # Don't remove messages, if the user is idle (no mouse or keyboard input)
+ # for longer than idle_threshold seconds.
+ # Set to 0 to disable.
+ # A client can set the 'transient' hint to bypass this. See the rules
+ # section for how to disable this if necessary
+ idle_threshold = 120
+
+ ### Text ###
+
+ font = Monospace 8
+
+ # The spacing between lines. If the height is smaller than the
+ # font height, it will get raised to the font height.
+ line_height = 0
+
+ # Possible values are:
+ # full: Allow a small subset of html markup in notifications:
+ # bold
+ # italic
+ # strikethrough
+ # underline
+ #
+ # For a complete reference see
+ # .
+ #
+ # strip: This setting is provided for compatibility with some broken
+ # clients that send markup even though it's not enabled on the
+ # server. Dunst will try to strip the markup but the parsing is
+ # simplistic so using this option outside of matching rules for
+ # specific applications *IS GREATLY DISCOURAGED*.
+ #
+ # no: Disable markup parsing, incoming notifications will be treated as
+ # plain text. Dunst will not advertise that it has the body-markup
+ # capability if this is set as a global setting.
+ #
+ # It's important to note that markup inside the format option will be parsed
+ # regardless of what this is set to.
+ markup = full
+
+ # The format of the message. Possible variables are:
+ # %a appname
+ # %s summary
+ # %b body
+ # %i iconname (including its path)
+ # %I iconname (without its path)
+ # %p progress value if set ([ 0%] to [100%]) or nothing
+ # %n progress value if set without any extra characters
+ # %% Literal %
+ # Markup is allowed
+ format = "%s\n%b"
+
+ # Alignment of message text.
+ # Possible values are "left", "center" and "right".
+ alignment = left
+
+ # Show age of message if message is older than show_age_threshold
+ # seconds.
+ # Set to -1 to disable.
+ show_age_threshold = 60
+
+ # Split notifications into multiple lines if they don't fit into
+ # geometry.
+ word_wrap = yes
+
+ # When word_wrap is set to no, specify where to make an ellipsis in long lines.
+ # Possible values are "start", "middle" and "end".
+ ellipsize = middle
+
+ # Ignore newlines '\n' in notifications.
+ ignore_newline = no
+
+ # Stack together notifications with the same content
+ stack_duplicates = true
+
+ # Hide the count of stacked notifications with the same content
+ hide_duplicate_count = false
+
+ # Display indicators for URLs (U) and actions (A).
+ show_indicators = yes
+
+ ### Icons ###
+
+ # Align icons left/right/off
+ icon_position = off
+
+ # Scale larger icons down to this size, set to 0 to disable
+ max_icon_size = 32
+
+ # Paths to default icons.
+ # icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
+ icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/
+
+
+ ### History ###
+
+ # Should a notification popped up from history be sticky or timeout
+ # as if it would normally do.
+ sticky_history = yes
+
+ # Maximum amount of notifications kept in history
+ history_length = 20
+
+ ### Misc/Advanced ###
+
+ # dmenu path.
+ dmenu = /usr/bin/dmenu -p dunst:
+
+ # Browser for opening urls in context menu.
+ browser = /usr/bin/firefox -new-tab
+
+ # Always run rule-defined scripts, even if the notification is suppressed
+ always_run_script = true
+
+ # Define the title of the windows spawned by dunst
+ title = Dunst
+
+ # Define the class of the windows spawned by dunst
+ class = Dunst
+
+ # Print a notification on startup.
+ # This is mainly for error detection, since dbus (re-)starts dunst
+ # automatically after a crash.
+ startup_notification = false
+
+ # Manage dunst's desire for talking
+ # Can be one of the following values:
+ # crit: Critical features. Dunst aborts
+ # warn: Only non-fatal warnings
+ # mesg: Important Messages
+ # info: all unimportant stuff
+ # debug: all less than unimportant stuff
+ verbosity = mesg
+
+ # Define the corner radius of the notification window
+ # in pixel size. If the radius is 0, you have no rounded
+ # corners.
+ # The radius will be automatically lowered if it exceeds half of the
+ # notification height to avoid clipping text and/or icons.
+ corner_radius = 0
+
+ ### Legacy
+
+ # Use the Xinerama extension instead of RandR for multi-monitor support.
+ # This setting is provided for compatibility with older nVidia drivers that
+ # do not support RandR and using it on systems that support RandR is highly
+ # discouraged.
+ #
+ # By enabling this setting dunst will not be able to detect when a monitor
+ # is connected or disconnected which might break follow mode if the screen
+ # layout changes.
+ force_xinerama = false
+
+ ### mouse
+
+ # Defines action of mouse event
+ # Possible values are:
+ # * none: Don't do anything.
+ # * do_action: If the notification has exactly one action, or one is marked as default,
+ # invoke it. If there are multiple and no default, open the context menu.
+ # * close_current: Close current notification.
+ # * close_all: Close all notifications.
+ mouse_left_click = close_current
+ mouse_middle_click = do_action
+ mouse_right_click = close_all
+
+# Experimental features that may or may not work correctly. Do not expect them
+# to have a consistent behaviour across releases.
+[experimental]
+ # Calculate the dpi to use on a per-monitor basis.
+ # If this setting is enabled the Xft.dpi value will be ignored and instead
+ # dunst will attempt to calculate an appropriate dpi value for each monitor
+ # using the resolution and physical size. This might be useful in setups
+ # where there are multiple screens with very different dpi values.
+ per_monitor_dpi = false
+
+[shortcuts]
+
+ # Shortcuts are specified as [modifier+][modifier+]...key
+ # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
+ # "mod3" and "mod4" (windows-key).
+ # Xev might be helpful to find names for keys.
+
+ # Close notification.
+ close = ctrl+space
+
+ # Close all notifications.
+ close_all = ctrl+shift+space
+
+ # Redisplay last message(s).
+ # On the US keyboard layout "grave" is normally above TAB and left
+ # of "1". Make sure this key actually exists on your keyboard layout,
+ # e.g. check output of 'xmodmap -pke'
+ history = ctrl+grave
+
+ # Context menu.
+ context = ctrl+shift+period
+
+[urgency_low]
+ # IMPORTANT: colors have to be defined in quotation marks.
+ # Otherwise the "#" and following would be interpreted as a comment.
+ background = "#222222"
+ foreground = "#888888"
+ timeout = 10
+ # Icon for notifications with low urgency, uncomment to enable
+ #icon = /path/to/icon
+
+[urgency_normal]
+ background = "#285577"
+ foreground = "#ffffff"
+ timeout = 10
+ # Icon for notifications with normal urgency, uncomment to enable
+ #icon = /path/to/icon
+
+[urgency_critical]
+ background = "#900000"
+ foreground = "#ffffff"
+ frame_color = "#ff0000"
+ timeout = 0
+ # Icon for notifications with critical urgency, uncomment to enable
+ #icon = /path/to/icon
+
+# Every section that isn't one of the above is interpreted as a rules to
+# override settings for certain messages.
+#
+# Messages can be matched by
+# appname (discouraged, see desktop_entry)
+# body
+# category
+# desktop_entry
+# icon
+# match_transient
+# msg_urgency
+# stack_tag
+# summary
+#
+# and you can override the
+# background
+# foreground
+# format
+# frame_color
+# fullscreen
+# new_icon
+# set_stack_tag
+# set_transient
+# timeout
+# urgency
+#
+# Shell-like globbing will get expanded.
+#
+# Instead of the appname filter, it's recommended to use the desktop_entry filter.
+# GLib based applications export their desktop-entry name. In comparison to the appname,
+# the desktop-entry won't get localized.
+#
+# SCRIPTING
+# You can specify a script that gets run when the rule matches by
+# setting the "script" option.
+# The script will be called as follows:
+# script appname summary body icon urgency
+# where urgency can be "LOW", "NORMAL" or "CRITICAL".
+#
+# NOTE: if you don't want a notification to be displayed, set the format
+# to "".
+# NOTE: It might be helpful to run dunst -print in a terminal in order
+# to find fitting options for rules.
+
+# Disable the transient hint so that idle_threshold cannot be bypassed from the
+# client
+#[transient_disable]
+# match_transient = yes
+# set_transient = no
+#
+# Make the handling of transient notifications more strict by making them not
+# be placed in history.
+#[transient_history_ignore]
+# match_transient = yes
+# history_ignore = yes
+
+# fullscreen values
+# show: show the notifications, regardless if there is a fullscreen window opened
+# delay: displays the new notification, if there is no fullscreen window active
+# If the notification is already drawn, it won't get undrawn.
+# pushback: same as delay, but when switching into fullscreen, the notification will get
+# withdrawn from screen again and will get delayed like a new notification
+#[fullscreen_delay_everything]
+# fullscreen = delay
+#[fullscreen_show_critical]
+# msg_urgency = critical
+# fullscreen = show
+
+#[espeak]
+# summary = "*"
+# script = dunst_espeak.sh
+
+#[script-test]
+# summary = "*script*"
+# script = dunst_test.sh
+
+#[ignore]
+# # This notification will not be displayed
+# summary = "foobar"
+# format = ""
+
+#[history-ignore]
+# # This notification will not be saved in history
+# summary = "foobar"
+# history_ignore = yes
+
+#[skip-display]
+# # This notification will not be displayed, but will be included in the history
+# summary = "foobar"
+# skip_display = yes
+
+#[signed_on]
+# appname = Pidgin
+# summary = "*signed on*"
+# urgency = low
+#
+#[signed_off]
+# appname = Pidgin
+# summary = *signed off*
+# urgency = low
+#
+#[says]
+# appname = Pidgin
+# summary = *says*
+# urgency = critical
+#
+#[twitter]
+# appname = Pidgin
+# summary = *twitter.com*
+# urgency = normal
+#
+#[stack-volumes]
+# appname = "some_volume_notifiers"
+# set_stack_tag = "volume"
+#
+# vim: ft=cfg
diff --git a/.config/i3/A-Spiral-to-the-Unknown.jpg b/.config/i3/A-Spiral-to-the-Unknown.jpg
new file mode 100644
index 0000000..c7cac96
Binary files /dev/null and b/.config/i3/A-Spiral-to-the-Unknown.jpg differ
diff --git a/.config/i3/Beach_by_Renato_Giordanelli.jpg b/.config/i3/Beach_by_Renato_Giordanelli.jpg
new file mode 100644
index 0000000..20a05f4
Binary files /dev/null and b/.config/i3/Beach_by_Renato_Giordanelli.jpg differ
diff --git a/.config/i3/abstract-blue-background-1920x1200.jpg b/.config/i3/abstract-blue-background-1920x1200.jpg
new file mode 100644
index 0000000..b9dbdfa
Binary files /dev/null and b/.config/i3/abstract-blue-background-1920x1200.jpg differ
diff --git a/.config/i3/config b/.config/i3/config
new file mode 100644
index 0000000..eec5447
--- /dev/null
+++ b/.config/i3/config
@@ -0,0 +1,248 @@
+# This file has been auto-generated by i3-config-wizard(1).
+# It will not be overwritten, so edit it as you like.
+#
+# Should you change your keyboard layout some time, delete
+# this file and re-run i3-config-wizard(1).
+#
+#exec --no-startup-id xsetroot -solid "#33333"
+
+# Default wallpaper (if no one found)
+exec --no-startup-id feh --bg-fill $HOME/.config/i3/Beach_by_Renato_Giordanelli.jpg
+
+
+# i3 config file (v4)
+#
+# Please see http://i3wm.org/docs/userguide.html for a complete reference!
+
+set $mod Mod4
+
+# Font for window titles. Will also be used by the bar unless a different font
+# is used in the bar {} block below.
+#font pango:monospace 8
+
+# This font is widely installed, provides lots of unicode glyphs, right-to-left
+# text rendering and scalability on retina/hidpi displays (thanks to pango).
+font pango:DejaVu Sans Mono 10
+
+# Before i3 v4.8, we used to recommend this one as the default:
+# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+# The font above is very space-efficient, that is, it looks good, sharp and
+# clear in small sizes. However, its unicode glyph coverage is limited, the old
+# X core fonts rendering does not support right-to-left and this being a bitmap
+# font, it doesn’t scale on retina/hidpi displays.
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal (use .profile that set $TERMINAL variable)
+bindsym $mod+Return exec i3-sensible-terminal
+
+# kill focused window
+bindsym $mod+Shift+A kill
+
+# start dmenu (a program launcher)
+#bindsym $mod+d exec dmenu_run
+bindsym $mod+d exec rofi -show combi
+# There also is the (new) i3-dmenu-desktop which only displays applications
+# shipping a .desktop file. It is a wrapper around dmenu, so you need that
+# installed.
+# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
+
+# change focus
+#bindsym $mod+j focus left
+#bindsym $mod+k focus down
+#bindsym $mod+l focus up
+#bindsym $mod+m focus right
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+bindsym Mod1+Tab focus right
+bindsym Mod1+Shift+Tab focus left
+
+# move focused window
+bindsym $mod+Shift+j move left
+bindsym $mod+Shift+k move down
+bindsym $mod+Shift+l move up
+bindsym $mod+Shift+M move right
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+# split in horizontal orientation
+bindsym $mod+h split h
+
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+f fullscreen toggle
+
+# change container layout (stacked, tabbed, toggle split)
+bindsym $mod+s layout stacking
+bindsym $mod+z layout tabbed
+bindsym $mod+e layout toggle split
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# change focus between tiling / floating windows
+bindsym $mod+space focus mode_toggle
+
+# focus the parent container
+bindsym $mod+q focus parent
+
+# focus the child container
+#bindsym $mod+d focus child
+
+# 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
+
+bindsym Mod1+Control+Right workspace next
+bindsym Mod1+Control+Left workspace prev
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+eacute move container to workspace 2
+bindsym $mod+Shift+3 move container to workspace 3
+bindsym $mod+Shift+4 move container to workspace 4
+bindsym $mod+Shift+5 move container to workspace 5
+bindsym $mod+Shift+6 move container to workspace 6
+bindsym $mod+Shift+egrave move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+ccedilla move container to workspace 9
+bindsym $mod+Shift+agrave move container to workspace 10
+
+# reload the configuration file
+bindsym $mod+Shift+c reload
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $mod+Shift+r restart
+# exit i3 (logs you out of your X session)
+bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Tu as appuyé sur le raccourci de sortie. Sortir réellement de i3 ? Cela terminera ta session X.' -b 'Oui, quitter i3' 'i3-msg exit'"
+
+# resize window (you can also use the mouse for that)
+mode "resize" {
+ # These bindings trigger as soon as you enter the resize mode
+
+ # Pressing left will shrink the window’s width.
+ # Pressing right will grow the window’s width.
+ # Pressing up will shrink the window’s height.
+ # Pressing down will grow the window’s height.
+ bindsym j resize shrink width 10 px or 10 ppt
+ bindsym k resize grow height 10 px or 10 ppt
+ bindsym l resize shrink height 10 px or 10 ppt
+ bindsym m resize grow width 10 px or 10 ppt
+
+ # same bindings, but for the arrow keys
+ bindsym Left resize shrink width 10 px or 10 ppt
+ bindsym Down resize grow height 10 px or 10 ppt
+ bindsym Up resize shrink height 10 px or 10 ppt
+ bindsym Right resize grow width 10 px or 10 ppt
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+bindsym $mod+r mode "resize"
+
+##### Application that goes to a specific Workspace
+
+assign [class="jetbrains-idea|Code"] 1
+assign [class="Google-chrome|Vivaldi-stable|Opera|Firefox|Navigator|Nightly|Chromium"] 2
+assign [class="Thunderbird|Mail"] 3
+assign [class="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino"] 4
+
+##### STATUS BAR
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+#bar {
+# status_command i3status
+# tray_output primary
+#}
+
+exec_always --no-startup-id "killall polybar; polybar -r default"
+
+##### MISCELLANEOUS CONFIGURATION
+
+# Pulse Audio controls
+set $sink `pactl list short sinks | head -n1 | cut -f1`
+bindsym XF86AudioRaiseVolume exec pactl set-sink-volume $sink +5% #increase sound volume
+bindsym XF86AudioLowerVolume exec pactl set-sink-volume $sink -5% #decrease sound volume
+bindsym XF86AudioMute exec pactl set-sink-mute $sink toggle # mute sound
+
+# Brightness controls
+bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness
+bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness
+
+# Lock screen
+bindsym $mod+l exec xscreensaver-command --lock
+
+# Print screen
+bindsym Print exec --no-startup-id scrot '%Y-%m-%d-%s_screenshot_$wx$h.jpg' -e 'mv $f ~/Images/'
+
+# Suspend activity (bouton de veille)
+bindsym XF86Sleep exec systemctl suspend
+
+#####
+## STARTUP PROGRAMS
+###
+
+# Transparency (need compton)
+exec_always --no-startup-id "killall compton; compton"
+
+# DBUS daemon (needed for keyboard applet and more I think)
+#exec --no-startup-id /usr/lib/gnome-settings-daemon/gnome-settings-daemon
+
+# Eyes economy
+exec --no-startup-id redshift -l 48.666977:7.706748
+
+# Lock screen
+exec_always --no-startup-id xscreensaver # if not launched via systemd or xinitrc
+
+# XFCE panel instead of i3status
+#exec --no-startup-id xfce4-panel --disable-wm-check
+
+# Time tracking
+#exec --no-startup-id hamster-indicator
+
+# Default terminal
+exec --no-startup-id i3-sensible-terminal
+
+# I3 Gaps (need i3-gaps)
+for_window [class="^.*"] border pixel 2
+for_window [class=".*"] title_format " %title"
+gaps inner 5
+smart_borders on
+smart_gaps on
+
+# Random wallpaper (need ~/bin/random_wallpaper from
+# https://github.com/blankoworld/dotfiles/blob/master/bin/random_wallpaper)
+exec_always --no-startup-id "kill -9 `ps aux | grep random_wallpaper |grep -v 'grep'| awk '{print $2}'`; random_wallpaper &"
+
+# Network management
+exec --no-startup-id nm-applet
+
+# Hasmter indicator
+exec --no-startup-id hamster
+
+# Clipit : Presse-papiers pour le bureau
+exec --no-startup-id clipit
+
+# Notification de bureau
+exec --no-startup-id dunst
diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf
new file mode 100644
index 0000000..435944c
--- /dev/null
+++ b/.config/kitty/kitty.conf
@@ -0,0 +1,425 @@
+# vim:fileencoding=utf-8:ft=conf
+
+# Font family. You can also specify different fonts for the
+# bold/italic/bold-italic variants. By default they are derived automatically,
+# by the OSes font system. Setting them manually is useful for font families
+# that have many weight variants like Book, Medium, Thick, etc. For example:
+# font_family Operator Mono Book
+# bold_font Operator Mono Medium
+# italic_font Operator Mono Book Italic
+# bold_italic_font Operator Mono Medium Italic
+#
+# You can get a list of full family names available on your computer by running
+# kitty list-fonts
+# The default values shown below rely on your OS to choose an appropriate monospace font family.
+font_family Fira Code
+italic_font Fira Code Light
+bold_font Fira Code Bold
+bold_italic_font Fira Code Retina
+
+# Font size (in pts)
+font_size 14.0
+
+# The amount the font size is changed by (in pts) when increasing/decreasing
+# the font size in a running terminal.
+font_size_delta 2
+
+
+# Adjust the cell dimensions.
+# You can use either numbers, which are interpreted as pixels or percentages
+# (number followed by %), which are interpreted as percentages of the
+# unmodified values. You can use negative pixels or percentages less than
+# 100% to reduce sizes (but this might cause rendering artifacts).
+adjust_line_height 0
+adjust_column_width 0
+
+# Change the sizes of the lines used for the box drawing unicode characters
+# These values are in pts. They will be scaled by the monitor DPI to arrive at
+# a pixel value. There must be four values corresponding to thin, normal, thick,
+# and very thick lines;
+box_drawing_scale 0.001, 1, 1.5, 2
+
+# The foreground color
+foreground #839496
+
+# The background color
+background #002b36
+
+# The opacity of the background. A number between 0 and 1, where 1 is opaque and 0 is fully transparent.
+# This will only work if supported by the OS (for instance, when using a compositor under X11). Note
+# that it only sets the default background color's opacity. This is so that
+# things like the status bar in vim, powerline prompts, etc. still look good.
+# But it means that if you use a color theme with a background color in your
+# editor, it will not be rendered as transparent. Instead you should change the
+# default background color in your kitty config and not use a background color
+# in the editor color scheme. Or use the escape codes to set the terminals
+# default colors in a shell script to launch your editor.
+# Be aware that using a value less than 1.0 is a (possibly significant) performance hit.
+background_opacity 0.87
+
+# The foreground for selections
+selection_foreground #93a1a1
+
+# The background for selections
+selection_background #073642
+
+# The color and style for highlighting URLs on mouse-over. url_style can be one of:
+# none, single, double, curly
+url_color #0087BD
+url_style curly
+
+# The cursor color
+cursor #ffffff
+
+# The cursor shape can be one of (block, beam, underline)
+cursor_shape block
+
+# The interval (in seconds) at which to blink the cursor. Set to zero to
+# disable blinking. Note that numbers smaller than repaint_delay will be
+# limited to repaint_delay.
+cursor_blink_interval 0.5
+
+# Stop blinking cursor after the specified number of seconds of keyboard inactivity. Set to
+# zero to never stop blinking.
+cursor_stop_blinking_after 15.0
+
+# Number of lines of history to keep in memory for scrolling back
+scrollback_lines 2000
+
+# Program with which to view scrollback in a new window. The scrollback buffer is passed as
+# STDIN to this program. If you change it, make sure the program you use can
+# handle ANSI escape sequences for colors and text formatting.
+scrollback_pager less +G -R
+
+# Wheel scroll multiplier (modify the amount scrolled by the mouse wheel). Use negative
+# numbers to change scroll direction.
+wheel_scroll_multiplier 5.0
+
+# The interval between successive clicks to detect double/triple clicks (in seconds)
+click_interval 0.5
+
+# Characters considered part of a word when double clicking. In addition to these characters
+# any character that is marked as an alpha-numeric character in the unicode
+# database will be matched.
+select_by_word_characters :@-./_~?&=%+#
+
+# The shell program to execute. The default value of . means
+# to use whatever shell is set as the default shell for the current user.
+# Note that on macOS if you change this, you might need to add --login to
+# ensure that the shell starts in interactive mode and reads its rc files.
+shell .
+
+# Hide mouse cursor after the specified number of seconds of the mouse not being used. Set to
+# zero to disable mouse cursor hiding.
+mouse_hide_wait 3.0
+
+# Set the active window to the window under the mouse when moving the mouse around
+focus_follows_mouse no
+
+# The enabled window layouts. A comma separated list of layout names. The special value * means
+# all layouts. The first listed layout will be used as the startup layout.
+# For a list of available layouts, see the README.
+enabled_layouts *
+
+# If enabled, the window size will be remembered so that new instances of kitty will have the same
+# size as the previous instance. If disabled, the window will initially have size configured
+# by initial_window_width/height, in pixels.
+remember_window_size yes
+initial_window_width 640
+initial_window_height 400
+
+# Delay (in milliseconds) between screen updates. Decreasing it, increases
+# frames-per-second (FPS) at the cost of more CPU usage. The default value
+# yields ~100 FPS which is more than sufficient for most uses. Note that to
+# actually achieve 100FPS you have to either set sync_to_monitor to no or use a
+# monitor with a high refresh rate.
+repaint_delay 10
+
+# Delay (in milliseconds) before input from the program running in the terminal
+# is processed. Note that decreasing it will increase responsiveness, but also
+# increase CPU usage and might cause flicker in full screen programs that
+# redraw the entire screen on each loop, because kitty is so fast that partial
+# screen updates will be drawn.
+input_delay 3
+
+# Sync screen updates to the refresh rate of the monitor. This prevents
+# tearing (https://en.wikipedia.org/wiki/Screen_tearing) when scrolling. However,
+# it limits the rendering speed to the refresh rate of your monitor. With a
+# very high speed mouse/high keyboard repeat rate, you may notice some slight input latency.
+# If so, set this to no.
+sync_to_monitor yes
+
+# Close the window when the child process (shell) exits. If no (the default),
+# the terminal will remain open when the child exits as long as there are still
+# processes outputting to the terminal (for example disowned or backgrounded
+# processes). If yes, the window will close as soon as the child process exits.
+# Note that setting it to yes means that any background processes still using
+# the terminal can fail silently because their stdout/stderr/stdin no longer
+# work.
+close_on_child_death no
+
+# Visual bell duration. Flash the screen when a bell occurs for the specified number of
+# seconds. Set to zero to disable.
+visual_bell_duration 0.0
+
+# Enable/disable the audio bell. Useful in environments that require silence.
+enable_audio_bell yes
+
+# The modifier keys to press when clicking with the mouse on URLs to open the URL
+open_url_modifiers ctrl+shift
+
+# The program with which to open URLs that are clicked on. The special value "default" means to
+# use the operating system's default URL handler.
+open_url_with default
+
+# The modifiers to use rectangular selection (i.e. to select text in a
+# rectangular block with the mouse)
+rectangle_select_modifiers ctrl+alt
+
+
+# Allow other programs to control kitty. If you turn this on other programs can
+# control all aspects of kitty, including sending text to kitty windows,
+# opening new windows, closing windows, reading the content of windows, etc.
+# Note that this even works over ssh connections.
+allow_remote_control no
+
+# The value of the TERM environment variable to set
+term xterm-kitty
+
+# The width (in pts) of window borders. Will be rounded to the nearest number of pixels based on screen resolution.
+# Note that borders are displayed only when more than one window is visible. They are meant to separate multiple windows.
+window_border_width 1
+
+# The window margin (in pts) (blank area outside the border)
+window_margin_width 0
+
+# The window padding (in pts) (blank area between the text and the window border)
+window_padding_width 0
+
+# The color for the border of the active window
+active_border_color #00ff00
+
+# The color for the border of inactive windows
+inactive_border_color #cccccc
+
+# Fade the text in inactive windows by the specified amount (a number between
+# zero and one, with 0 being fully faded).
+inactive_text_alpha 1.0
+
+# Which edge to show the tab bar on, top or bottom
+tab_bar_edge bottom
+
+# The separator between tabs in the tab bar
+tab_separator " ┇"
+
+# Tab bar colors and styles
+active_tab_foreground #000
+active_tab_background #eee
+active_tab_font_style bold-italic
+inactive_tab_foreground #444
+inactive_tab_background #999
+inactive_tab_font_style normal
+
+
+# The 16 terminal colors. There are 8 basic colors, each color has a dull and
+# bright version.
+
+# black
+color0 #073642
+color8 #002b36
+
+# red
+color1 #dc322f
+color9 #cb4b16
+
+# green
+color2 #859900
+color10 #586e75
+
+# yellow
+color3 #b58900
+color11 #657b83
+
+# blue
+color4 #268bd2
+color12 #839496
+
+# magenta
+color5 #d33682
+color13 #6c71c4
+
+# cyan
+color6 #2aa198
+color14 #93a1a1
+
+# white
+color7 #b8d0d2
+color15 #fdf6e3
+
+
+# Key mapping
+# For a list of key names, see: http://www.glfw.org/docs/latest/group__keys.html
+# For a list of modifier names, see: http://www.glfw.org/docs/latest/group__mods.html
+#
+# You can use the special action no_op to unmap a keyboard shortcut that is
+# assigned in the default configuration.
+#
+# You can combine multiple actions to be triggered by a single shortcut, using the
+# syntax below:
+# map key combine action1 action2 action3 ...
+# For example:
+# map ctrl+shift+e combine : new_window : next_layout
+# this will create a new window and switch to the next available layout
+
+# Clipboard
+map ctrl+shift+v paste_from_clipboard
+map ctrl+shift+s paste_from_selection
+map ctrl+shift+c copy_to_clipboard
+map shift+insert paste_from_selection
+# You can also pass the contents of the current selection to any program using
+# pass_selection_to_program. By default, the system's open program is used, but
+# you can specify your own, for example:
+# map ctrl+shift+o pass_selection_to_program firefox
+map ctrl+shift+o pass_selection_to_program
+
+# Scrolling
+map ctrl+shift+up scroll_line_up
+map ctrl+shift+down scroll_line_down
+map ctrl+shift+k scroll_line_up
+map ctrl+shift+j scroll_line_down
+map ctrl+shift+page_up scroll_page_up
+map ctrl+shift+page_down scroll_page_down
+map ctrl+shift+home scroll_home
+map ctrl+shift+end scroll_end
+map ctrl+shift+h show_scrollback
+
+# Window management
+map ctrl+shift+enter new_window
+map ctrl+shift+n new_os_window
+map ctrl+shift+w close_window
+map ctrl+shift+] next_window
+map ctrl+shift+[ previous_window
+map ctrl+shift+f move_window_forward
+map ctrl+shift+b move_window_backward
+map ctrl+shift+` move_window_to_top
+map ctrl+shift+1 first_window
+map ctrl+shift+2 second_window
+map ctrl+shift+3 third_window
+map ctrl+shift+4 fourth_window
+map ctrl+shift+5 fifth_window
+map ctrl+shift+6 sixth_window
+map ctrl+shift+7 seventh_window
+map ctrl+shift+8 eighth_window
+map ctrl+shift+9 ninth_window
+map ctrl+shift+0 tenth_window
+# You can open a new window running an arbitrary program, for example:
+# map ctrl+shift+y new_window mutt
+#
+# You can pass the current selection to the new program by using the @selection placeholder
+# map ctrl+shift+y new_window less @selection
+#
+# You can even send the contents of the current screen + history buffer as stdin using
+# the placeholders @text (which is the plain text) and @ansi (which includes text styling escape codes).
+# For only the current screen, use @screen or @ansi_screen.
+# For example, the following command opens the scrollback buffer in less in a new window.
+# map ctrl+shift+y new_window @ansi less +G -R
+#
+# You can open a new window with the current working directory set to the
+# working directory of the current window using
+# map ctrl+alt+enter new_window_with_cwd
+
+
+# Tab management
+map ctrl+shift+right next_tab
+map ctrl+shift+left previous_tab
+map ctrl+shift+t new_tab
+map ctrl+shift+q close_tab
+map ctrl+shift+l next_layout
+map ctrl+shift+. move_tab_forward
+map ctrl+shift+, move_tab_backward
+# You can also create shortcuts to go to specific tabs, with 1 being the first tab
+# map ctrl+alt+1 goto_tab 1
+# map ctrl+alt+2 goto_tab 2
+
+# Just as with new_window above, you can also pass the name of arbitrary
+# commands to run when using new_tab and use new_tab_with_cwd.
+
+
+# Layout management
+# You can create shortcuts to switch to specific layouts
+# map ctrl+alt+1 goto_layout tall
+# map ctrl+alt+2 goto_layout stack
+
+
+# Miscellaneous
+map ctrl+shift+equal increase_font_size
+map ctrl+shift+minus decrease_font_size
+map ctrl+shift+backspace restore_font_size
+map ctrl+shift+f11 toggle_fullscreen
+map ctrl+shift+u input_unicode_character
+map ctrl+shift+f2 edit_config_file
+# Open a currently visible URL using the keyboard. The program used ot open the URL is specified in open_url_with.
+# You can customize how the URLs are detected and opened by specifying command line options to
+# url_hints. For example:
+# map ctrl+shift+e run_simple_kitten text url_hints --program firefox --regex "http://[^ ]+"
+map ctrl+shift+e run_simple_kitten text url_hints
+
+# Sending arbitrary text on shortcut key presses
+# You can tell kitty to send arbitrary (UTF-8) encoded text to
+# the client program when pressing specified shortcut keys. For example:
+# map ctrl+alt+a send_text all Special text
+# This will send "Special text" when you press the Ctrl+Alt+a key combination.
+# The text to be sent is a python string literal so you can use escapes like
+# \x1b to send control codes or \u21fb to send unicode characters (or you can
+# just input the unicode characters directly as UTF-8 text). The first argument
+# to send_text is the keyboard modes in which to activate the shortcut. The possible
+# values are normal or application or kitty or a comma separated combination of them.
+# The special keyword all means all modes. The modes normal and application refer to
+# the DECCKM cursor key mode for terminals, and kitty refers to the special kitty
+# extended keyboard protocol. Another example, that outputs a word and then moves the cursor
+# to the start of the line (same as pressing the Home key):
+# map ctrl+alt+a send_text normal Word\x1b[H
+# map ctrl+alt+a send_text application Word\x1bOH
+
+# Symbol mapping (special font for specified unicode code points). Map the
+# specified unicode codepoints to a particular font. Useful if you need special
+# rendering for some symbols, such as for Powerline. Avoids the need for
+# patched fonts. Each unicode code point is specified in the form U+. You can specify multiple code points, separated by commas
+# and ranges separated by hyphens. symbol_map itself can be specified multiple times.
+# Syntax is:
+#
+# symbol_map codepoints Font Family Name
+#
+# For example:
+#
+# symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 PowerlineSymbols
+
+
+# OS specific tweaks
+
+# Copy to clipboard on select. With this enabled, simply selecting text with
+# the mouse will cause the text to be copied to clipboard. Useful on platforms
+# such as macOS/Wayland that do not have the concept of primary selections. Note
+# that this is a security risk, as all programs, including websites open in your
+# browser can read the contents of the clipboard.
+copy_on_select no
+
+# Change the color of the kitty window's titlebar on macOS. A value of "system"
+# means to use the default system color, a value of "background" means to use
+# the default background color and finally you can use an arbitrary color, such
+# as #12af59 or "red".
+macos_titlebar_color system
+
+# Hide the kitty window's title bar on macOS.
+macos_hide_titlebar no
+
+# Use the option key as an alt key. With this set to no, kitty will use
+# the macOS native Option+Key = unicode character behavior. This will
+# break any Alt+key keyboard shortcuts in your terminal programs, but you
+# can use the macOS unicode input technique.
+macos_option_as_alt yes
+
+# The number is a percentage of maximum volume.
+# See man XBell for details.
+x11_bell_volume 80
diff --git a/.config/polybar/config b/.config/polybar/config
new file mode 100644
index 0000000..e031124
--- /dev/null
+++ b/.config/polybar/config
@@ -0,0 +1,396 @@
+;=====================================================
+;
+; To learn more about how to configure Polybar
+; go to https://github.com/jaagr/polybar
+;
+; The README contains alot of information
+;
+;=====================================================
+
+[colors]
+;background = ${xrdb:color0:#222}
+background = #222
+background-alt = #444
+;foreground = ${xrdb:color7:#222}
+foreground = #dfdfdf
+foreground-alt = #555
+primary = #ffb52a
+secondary = #e60053
+alert = #bd2c40
+
+[bar/default]
+;monitor = ${env:MONITOR:HDMI-1}
+width = 100%
+height = 27
+;offset-x = 1%
+;offset-y = 1%
+radius = 0
+fixed-center = false
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 3
+line-color = #f00
+
+border-size = 0
+border-color = #00000000
+
+padding-left = 0
+padding-right = 2
+
+module-margin-left = 0
+module-margin-right = 1
+
+font-0 = DejaVu Sans Mono:size=10.5;1
+;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
+font-1 = FontAwesome:size=10
+font-2 = siji:pixelsize=10;1
+
+modules-left = i3
+modules-center = xwindow
+modules-right = xbacklight volume memory cpu wlan eth battery temperature date powermenu
+
+tray-position = right
+tray-padding = 2
+;tray-transparent = true
+;tray-background = #0063ff
+
+;wm-restack = bspwm
+;wm-restack = i3
+
+;override-redirect = true
+
+;scroll-up = bspwm-desknext
+;scroll-down = bspwm-deskprev
+
+;scroll-up = i3wm-wsnext
+;scroll-down = i3wm-wsprev
+
+locale = fr_FR.UTF-8
+
+[module/xwindow]
+type = internal/xwindow
+label = %title:0:30:...%
+
+[module/xkeyboard]
+type = internal/xkeyboard
+blacklist-0 = num lock
+
+format-prefix = " "
+format-prefix-foreground = ${colors.foreground-alt}
+format-prefix-underline = ${colors.secondary}
+
+label-layout = %layout%
+label-layout-underline = ${colors.secondary}
+
+label-indicator-padding = 2
+label-indicator-margin = 1
+label-indicator-background = ${colors.secondary}
+label-indicator-underline = ${colors.secondary}
+
+[module/filesystem]
+type = internal/fs
+interval = 25
+
+mount-0 = /
+
+label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
+label-unmounted = %mountpoint% not mounted
+label-unmounted-foreground = ${colors.foreground-alt}
+
+[module/bspwm]
+type = internal/bspwm
+
+label-focused = %index%
+label-focused-background = ${colors.background-alt}
+label-focused-underline= ${colors.primary}
+label-focused-padding = 2
+
+label-occupied = %index%
+label-occupied-padding = 2
+
+label-urgent = %index%!
+label-urgent-background = ${colors.alert}
+label-urgent-padding = 2
+
+label-empty = %index%
+label-empty-foreground = ${colors.foreground-alt}
+label-empty-padding = 2
+
+[module/i3]
+type = internal/i3
+format =
+index-sort = true
+wrapping-scroll = false
+
+; Only show workspaces on the same output as the bar
+;pin-workspaces = true
+
+label-mode-padding = 2
+label-mode-foreground = #000
+label-mode-background = ${colors.primary}
+
+; focused = Active workspace on focused monitor
+label-focused = %index% %icon%
+label-focused-background = ${module/bspwm.label-focused-background}
+label-focused-underline = ${module/bspwm.label-focused-underline}
+label-focused-padding = ${module/bspwm.label-focused-padding}
+
+; unfocused = Inactive workspace on any monitor
+label-unfocused = %index% %icon%
+label-unfocused-padding = ${module/bspwm.label-occupied-padding}
+
+; visible = Active workspace on unfocused monitor
+label-visible = %index% %icon%
+label-visible-background = ${self.label-focused-background}
+label-visible-underline = ${self.label-focused-underline}
+label-visible-padding = ${self.label-focused-padding}
+
+; urgent = Workspace with urgency hint set
+label-urgent = %index% %icon%
+label-urgent-background = ${module/bspwm.label-urgent-background}
+label-urgent-padding = ${module/bspwm.label-urgent-padding}
+
+ws-icon-0 = 1;
+ws-icon-1 = 2;
+ws-icon-2 = 3;
+ws-icon-3 = 4;
+
+[module/mpd]
+type = internal/mpd
+format-online =
+
+icon-prev =
+icon-stop =
+icon-play =
+icon-pause =
+icon-next =
+
+label-song-maxlen = 25
+label-song-ellipsis = true
+
+[module/xbacklight]
+type = internal/xbacklight
+
+format =