diff --git a/Xresources b/Xresources index e71e2b7..1399c59 100644 --- a/Xresources +++ b/Xresources @@ -1,3 +1,4 @@ +URxvt.font: 9x15 Xft.dpi: 96 Xft.antialias: true Xft.hinting: true @@ -5,6 +6,8 @@ Xft.rgba: rgb Xft.autohint: false Xft.hintstyle: hintslight Xft.lcdfilter: lcddefault +Xcursor.theme: Menda-Cursor +Xcursor.size: 0 ! Terminal colors ! https://raw.githubusercontent.com/solarized/xresources/master/Xresources.dark diff --git a/bash_profile b/bash_profile new file mode 100644 index 0000000..e68f469 --- /dev/null +++ b/bash_profile @@ -0,0 +1,11 @@ +# +# ~/.bash_profile +# + +if [ -z "$SSH_AUTH_SOCK" ] ; then + eval `ssh-agent -s` + ssh-add +fi +date -R > ~/.date + +[[ -f ~/.bashrc ]] && . ~/.bashrc diff --git a/config/compton.conf b/config/compton.conf new file mode 100644 index 0000000..34eb7df --- /dev/null +++ b/config/compton.conf @@ -0,0 +1,53 @@ +shadow = false; +no-dnd-shadow = true; +no-dock-shadow = true; +clear-shadow = true; + +menu-opacity = 0.9; +inactive-opacity = 0.93; +active-opacity = 1; +alpha-step = 0.01; +inactive-dim = 0.0; +blur-background = false; +blur-kern = "3x3box"; + +fading = false; +fade-delta = 1; +fade-in-step = 0.03; +fade-out-step = 0.03; +fade-exclude = [ ]; + +backend = "xrender"; +mark-wmwin-focused = true; +mark-ovredir-focused = true; +detect-rounded-corners = true; +detect-client-opacity = true; +unredir-if-possible = true; +refresh-rate = 0; +vsync = "none"; +dbe = false; +paint-on-overlay = true; +focus-exclude = [ "class_g = 'Cairo-clock'" ]; +detect-transient = true; +detect-client-leader = true; +invert-color-include = [ ]; +glx-copy-from-front = false; +glx-swap-method = "undefined"; + +wintypes : +{ + tooltip : + { + fade = true; + shadow = false; + opacity = 0.75; + focus = true; + }; + fullscreen : + { + fade = true; + shadow = false; + opacity = 1; + focus = true; + }; +}; diff --git a/config/dunst/dunstrc b/config/dunst/dunstrc new file mode 100644 index 0000000..1f9b98c --- /dev/null +++ b/config/dunst/dunstrc @@ -0,0 +1,300 @@ +[global] + font = Cantarell 10 + + # Allow a small subset of html markup: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # If markup is not allowed, those tags will be stripped out of the + # message. + allow_markup = yes + + # 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 + # Markup is allowed + format = "%s %p\n%b" + + # Sort messages by urgency. + sort = no + + # Show how many messages are currently hidden (because of geometry). + indicate_hidden = yes + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # The frequency with wich text that is longer than the notification + # window allows bounces back and forth. + # This option conflicts with "word_wrap". + # Set to 0 to disable. + bounce_freq = 5 + + + # 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 = no + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + + # 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 respectevly. + # 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 = "0x0-25+25" + + # Shrink window if it's smaller than the width. Will be ignored if + # width is 0. + shrink = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing windowmanager is + # present (e.g. xcompmgr, compiz, etc.). + transparency = 17 + + # 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. + # default 120 + idle_threshold = 120 + + # 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 windowmanager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern windowmanagers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = mouse + + # 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 + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + # The height of a single line. If the height is smaller than the + # font height, it will get raised to the font height. + # This adds empty space above and under the text. + line_height = 0 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + separator_height = 1 + + # Padding between text and separator. + # padding = 8 + padding = 8 + + # Horizontal padding. + horizontal_padding = 10 + + # 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 = #2ECC71 + + # Print a notification on startup. + # This is mainly for error detection, since dbus (re-)starts dunst + # automatically after a crash. + startup_notification = false + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = firefox + + # Align icons left/right/off + icon_position = left + + # Paths to default icons. + icon_folders = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + +[frame] + width = 1 + color = "#2ECC71" + +[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 = mod1+space + + # Close all notifications. + # close_all = ctrl+shift+space + close_all = ctrl+mod1+space + + # Redisplay last message(s). + # On the US keyboard layout "grave" is normally above TAB and left + # of "1". + history = ctrl+mod4+h + + # Context menu. + context = ctrl+alt+c + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#000000" + foreground = "#888888" + timeout = 10 + +[urgency_normal] + background = "#000000" + foreground = "#ffffff" + timeout = 10 + +[urgency_critical] + background = "#900000" + foreground = "#ffffff" + timeout = 0 + + +# 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", "summary", "body", "icon", "category", +# "msg_urgency" and you can override the "timeout", "urgency", "foreground", +# "background", "new_icon" and "format". +# Shell-like globbing will get expanded. +# +# 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. + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# format = "" + +#[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 +# +#[Claws Mail] +# appname = claws-mail +# category = email.arrived +# urgency = normal +# background = "#2F899E" +# foreground = "#FFA247" +# +#[mute.sh] +# appname = mute +# category = mute.sound +# script = mute.sh +# +#[JDownloader] +# appname = JDownloader +# category = JD +# background = "#FFA247" +# foreground = "#FFFFFF" +# +#[newsbeuter] +# summary = *Feeds* +# background = "#A8EB41" +# foreground = "#FFFFFF" +# +[irc] + appname = weechat + timeout = 0 + background = "#0033bb" + foreground = "#dddddd" +# +[weechat hl] + appname = weechat + category = weechat.HL + background = "#FF5C47" + foreground = "#FFFFFF" +# +[weechat pn] + appname = weechat + category = weechat.PM + background = "#D53B84" + foreground = "#FFFFFF" +# +#[CMUS] +# appname = CMUS +# category = cmus +# background = "#6C4AB7" +# foreground = "#FFE756" +# +# +# background = "#30AB70" +# foreground = "#F67245" +# +# vim: ft=cfg diff --git a/config/gtk-3.0/settings.ini b/config/gtk-3.0/settings.ini index e2bdee9..acb0fb1 100644 --- a/config/gtk-3.0/settings.ini +++ b/config/gtk-3.0/settings.ini @@ -1,6 +1,6 @@ [Settings] gtk-theme-name=Menda -gtk-icon-theme-name=Menda-Square +gtk-icon-theme-name=Faenza-Green gtk-font-name=Sans 10 gtk-cursor-theme-size=0 gtk-toolbar-style=GTK_TOOLBAR_BOTH diff --git a/config/i3/bg.jpg b/config/i3/bg.jpg new file mode 100755 index 0000000..78ed2e5 Binary files /dev/null and b/config/i3/bg.jpg differ diff --git a/config/i3/blurlock b/config/i3/blurlock new file mode 100755 index 0000000..5a289d6 --- /dev/null +++ b/config/i3/blurlock @@ -0,0 +1,7 @@ +#!/bin/bash +i3-msg workspace Lock +imgpath=$HOME/.cache/blurlock.png +scrot $imgpath +convert $imgpath -blur 0x5 $imgpath +i3lock -f -i $imgpath +i3-msg workspace back_and_forth diff --git a/config/i3/config b/config/i3/config index 9391b51..22762ec 100644 --- a/config/i3/config +++ b/config/i3/config @@ -1,52 +1,72 @@ -# 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). -# - # i3 config file (v4) -# # Please see http://i3wm.org/docs/userguide.html for a complete reference! -exec --no-startup-id xss-lock dm-tool lock - +# Set mod key (Mod1=, Mod4=) set $mod Mod4 +# set default desktop layout (default is tiling) +# workspace_layout tabbed + +# Configure border style +new_window pixel 2 +new_float normal + +# Hide borders +hide_edge_borders both + +# change borders +#bindsym $mod+u border none +#bindsym $mod+y border pixel 2 +#bindsym $mod+n border normal + # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. -# 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 8 font pango:Sans 8 -# 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 +# Use Mouse+$mod to drag floating windows floating_modifier $mod -# start a terminal -# set TERMINAL=i3-sensible-terminal -bindsym $mod+Return exec exo-open --launch TerminalEmulator -bindsym $mod+p exec exo-open --launch FileManager -bindsym $mod+m exec exo-open --launch WebBrowser - # kill focused window -bindsym $mod+F4 kill +#bindsym $mod+F4 kill bindsym Mod1+F4 kill +bindsym button2 kill # start dmenu (a program launcher) -bindsym $mod+F2 exec dmenu_run -bindsym Mod1+F2 exec dmenu_run -# 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 j4-dmenu-desktop -bindsym $mod+Tab exec quickswitch.py +bindsym $mod+F2 exec --no-startup-id ~/.config/i3/dmenu_run +bindsym Mod1+F2 exec --no-startup-id ~/.config/i3/dmenu_run + +# Password menu +bindsym $mod+c exec --no-startup-id ~/.config/i3/passmenu + +# start program launcher +bindsym $mod+d exec --no-startup-id ~/.config/i3/dmenu_run + +# Update var innformations +set $up_bar killall -USR1 i3status + +# Start Applications +bindsym $mod+Return exec xterm +bindsym $mod+p exec thunar +bindsym $mod+m exec firefox + +# Volume control +bindsym XF86AudioRaiseVolume exec amixer -q set Master 5+ unmute; exec $up_bar +bindsym XF86AudioLowerVolume exec amixer -q set Master 5- unmute; exec $up_bar +bindsym XF86AudioMute exec amixer -q set Master toggle; $up_bar +bindsym $mod+F11 exec xterm -e 'alsamixer' +bindsym $mod+F12 exec xterm -e 'alsamixer' + +#Brightness control +bindsym XF86MonBrightnessDown exec xbacklight -dec 20 +bindsym XF86MonBrightnessUp exec xbacklight -inc 20 + +# Screenshots +bindsym Print exec scrot -ue 'mv $f ~/.screenshots/' +bindsym $mod+Print exec scrot -e 'mv $f ~/.screenshots/' + +focus_follows_mouse yes # change focus bindsym $mod+h focus left @@ -72,14 +92,19 @@ bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right +# workspace back and forth (with/without active container) +workspace_auto_back_and_forth yes +bindsym $mod+b workspace back_and_forth +bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth + # split in horizontal orientation -#bindsym $mod+h split h +bindsym $mod+g split h # split in vertical orientation bindsym $mod+v split v -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen +# toggle fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking @@ -93,72 +118,116 @@ bindsym $mod+Shift+space floating toggle bindsym $mod+space focus mode_toggle # focus the parent container -bindsym $mod+q focus parent +bindsym $mod+a focus parent # focus the child container -#bindsym $mod+d focus child +bindsym $mod+q focus child -# workspaces -set $WS1 1 -set $WS2 2 -set $WS3 3 -set $WS4 4 -set $WS5 5 -set $WS6 6 -set $WS7 7 -set $WS8 8 -set $WS9 9 -set $WS10 10 +# Workspace names +set $WS1 1 Édition +set $WS2 2 Éxecution +set $WS3 3 Référence +set $WS4 4 Organisation +set $WS5 5 Divers 1 +set $WS6 6 Divers 2 +set $WS7 7 Contact +set $WS8 8 Social +set $WS9 9 Veille +set $WS10 10 Musique # switch to workspace -bindsym $mod+ampersand workspace $WS1 -bindsym $mod+eacute workspace $WS2 -bindsym $mod+quotedbl workspace $WS3 -bindsym $mod+apostrophe workspace $WS4 -bindsym $mod+parenleft workspace $WS5 -bindsym $mod+minus workspace $WS6 -bindsym $mod+egrave workspace $WS7 -bindsym $mod+underscore workspace $WS8 -bindsym $mod+ccedilla workspace $WS9 -bindsym $mod+agrave workspace $WS10 +bindsym $mod+1 workspace $WS1 +bindsym $mod+2 workspace $WS2 +bindsym $mod+3 workspace $WS3 +bindsym $mod+4 workspace $WS4 +bindsym $mod+5 workspace $WS5 +bindsym $mod+6 workspace $WS6 +bindsym $mod+7 workspace $WS7 +bindsym $mod+8 workspace $WS8 +bindsym $mod+9 workspace $WS9 +bindsym $mod+0 workspace $WS10 -bindsym $mod+Ctrl+Left workspace prev_on_output -bindsym $mod+Ctrl+Down workspace prev -bindsym $mod+Ctrl+Right workspace next_on_output -bindsym $mod+Ctrl+Up workspace next +#navigate workspaces next / previous +bindsym $mod+Ctrl+Right workspace next +bindsym $mod+Ctrl+Left workspace prev -# move focused container to workspace -bindsym $mod+Shift+ampersand move container to workspace $WS1 -bindsym $mod+Shift+eacute move container to workspace $WS2 -bindsym $mod+Shift+quotedbl move container to workspace $WS3 -bindsym $mod+Shift+apostrophe move container to workspace $WS4 -bindsym $mod+Shift+5 move container to workspace $WS5 -bindsym $mod+Shift+minus move container to workspace $WS6 -bindsym $mod+Shift+egrave move container to workspace $WS7 -bindsym $mod+Shift+underscore move container to workspace $WS8 -bindsym $mod+Shift+ccedilla move container to workspace $WS9 -bindsym $mod+Shift+agrave move container to workspace $WS10 +# Move focused container to workspace +bindsym $mod+Ctrl+1 move container to workspace $WS1 +bindsym $mod+Ctrl+2 move container to workspace $WS2 +bindsym $mod+Ctrl+3 move container to workspace $WS3 +bindsym $mod+Ctrl+4 move container to workspace $WS4 +bindsym $mod+Ctrl+5 move container to workspace $WS5 +bindsym $mod+Ctrl+6 move container to workspace $WS6 +bindsym $mod+Ctrl+7 move container to workspace $WS7 +bindsym $mod+Ctrl+8 move container to workspace $WS8 +bindsym $mod+Ctrl+9 move container to workspace $WS9 +bindsym $mod+Ctrl+0 move container to workspace $WS10 -bindsym $mod+Ctrl+Shift+Left move container to workspace prev_on_output -bindsym $mod+Ctrl+Shift+Down move container to workspace prev -bindsym $mod+Ctrl+Shift+Right move container to workspace next_on_output -bindsym $mod+Ctrl+Shift+Up move container to workspace next +# Move to workspace with focused container +bindsym $mod+Shift+1 move container to workspace $WS1; workspace $WS1 +bindsym $mod+Shift+2 move container to workspace $WS2; workspace $WS2 +bindsym $mod+Shift+3 move container to workspace $WS3; workspace $WS3 +bindsym $mod+Shift+4 move container to workspace $WS4; workspace $WS4 +bindsym $mod+Shift+5 move container to workspace $WS5; workspace $WS5 +bindsym $mod+Shift+6 move container to workspace $WS6; workspace $WS6 +bindsym $mod+Shift+7 move container to workspace $WS7; workspace $WS7 +bindsym $mod+Shift+8 move container to workspace $WS8; workspace $WS8 +bindsym $mod+Shift+9 move container to workspace $WS9; workspace $WS9 +bindsym $mod+Shift+0 move container to workspace $WS10; workspace $WS10 -workspace_auto_back_and_forth yes -bindsym $mod+z workspace back_and_forth -bindsym $mod+Shift+z move container to workspace back_and_forth +# Move workspaces to screen +bindsym $mod+Ctrl+Shift+r move workspace to output right +bindsym $mod+Ctrl+Shift+l move workspace to output left +bindsym $mod+Ctrl+Shift+u move workspace to output above +bindsym $mod+Ctrl+Shift+d move workspace to output below +# Open applications on specific workspaces +assign [class="Skype"] $WS7 +assign [class="Pidgin"] $WS7 +assign [class="Evolution"] $WS7 +assign [class="Clementine"] $WS10 + +# Open specific applications in floating mode +for_window [title="alsamixer"] floating enable border pixel 2 +for_window [class="Firefox"] layout tabbed + +for_window [window_role="pop-up"] floating enable +for_window [window_role="task_dialog"] floating enable + +# switch to workspace with urgent window automatically +for_window [urgent=latest] focus + +# focus urgent window +bindsym $mod+x [urgent=latest] focus # 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 exit -# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" + +# Set shut down, restart and locking features +set $locker $HOME/.config/i3/lock +set $mode_system [L] Vérouillage [E] Déconnexion [S] Veille [H] Hibernation [R] Redémarrage [P] Extinction +mode "$mode_system" { + bindsym l exec --no-startup-id $locker, mode "default" + bindsym e exit, mode "default" + bindsym s exec --no-startup-id systemctl suspend, mode "default" + bindsym h exec --no-startup-id systemctl hibernate, mode "default" + bindsym r exec --no-startup-id systemctl reboot, mode "default" + bindsym p exec --no-startup-id systemctl poweroff -i, mode "default" + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+Escape mode "$mode_system" # resize window (you can also use the mouse for that) -mode "resize" { +mode "Resize" { # These bindings trigger as soon as you enter the resize mode # Pressing left will shrink the window’s width. @@ -181,46 +250,7 @@ mode "resize" { bindsym Escape mode "default" } -bindsym $mod+r mode "resize" - -for_window [window_role="pop-up"] floating enable -for_window [window_role="task_dialog"] floating enable - -# The middle button over a titlebar kills the window -bindsym button2 kill - -# The middle button and a modifer over any part of the window kills the window -bindsym $mod+button2 kill - -bindsym $mod+x [urgent=latest] focus - -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -bar { - status_command j4status - position bottom - colors { - separator #888888 - background #333333 - statusline #FFFFFF - focused_workspace #4E9C00 #4E9C00 #FFFFFF - active_workspace #333333 #333333 #FFFFFF - inactive_workspace #333333 #333333 #888888 - urgent_workspace #C20000 #C20000 #FFFFFF - } -} - -client.focused #4E9C00 #4E9C00 #FFFFFF #FFFFFF -client.focused_inactive #1B3600 #1B3600 #888888 #FFFFFF -client.unfocused #333333 #333333 #888888 #FFFFFF -client.urgent #C20000 #C20000 #FFFFFF #FFFFFF - -bindsym XF86AudioRaiseVolume exec amixer -q set Master 5%+ unmute -bindsym XF86AudioLowerVolume exec amixer -q set Master 5%- unmute -bindsym XF86AudioMute exec amixer -q set Master toggle - -bindsym XF86MonBrightnessDown exec xbacklight -dec 20 -bindsym XF86MonBrightnessUp exec xbacklight -inc 20 +bindsym $mod+r mode "Resize" set $mode_screen_select [V] VGA1 [H] HDMI1 mode "$mode_screen_select" { @@ -247,12 +277,6 @@ mode "$mode_screen_VGA1" { bindsym Escape mode "default" } -# Move workspaces to screen -bindsym $mod+Ctrl+Shift+r move workspace to output right -bindsym $mod+Ctrl+Shift+l move workspace to output left -bindsym $mod+Ctrl+Shift+u move workspace to output above -bindsym $mod+Ctrl+Shift+d move workspace to output below - set $mode_screen_HDMI1 HDMI [R] Right [L] Left [U] Up [D] Down [C] Copy [O] Off mode "$mode_screen_HDMI1" { bindsym r exec xrandr --output HDMI1 --auto --right-of LVDS1 @@ -267,27 +291,41 @@ mode "$mode_screen_HDMI1" { bindsym Escape mode "default" } - - -set $mode_system [L] Vérouillage [E] Déconnexion [S] Veille [H] Hibernation [R] Redémarrage [P] Extinction -mode "$mode_system" { - bindsym l exec --no-startup-id xset s activate, mode "default" - bindsym e exit, mode "default" - bindsym s exec --no-startup-id systemctl suspend, mode "default" - bindsym h exec --no-startup-id systemctl hibernate, mode "default" - bindsym r exec --no-startup-id systemctl reboot, mode "default" - bindsym p exec --no-startup-id systemctl poweroff -i, mode "default" - - # back to normal: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" +# Start i3bar to display a workspace bar (plus the system information i3status if available) +bar { + mode hide + status_command i3status +# wheel_up_cmd nop +# wheel_down_cmd nop + font pango:DejaVu Sans Mono 9 + font pango:Sans 8 + colors { + separator #4E9C00 + background #333333 + statusline #FFFFFF + focused_workspace #4E9C00 #4E9C00 #FFFFFF + active_workspace #333333 #333333 #FFFFFF + inactive_workspace #333333 #222222 #888888 + urgent_workspace #C20000 #C20000 #FFFFFF + } } -bindsym $mod+Escape mode "$mode_system" +# Inactivity settings +exec --no-startup-id xautolock -time 10 -locker 'xset dpms force standby; sleep 60; $locker' +bindsym $mod+F4 exec --no-startup-id xautolock -disable +bindsym $mod+F5 exec --no-startup-id xautolock -enable + +# Autostart applications exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec --no-startup-id numlockx on -exec --no-startup-id feh --bg-scale /usr/share/backgrounds/Abstrait_vert.jpg +exec --no-startup-id feh --bg-scale $HOME/.config/i3/bg.jpg +exec --no-startup-id nm-applet +#exec --no-startup-id compton -b +exec --no-startup-id conky -c $HOME/.conky/status -# Preload -exec --no-startup-id j4-dmenu-desktop --dmenu=echo +# Theme colors +client.focused #4E9C00 #4E9C00 #FFFFFF #FFFFFF +client.focused_inactive #1B3600 #1B3600 #888888 #FFFFFF +client.unfocused #333333 #333333 #888888 #FFFFFF +client.urgent #C20000 #C20000 #FFFFFF #FFFFFF diff --git a/config/i3/config.old b/config/i3/config.old new file mode 100644 index 0000000..62557e0 --- /dev/null +++ b/config/i3/config.old @@ -0,0 +1,294 @@ +# 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). +# + +# i3 config file (v4) +# +# Please see http://i3wm.org/docs/userguide.html for a complete reference! + +exec --no-startup-id xss-lock dm-tool lock + +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. +# 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 8 +font pango:Sans 8 +# 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 +# set TERMINAL=i3-sensible-terminal +bindsym $mod+Return exec xterm +bindsym $mod+p exec thunar +bindsym $mod+m exec firefox + +# kill focused window +bindsym $mod+F4 kill +bindsym Mod1+F4 kill + +# start dmenu (a program launcher) +bindsym $mod+F2 exec dmenu_run +bindsym Mod1+F2 exec dmenu_run +# 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 +#bindsym $mod+d exec --no-startup-id j4-dmenu-desktop +bindsym $mod+Tab exec quickswitch.py + +# change focus +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l 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 + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+q focus parent + +# focus the child container +#bindsym $mod+d focus child + +# workspaces +set $WS1 1 +set $WS2 2 +set $WS3 3 +set $WS4 4 +set $WS5 5 +set $WS6 6 +set $WS7 7 +set $WS8 8 +set $WS9 9 +set $WS10 10 + +# switch to workspace +bindsym $mod+ampersand workspace $WS1 +bindsym $mod+eacute workspace $WS2 +bindsym $mod+quotedbl workspace $WS3 +bindsym $mod+apostrophe workspace $WS4 +bindsym $mod+parenleft workspace $WS5 +bindsym $mod+minus workspace $WS6 +bindsym $mod+egrave workspace $WS7 +bindsym $mod+underscore workspace $WS8 +bindsym $mod+ccedilla workspace $WS9 +bindsym $mod+agrave workspace $WS10 + +bindsym $mod+Ctrl+Left workspace prev_on_output +bindsym $mod+Ctrl+Down workspace prev +bindsym $mod+Ctrl+Right workspace next_on_output +bindsym $mod+Ctrl+Up workspace next + +# move focused container to workspace +bindsym $mod+Shift+ampersand move container to workspace $WS1 +bindsym $mod+Shift+eacute move container to workspace $WS2 +bindsym $mod+Shift+quotedbl move container to workspace $WS3 +bindsym $mod+Shift+apostrophe move container to workspace $WS4 +bindsym $mod+Shift+5 move container to workspace $WS5 +bindsym $mod+Shift+minus move container to workspace $WS6 +bindsym $mod+Shift+egrave move container to workspace $WS7 +bindsym $mod+Shift+underscore move container to workspace $WS8 +bindsym $mod+Shift+ccedilla move container to workspace $WS9 +bindsym $mod+Shift+agrave move container to workspace $WS10 + +bindsym $mod+Ctrl+Shift+Left move container to workspace prev_on_output +bindsym $mod+Ctrl+Shift+Down move container to workspace prev +bindsym $mod+Ctrl+Shift+Right move container to workspace next_on_output +bindsym $mod+Ctrl+Shift+Up move container to workspace next + +workspace_auto_back_and_forth yes +bindsym $mod+z workspace back_and_forth +bindsym $mod+Shift+z move container to workspace back_and_forth + + +# 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 exit +# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit 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 i resize shrink height 10 px or 10 ppt + bindsym l 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" + +for_window [window_role="pop-up"] floating enable +for_window [window_role="task_dialog"] floating enable + +# The middle button over a titlebar kills the window +bindsym button2 kill + +# The middle button and a modifer over any part of the window kills the window +bindsym $mod+button2 kill + +bindsym $mod+x [urgent=latest] focus + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +bar { + status_command j4status + position bottom + colors { + separator #888888 + background #333333 + statusline #FFFFFF + focused_workspace #4E9C00 #4E9C00 #FFFFFF + active_workspace #333333 #333333 #FFFFFF + inactive_workspace #333333 #333333 #888888 + urgent_workspace #C20000 #C20000 #FFFFFF + } +} + +client.focused #4E9C00 #4E9C00 #FFFFFF #FFFFFF +client.focused_inactive #1B3600 #1B3600 #888888 #FFFFFF +client.unfocused #333333 #333333 #888888 #FFFFFF +client.urgent #C20000 #C20000 #FFFFFF #FFFFFF + +bindsym XF86AudioRaiseVolume exec amixer -q set Master 5%+ unmute +bindsym XF86AudioLowerVolume exec amixer -q set Master 5%- unmute +bindsym XF86AudioMute exec amixer -q set Master toggle + +bindsym XF86MonBrightnessDown exec xbacklight -dec 20 +bindsym XF86MonBrightnessUp exec xbacklight -inc 20 + +set $mode_screen_select [V] VGA1 [H] HDMI1 +mode "$mode_screen_select" { + bindsym v mode "$mode_screen_VGA1" + bindsym h mode "$mode_screen_HDMI1" + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+t mode "$mode_screen_select" + +set $mode_screen_VGA1 VGA [R] Right [L] Left [U] Up [D] Down [C] Copy [O] Off +mode "$mode_screen_VGA1" { + bindsym r exec xrandr --output VGA1 --auto --right-of LVDS1 + bindsym l exec xrandr --output VGA1 --auto --left-of LVDS1 + bindsym u exec xrandr --output VGA1 --auto --above LVDS1 + bindsym d exec xrandr --output VGA1 --auto --below LVDS1 + bindsym c exec xrandr --output VGA1 --auto --same-as LVDS1 + bindsym o exec xrandr --output VGA1 --auto --off + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Move workspaces to screen +bindsym $mod+Ctrl+Shift+r move workspace to output right +bindsym $mod+Ctrl+Shift+l move workspace to output left +bindsym $mod+Ctrl+Shift+u move workspace to output above +bindsym $mod+Ctrl+Shift+d move workspace to output below + +set $mode_screen_HDMI1 HDMI [R] Right [L] Left [U] Up [D] Down [C] Copy [O] Off +mode "$mode_screen_HDMI1" { + bindsym r exec xrandr --output HDMI1 --auto --right-of LVDS1 + bindsym l exec xrandr --output HDMI1 --auto --left-of LVDS1 + bindsym u exec xrandr --output HDMI1 --auto --above LVDS1 + bindsym d exec xrandr --output HDMI1 --auto --below LVDS1 + bindsym c exec xrandr --output HDMI1 --auto --same-as LVDS1 + bindsym o exec xrandr --output HDMI1 --auto --off + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + + + +set $mode_system [L] Vérouillage [E] Déconnexion [S] Veille [H] Hibernation [R] Redémarrage [P] Extinction +mode "$mode_system" { + bindsym l exec --no-startup-id xset s activate, mode "default" + bindsym e exit, mode "default" + bindsym s exec --no-startup-id systemctl suspend, mode "default" + bindsym h exec --no-startup-id systemctl hibernate, mode "default" + bindsym r exec --no-startup-id systemctl reboot, mode "default" + bindsym p exec --no-startup-id systemctl poweroff -i, mode "default" + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+Escape mode "$mode_system" + +exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +exec --no-startup-id numlockx on +exec --no-startup-id feh --bg-scale /usr/share/backgrounds/Abstrait_vert.jpg + +# Preload +exec --no-startup-id j4-dmenu-desktop --dmenu=echo diff --git a/config/i3/dmenu_cmd b/config/i3/dmenu_cmd new file mode 100755 index 0000000..139f7d3 --- /dev/null +++ b/config/i3/dmenu_cmd @@ -0,0 +1,2 @@ +#!/bin/sh +dmenu -fn 'DejaVu Sans Mono-8' -nb '#222222' -nf '#888888' -sb '#4E9C00' -sf '#FFFFFF' "$@" diff --git a/config/i3/dmenu_run b/config/i3/dmenu_run new file mode 100755 index 0000000..9892aab --- /dev/null +++ b/config/i3/dmenu_run @@ -0,0 +1,15 @@ +#!/bin/sh +cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"} +if [ -d "$cachedir" ]; then + cache=$cachedir/dmenu_run +else + cache=$HOME/.dmenu_cache # if no xdg dir, fall back to dotfile in ~ +fi +( + IFS=: + if stest -dqr -n "$cache" $PATH; then + stest -flx $PATH | sort -u | tee "$cache" | $HOME/.config/i3/dmenu_cmd -p 'Run' "$@" + else + $HOME/.config/i3/dmenu_cmd -p 'Run' "$@" < "$cache" + fi +) | ${SHELL:-"/bin/sh"} & diff --git a/config/i3/i3lock b/config/i3/i3lock new file mode 100755 index 0000000..e4664f0 Binary files /dev/null and b/config/i3/i3lock differ diff --git a/config/i3/lock b/config/i3/lock new file mode 100755 index 0000000..d01806a --- /dev/null +++ b/config/i3/lock @@ -0,0 +1,6 @@ +#!/bin/sh + +dm-tool lock +if [ $? -ne 0 ]; then + $HOME/.config/i3/blurlock +fi diff --git a/config/i3/passmenu b/config/i3/passmenu new file mode 100755 index 0000000..8819029 --- /dev/null +++ b/config/i3/passmenu @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +shopt -s nullglob globstar + +typeit=0 +if [[ $1 == "--type" ]]; then + typeit=1 + shift +fi + +prefix=${PASSWORD_STORE_DIR-~/.password-store} +password_files=( "$prefix"/**/*.gpg ) +password_files=( "${password_files[@]#"$prefix"/}" ) +password_files=( "${password_files[@]%.gpg}" ) + +password=$(printf '%s\n' "${password_files[@]}" | $HOME/.config/i3/dmenu_cmd -p "Passwords" "$@") + +[[ -n $password ]] || exit + +if [[ $typeit -eq 0 ]]; then + pass show -c "$password" 2>/dev/null +else + xdotool - <<<"type --clearmodifiers -- $(pass show "$password" | head -n 1)" +fi diff --git a/config/i3status/config b/config/i3status/config index fd4535c..1870c75 100644 --- a/config/i3status/config +++ b/config/i3status/config @@ -4,51 +4,53 @@ general { interval = 5 } -order += "ipv6" +order += "disk /home" order += "disk /" -order += "run_watch DHCP" -order += "run_watch VPNC" order += "path_exists VPN" +order += "ethernet enp0s20u1" order += "wireless wlan0" -order += "ethernet eth0" +order += "ethernet enp3s0" +order += "cpu_usage" order += "battery 0" -order += "cpu_usage 0" -order += "load" +#order += "load" +order += "volume master" order += "tztime local" wireless wlan0 { - format_up = "W: (%quality at %essid, %bitrate) %ip" - format_down = "W: down" + format_up = " (%quality at %essid, %bitrate) %ip" + format_down = "" } -ethernet eth0 { +ethernet enp3s0 { # if you use %speed, i3status requires the cap_net_admin capability - format_up = "E: %ip (%speed)" - format_down = "E: down" + format_up = " %ip" + format_down = "" +} + +ethernet enp0s20u1 { + # if you use %speed, i3status requires the cap_net_admin capability + format_up = " %ip" + format_down = "" +} + +cpu_usage { + format = " %usage" } battery 0 { - format = "%status %percentage %remaining %emptytime" - format_down = "No battery" - status_chr = "⚇ CHR" - status_bat = "⚡ BAT" - status_full = "☻ FULL" + format = "%status %percentage" + format_down = "" + status_chr = "" + status_bat = "" + status_full = "" path = "/sys/class/power_supply/BAT%d/uevent" low_threshold = 10 } -run_watch DHCP { - pidfile = "/var/run/dhclient*.pid" -} - -run_watch VPNC { - # file containing the PID of a vpnc process - pidfile = "/var/run/vpnc/pid" -} - path_exists VPN { # path exists when a VPN tunnel launched by nmcli/nm-applet is active path = "/proc/sys/net/ipv4/conf/tun0" + format = "" } tztime local { @@ -61,5 +63,16 @@ load { } disk "/" { - format = "%free" + format = " %avail / %total" +} + +disk "/home" { + format = " %avail / %total" +} +volume master { + format = " %volume" + format_muted = " %volume" + device = "default" + mixer = "Master" + mixer_idx = 0 } diff --git a/xinitrc b/xinitrc index c1e34d6..a996e07 100644 --- a/xinitrc +++ b/xinitrc @@ -6,6 +6,8 @@ # Executed by startx (run your window manager from here) # +[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources + export GTK2_RC_FILES="$HOME/.gtkrc-2.0" DEFAULT_SESSION=i3