commit f57f9f533b2a4c0e544fce1255c98c20869a4734
parent ade98554bf2fc198f8cfdd5a2f7c28a37bb5ee8c
Author: Ashymad <czilukim@o2.pl>
Date: Sun, 24 Sep 2017 11:11:41 +0200
Initial commit
Diffstat:
17 files changed, 2363 insertions(+), 0 deletions(-)
diff --git a/.Xresources b/.Xresources
@@ -0,0 +1,32 @@
+URxvt.loginShell: true
+URxvt.saveLines: 10000
+URxvt.cutchars: "`\"'&()*,:;<=>?[\\]^{|}$"
+URxvt.foreground: rgb:a8/a8/a8
+URxvt.background: rgb:00/00/00
+URxvt.color0: rgb:00/00/00
+URxvt.color1: rgb:a8/00/00
+URxvt.color2: rgb:00/a8/00
+URxvt.color3: rgb:a8/54/00
+URxvt.color4: rgb:00/00/a8
+URxvt.color5: rgb:a8/00/a8
+URxvt.color6: rgb:00/a8/a8
+URxvt.color7: rgb:a8/a8/a8
+URxvt.color8: rgb:54/54/54
+URxvt.color9: rgb:fc/54/54
+URxvt.color10: rgb:54/fc/54
+URxvt.color11: rgb:fc/fc/54
+URxvt.color12: rgb:54/54/fc
+URxvt.color13: rgb:fc/54/fc
+URxvt.color14: rgb:54/fc/fc
+URxvt.color15: rgb:fc/fc/fc
+URxvt.colorBD: rgb:fc/fc/fc
+URxvt.scrollBar: false
+URxvt.visualBell: true
+! this is SO AWESOME:
+URxvt.fading: 15
+URxvt.font: xft:monaco:size=14
+! URL launcher
+URxvt.matcher.button: 1
+URxvt.perl-ext:
+URxvt.perl-ext-common: default,matcher
+URxvt.url-launcher: firefox-developer
+\ No newline at end of file
diff --git a/.cmus/rc b/.cmus/rc
@@ -0,0 +1,2 @@
+set output_plugin=pulse
+set mouse=true
+\ No newline at end of file
diff --git a/.config/astroid/config b/.config/astroid/config
@@ -0,0 +1,123 @@
+{
+ "astroid": {
+ "config": {
+ "version": "9"
+ },
+ "notmuch_config": "\/home\/shyman\/.notmuch-config",
+ "debug": {
+ "dryrun_sending": "false"
+ },
+ "hints": {
+ "level": "0"
+ }
+ },
+ "thread_index": {
+ "page_jump_rows": "6",
+ "sort_order": "newest",
+ "thread_load_step": "250",
+ "cell": {
+ "font_description": "default",
+ "line_spacing": "2",
+ "date_length": "10",
+ "message_count_length": "4",
+ "authors_length": "20",
+ "subject_color": "#807d74",
+ "subject_color_selected": "#000000",
+ "background_color_selected": "",
+ "tags_length": "80",
+ "tags_upper_color": "#e5e5e5",
+ "tags_lower_color": "#333333",
+ "tags_alpha": "0.5",
+ "hidden_tags": "attachment,flagged,unread"
+ }
+ },
+ "general": {
+ "time": {
+ "clock_format": "local",
+ "same_year": "%b %-e",
+ "diff_year": "%x"
+ }
+ },
+ "editor": {
+ "cmd": "emacsclient -q -c --parent-id %3 %1",
+ "external_editor": "false",
+ "charset": "utf-8",
+ "save_draft_on_force_quit": "true",
+ "attachment_words": "attach",
+ "attachment_directory": "~"
+ },
+ "mail": {
+ "reply": {
+ "quote_line": "Excerpts from %1's message of %2:",
+ "mailinglist_reply_to_sender": "true"
+ },
+ "forward": {
+ "quote_line": "Forwarding %1's message of %2:",
+ "disposition": "inline"
+ },
+ "sent_tags": "sent",
+ "message_id_fqdn": "",
+ "message_id_user": "",
+ "user_agent": "default",
+ "send_delay": "2"
+ },
+ "poll": {
+ "interval": "300"
+ },
+ "attachment": {
+ "external_open_cmd": "xdg-open"
+ },
+ "thread_view": {
+ "open_html_part_external": "false",
+ "open_external_link": "xdg-open",
+ "default_save_directory": "~",
+ "indent_messages": "false",
+ "code_prettify": {
+ "enable": "true",
+ "for_tags": "",
+ "code_tag": "```",
+ "enable_for_patches": "true"
+ },
+ "gravatar": {
+ "enable": "true"
+ },
+ "mark_unread_delay": "0.5",
+ "expand_flagged": "true"
+ },
+ "crypto": {
+ "gpg": {
+ "path": "gpg2",
+ "always_trust": "true"
+ }
+ },
+ "saved_searches": {
+ "show_on_startup": "false",
+ "save_history": "true",
+ "history_lines_to_show": "15",
+ "history_lines": "1000"
+ },
+ "accounts": {
+ "o2": {
+ "name": "Szymon Mikulicz",
+ "email": "czilukim@o2.pl",
+ "gpgkey": "",
+ "always_gpg_sign": "false",
+ "sendmail": "msmtp -t",
+ "default": "true",
+ "save_sent": "false",
+ "save_sent_to": "\/home\/root\/Mail\/sent\/cur\/",
+ "additional_sent_tags": "",
+ "save_drafts_to": "\/home\/root\/Mail\/drafts\/",
+ "signature_file": "",
+ "signature_default_on": "true",
+ "signature_attach": "false",
+ "signature_separate": "false",
+ "select_query": ""
+ }
+ },
+ "startup": {
+ "queries": {
+ "inbox": "tag:inbox"
+ }
+ }
+}
diff --git a/.config/astroid/poll.sh b/.config/astroid/poll.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+
+MAILDIR="/home/shyman/.mail"
+
+if ! nc -z 127.0.0.1 19455; then
+ keepassxc &
+ exit
+else
+ case $(curl -sd '{"RequestType":"test-associate","TriggerUnlock":true}' http://127.0.0.1:19455 | wc -w) in
+
+ 0) exit
+ ;;
+ *)
+ ;;
+ esac
+fi
+
+notmuch search --output=files tag:deleted and tag:o2 and not folder:o2/Trash | xargs -I {} mv -f "{}" $MAILDIR/o2/Trash/cur/
+notmuch search --output=files tag:deleted and tag:freeos and not folder:freeos/Trash | xargs -I {} mv -f "{}" $MAILDIR/freeos/Trash/cur/
+
+offlineimap
+notmuch new
+
+notmuch tag --batch <<EOF
+ +o2 tag:new and path:"o2/**"
+ +freeos tag:new and path:"freeos/**"
+ +deleted tag:new and folder:o2/Trash or folder:freeos/Trash
+ +sent tag:new and folder:o2/Sent or folder:freeos/Sent or folder:"freeos/Sent Items"
+ +spam tag:new and folder:o2/Spam or folder:freeos/Spam or folder:freeos/Junk
+ +inbox tag:new and folder:o2/INBOX or folder:freeos/INBOX
+ +archive tag:new and folder:o2/INBOX.Archive or folder:freeos/Archive
+ +draft tag:new and folder:o2/Drafts or folder:freeos/Drafts
+ -new tag:new
+EOF
diff --git a/.config/fish/config.fish b/.config/fish/config.fish
@@ -0,0 +1,3 @@
+#!/bin/env fish
+
+alias ec "emacsclient -a \"\""
diff --git a/.config/mpv/mpv.conf b/.config/mpv/mpv.conf
@@ -0,0 +1,23 @@
+interpolation
+tscale=catmull_rom
+#linear-scaling
+video-sync=display-resample
+#alsa-resample=yes
+#framedrop=no
+#temporal-dither
+#vf=format=yuv420p,vapoursynth=~/.config/mpv/filters/mvtools.vpy:4:4
+vo=opengl
+opengl-vsync-fences=1
+screenshot-directory=~/screenshots/
+#interpolation-threshold=-1
+#hwdec=no
+fullscreen
+audio-channels=stereo
+#heartbeat-cmd="xdg-screensaver reset"
+#vo-vdpau-fps=59.931
+#input-ipc-server=/tmp/mpvsocket
+#display-fps=59.931
+#vd-lavc-skiploopfilter=bidir
+#screen=0
+#fs-black-out-screens
+#profile=opengl-hq
+\ No newline at end of file
diff --git a/.config/polybar/cmus.sh b/.config/polybar/cmus.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+if cmus-remote -C status > /tmp/cmus.status; then
+
+ TITLE=$(grep 'tag title ' /tmp/cmus.status | tail -c +11)
+ ARTIST=$(grep 'tag artist ' /tmp/cmus.status | tail -c +12)
+ STATE=$(grep 'status ' /tmp/cmus.status | tail -c +8)
+ if [ $STATE = 'playing' ]; then
+ printf "\ue058 $ARTIST - $TITLE"
+ elif [ $STATE = 'paused' ]; then
+ printf "\ue059 $ARTIST - $TITLE"
+ else
+ printf "\ue057"
+ fi
+fi
+\ No newline at end of file
diff --git a/.config/polybar/config b/.config/polybar/config
@@ -0,0 +1,383 @@
+;=====================================================
+;
+; 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/example]
+monitor = HDMI-0
+width = 100%
+height = 20
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = false
+;bottom = true
+
+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 = 1
+module-margin-right = 2
+
+font-0 = fixed:pixelsize=10;1
+font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
+font-2 = "Wuncon Siji:pixelsize=10;1"
+
+modules-left = i3
+modules-center = cmus
+modules-right = filesystem memory cpu eth xkeyboard date
+
+tray-position = left
+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
+
+binding modescroll-up = i3wm-wsnext
+scroll-down = i3wm-wsprev
+
+[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 = <label-state> <label-mode>
+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%
+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%
+label-unfocused-padding = ${module/bspwm.label-occupied-padding}
+
+; visible = Active workspace on unfocused monitor
+label-visible = %index%
+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%
+label-urgent-background = ${module/bspwm.label-urgent-background}
+label-urgent-padding = ${module/bspwm.label-urgent-padding}
+
+[module/cmus]
+type = custom/script
+
+exec = sh ~/.config/polybar/cmus.sh
+exec-if = pgrep -x cmus
+interval = 1
+
+click-left = cmus-remote --pause
+click-right = cmus-remote --stop
+
+[module/mpd]
+type = internal/mpd
+host = 127.0.0.1
+port = 6600
+
+format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
+
+icon-prev =
+icon-stop =
+icon-play =
+icon-pause =
+icon-next =
+
+label-song-maxlen = 25
+label-song-ellipsis = true
+
+[module/xbacklight]
+type = internal/xbacklight
+
+format = <label> <bar>
+label = BL
+
+bar-width = 10
+bar-indicator = |
+bar-indicator-foreground = #ff
+bar-indicator-font = 2
+bar-fill = ─
+bar-fill-font = 2
+bar-fill-foreground = #9f78e1
+bar-empty = ─
+bar-empty-font = 2
+bar-empty-foreground = ${colors.foreground-alt}
+
+[module/backlight-acpi]
+inherit = module/xbacklight
+type = internal/backlight
+card = intel_backlight
+
+[module/cpu]
+type = internal/cpu
+interval = 2
+format-prefix = " "
+format-prefix-foreground = ${colors.foreground-alt}
+format-underline = #f90000
+label = %percentage%%
+
+[module/memory]
+type = internal/memory
+interval = 2
+format-prefix = " "
+format-prefix-foreground = ${colors.foreground-alt}
+format-underline = #4bffdc
+label = %percentage_used%%
+
+[module/wlan]
+type = internal/network
+interface = net1
+interval = 3.0
+
+format-connected = <ramp-signal> <label-connected>
+format-connected-underline = #9f78e1
+label-connected = %essid%
+
+format-disconnected =
+;format-disconnected = <label-disconnected>
+;format-disconnected-underline = ${self.format-connected-underline}
+;label-disconnected = %ifname% disconnected
+;label-disconnected-foreground = ${colors.foreground-alt}
+
+ramp-signal-0 =
+ramp-signal-1 =
+ramp-signal-2 =
+ramp-signal-3 =
+ramp-signal-4 =
+ramp-signal-foreground = ${colors.foreground-alt}
+
+[module/eth]
+type = internal/network
+interface = enp3s6
+interval = 3.0
+
+format-connected-underline = #55aa55
+format-connected-prefix = " "
+format-connected-prefix-foreground = ${colors.foreground-alt}
+label-connected = %local_ip%
+
+format-disconnected =
+;format-disconnected = <label-disconnected>
+;format-disconnected-underline = ${self.format-connected-underline}
+;label-disconnected = %ifname% disconnected
+;label-disconnected-foreground = ${colors.foreground-alt}
+
+[module/date]
+type = internal/date
+interval = 5
+
+date =
+date-alt = " %Y-%m-%d"
+
+time = %H:%M
+time-alt = %H:%M:%S
+
+format-prefix =
+format-prefix-foreground = ${colors.foreground-alt}
+format-underline = #0a6cf5
+
+label = %date% %time%
+
+[module/volume]
+type = internal/volume
+
+format-volume = <label-volume> <bar-volume>
+label-volume = VOL
+label-volume-foreground = ${root.foreground}
+
+format-muted-prefix = " "
+format-muted-foreground = ${colors.foreground-alt}
+label-muted = sound muted
+
+bar-volume-width = 10
+bar-volume-foreground-0 = #55aa55
+bar-volume-foreground-1 = #55aa55
+bar-volume-foreground-2 = #55aa55
+bar-volume-foreground-3 = #55aa55
+bar-volume-foreground-4 = #55aa55
+bar-volume-foreground-5 = #f5a70a
+bar-volume-foreground-6 = #ff5555
+bar-volume-gradient = false
+bar-volume-indicator = |
+bar-volume-indicator-font = 2
+bar-volume-fill = ─
+bar-volume-fill-font = 2
+bar-volume-empty = ─
+bar-volume-empty-font = 2
+bar-volume-empty-foreground = ${colors.foreground-alt}
+
+[module/battery]
+type = internal/battery
+battery = BAT0
+adapter = ADP1
+full-at = 98
+
+format-charging = <animation-charging> <label-charging>
+format-charging-underline = #ffb52a
+
+format-discharging = <ramp-capacity> <label-discharging>
+format-discharging-underline = ${self.format-charging-underline}
+
+format-full-prefix = " "
+format-full-prefix-foreground = ${colors.foreground-alt}
+format-full-underline = ${self.format-charging-underline}
+
+ramp-capacity-0 =
+ramp-capacity-1 =
+ramp-capacity-2 =
+ramp-capacity-foreground = ${colors.foreground-alt}
+
+animation-charging-0 =
+animation-charging-1 =
+animation-charging-2 =
+animation-charging-foreground = ${colors.foreground-alt}
+animation-charging-framerate = 750
+
+[module/temperature]
+type = internal/temperature
+thermal-zone = 0
+warn-temperature = 60
+
+format = <ramp> <label>
+format-underline = #f50a4d
+format-warn = <ramp> <label-warn>
+format-warn-underline = ${self.format-underline}
+
+label = %temperature%
+label-warn = %temperature%
+label-warn-foreground = ${colors.secondary}
+
+ramp-0 =
+ramp-1 =
+ramp-2 =
+ramp-foreground = ${colors.foreground-alt}
+
+[module/powermenu]
+type = custom/menu
+
+format-spacing = 1
+
+label-open =
+label-open-foreground = ${colors.secondary}
+label-close = cancel
+label-close-foreground = ${colors.secondary}
+label-separator = |
+label-separator-foreground = ${colors.foreground-alt}
+
+menu-0-0 = reboot
+menu-0-0-exec = menu-open-1
+menu-0-1 = poweroff
+menu-0-1-exec = menu-open-2
+
+menu-1-0 = cancel
+menu-1-0-exec = menu-open-0
+menu-1-1 = reboot
+menu-1-1-exec = sudo reboot
+
+menu-2-0 = power off
+menu-2-0-exec = sudo poweroff
+menu-2-1 = cancel
+menu-2-1-exec = menu-open-0
+
+[settings]
+screenchange-reload = true
+;compositing-background = xor
+;compositing-background = screen
+;compositing-foreground = source
+;compositing-border = over
+
+[global/wm]
+margin-top = 5
+margin-bottom = 5
+
+; vim:ft=dosini
diff --git a/.config/polybar/launch.sh b/.config/polybar/launch.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+killall polybar
+polybar example
+\ No newline at end of file
diff --git a/.config/whipper/whipper.conf b/.config/whipper/whipper.conf
@@ -0,0 +1,12 @@
+[drive:LITE-ON%20%3ACD-RW%20SOHR-5238S%3A4S09]
+vendor = LITE-ON
+model = CD-RW SOHR-5238S
+release = 4S09
+defeats_cache = True
+read_offset = 6
+[rip.cd.rip]
+unknown = True
+output_directory = ~/ripped/
+track_template = %%A - %%d (%%y)/%%t. %%a - %%n
+disc_template = %(track_template)s
+profile = flac
+\ No newline at end of file
diff --git a/.i3/brightness.sh b/.i3/brightness.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+MON_NMB=2
+
+for i in $(seq 1 $MON_NMB); do
+ while ! ddcutil -d $i setvcp 10 $1; do :; done
+done
diff --git a/.i3/config b/.i3/config
@@ -0,0 +1,209 @@
+# 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!
+
+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 8
+font pango:Terminus 11px
+
+# 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
+bindsym $mod+Return exec urxvtc
+
+# kill focused window
+bindsym $mod+Shift+q kill
+
+# start dmenu (a program launcher)
+bindsym $mod+d exec rofi -show drun
+# 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+l focus left
+bindsym $mod+semicolon focus down
+bindsym $mod+apostrophe focus up
+bindsym $mod+backslash 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+l move left
+bindsym $mod+Shift+semicolon move down
+bindsym $mod+Shift+apostrophe move up
+bindsym $mod+Shift+backslash 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+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+a focus parent
+
+# focus the child container
+#bindsym $mod+d focus child
+
+# switch to workspace
+bindsym $mod+1 workspace 1
+bindsym $mod+2 workspace 2
+bindsym $mod+3 workspace 3
+bindsym $mod+4 workspace 4
+bindsym $mod+5 workspace 5
+bindsym $mod+6 workspace 6
+bindsym $mod+7 workspace 7
+bindsym $mod+8 workspace 8
+bindsym $mod+9 workspace 9
+bindsym $mod+0 workspace 10
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+2 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+7 move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+9 move container to workspace 9
+bindsym $mod+Shift+0 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 '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 l resize shrink width 10 px or 10 ppt
+ bindsym semicolon resize grow height 10 px or 10 ppt
+ bindsym apostrophe resize shrink height 10 px or 10 ppt
+ bindsym backslash 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"
+}
+set $power_control "[l]ock log[o]ut [s]uspend [h]ibernate [r]eboot [p]oweroff"
+mode $power_control {
+ bindsym l exec ~/.i3/lock.sh; mode "default"
+ bindsym o exec i3-msg exit; mode "default"
+ bindsym s exec systemctl suspend; mode "default"
+ bindsym h exec systemctl hibernate; mode "default"
+ bindsym r exec systemctl reboot; mode "default"
+ bindsym p exec systemctl poweroff; mode "default"
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+n mode $power_control
+
+mode "brightness" {
+ bindsym grave exec ~/.i3/brightness.sh 00
+ bindsym 1 exec ~/.i3/brightness.sh 10
+ bindsym 2 exec ~/.i3/brightness.sh 20
+ bindsym 3 exec ~/.i3/brightness.sh 30
+ bindsym 4 exec ~/.i3/brightness.sh 40
+ bindsym 5 exec ~/.i3/brightness.sh 50
+ bindsym 6 exec ~/.i3/brightness.sh 60
+ bindsym 7 exec ~/.i3/brightness.sh 70
+ bindsym 8 exec ~/.i3/brightness.sh 80
+ bindsym 9 exec ~/.i3/brightness.sh 90
+ bindsym 0 exec ~/.i3/brightness.sh 100
+
+ bindsym Return mode "default"
+}
+bindsym $mod+Shift+b mode "brightness"
+
+bindsym $mod+Shift+f focus_follows_mouse no
+bindsyn $mod+Alt+f focus_follows_mouse yes
+
+# Gaps config
+# for_window [class="^.*"] border pixel 2
+new_window pixel 2
+gaps inner 10
+
+# class border backgr. text indicator
+client.focused #4f4f4f #4f4f4f #ffffffWuncon Siji #4f4f4f
+client.unfocused #323232 #323232 #aaaaaa #323232
+client.focused_inactive #323232 #333333 #aaaaaa #323232
+client.urgent #383a3b #383a3b #ee0000 #383a3b
+
+bindsym $mod+r mode "resize"
+
+for_window [instance="chromium"] move right, move container to workspace 1
+for_window [instance="polybar"] gaps inner 0
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+#bar {
+# #tray_output primary
+# status_command i3blocks
+#}
+
+exec --no-startup-id redshift-gtk
+exec_always --no-startup-id ~/.config/polybar/launch.sh
+#exec --no-startup-id fish -c 'sleep 4; setxkbmap -option caps:super'
+\ No newline at end of file
diff --git a/.notmuch-config b/.notmuch-config
@@ -0,0 +1,99 @@
+# .notmuch-config - Configuration file for the notmuch mail system
+#
+# For more information about notmuch, see https://notmuchmail.org
+
+# Database configuration
+#
+# The only value supported here is 'path' which should be the top-level
+# directory where your mail currently exists and to where mail will be
+# delivered in the future. Files should be individual email messages.
+# Notmuch will store its database within a sub-directory of the path
+# configured here named ".notmuch".
+#
+[database]
+path=/home/shyman/.mail
+
+# User configuration
+#
+# Here is where you can let notmuch know how you would like to be
+# addressed. Valid settings are
+#
+# name Your full name.
+# primary_email Your primary email address.
+# other_email A list (separated by ';') of other email addresses
+# at which you receive email.
+#
+# Notmuch will use the various email addresses configured here when
+# formatting replies. It will avoid including your own addresses in the
+# recipient list of replies, and will set the From address based on the
+# address to which the original email was addressed.
+#
+[user]
+name=Szymon Mikulicz
+primary_email=czilukim@o2.pl
+
+# Configuration for "notmuch new"
+#
+# The following options are supported here:
+#
+# tags A list (separated by ';') of the tags that will be
+# added to all messages incorporated by "notmuch new".
+#
+# ignore A list (separated by ';') of file and directory names
+# that will not be searched for messages by "notmuch new".
+#
+# NOTE: *Every* file/directory that goes by one of those
+# names will be ignored, independent of its depth/location
+# in the mail store.
+#
+[new]
+tags=new;
+ignore=
+
+# Search configuration
+#
+# The following option is supported here:
+#
+# exclude_tags
+# A ;-separated list of tags that will be excluded from
+# search results by default. Using an excluded tag in a
+# query will override that exclusion.
+#
+[search]
+exclude_tags=deleted;spam;
+
+# Maildir compatibility configuration
+#
+# The following option is supported here:
+#
+# synchronize_flags Valid values are true and false.
+#
+# If true, then the following maildir flags (in message filenames)
+# will be synchronized with the corresponding notmuch tags:
+#
+# Flag Tag
+# ---- -------
+# D draft
+# F flagged
+# P passed
+# R replied
+# S unread (added when 'S' flag is not present)
+#
+# The "notmuch new" command will notice flag changes in filenames
+# and update tags, while the "notmuch tag" and "notmuch restore"
+# commands will notice tag changes and update flags in filenames
+#
+[maildir]
+synchronize_flags=true
+
+# Cryptography related configuration
+#
+# The following *deprecated* option is currently supported:
+#
+# gpg_path
+# binary name or full path to invoke gpg.
+# NOTE: In a future build, this option will be ignored.
+# Setting $PATH is a better approach.
+#
+[crypto]
+gpg_path=gpg
diff --git a/.offlineimap.py b/.offlineimap.py
@@ -0,0 +1,9 @@
+import keepasshttp
+
+session = keepasshttp.start('offlineimap')
+
+def get_password( str ):
+ return session.getLogins( str )[0]['Password'].value
+
+def get_username( str ):
+ return session.getLogins( str )[0]['Login']
diff --git a/.offlineimaprc b/.offlineimaprc
@@ -0,0 +1,1382 @@
+# Offlineimap sample configuration file
+
+# This file documents *all* possible options and can be quite scary.
+# Looking for a quick start? Take a look at offlineimap.conf.minimal.
+# More details can be found at http://www.offlineimap.org .
+
+##################################################
+# Overview
+##################################################
+
+# The default configuration file is "~/.offlineimaprc".
+#
+# Offlineimap ships with a file named "offlineimap.conf" that you should copy to
+# that location and then edit.
+#
+# Offlineimap also ships a file named "offlineimap.conf.minimal" that you can
+# also try. It's useful if you want to get started with the most basic feature
+# set, and you can read about other features later with "offlineimap.conf".
+#
+# If you want to be XDG-compatible, you can put your configuration file into
+# "$XDG_CONFIG_HOME/offlineimap/config".
+
+##################################################
+# General definitions
+##################################################
+
+# NOTE 1: Settings generally support python interpolation. This means
+# values can contain python format strings which refer to other values
+# in the same section, or values in a special DEFAULT section. This
+# allows you for example to use common settings for multiple accounts:
+#
+# [Repository Gmail1]
+# trashfolder: %(gmailtrashfolder)s
+#
+# [Repository Gmail2]
+# trashfolder: %(gmailtrashfolder)s
+#
+# [DEFAULT]
+# gmailtrashfolder = [Gmail]/Papierkorb
+#
+# would set the trashfolder setting for your German Gmail accounts.
+
+# NOTE 2: Above feature implies that any '%' needs to be encoded as '%%'
+
+# NOTE 3: Any variable that is subject to the environment variables
+# ($NAME) and tilde (~username/~) expansions will receive tilde
+# expansion first and only after the environment variable will be
+# expanded in the resulting string. This behaviour is intentional
+# as it coincides with typical shell expansion strategy.
+
+# NOTE 4: multiple same-named sections.
+# The library used to parse the configuration file has known issue when multiple
+# sections have the same name. In such case, only the last section is considered.
+# It is strongly discouraged to have multiple sections with the same name.
+# See https://github.com/OfflineIMAP/offlineimap/issues/143 for more details.
+
+[general]
+
+# This specifies where Offlineimap is to store its metadata.
+# This directory will be created if it does not already exist.
+#
+# Tilde and environment variable expansions will be performed.
+#
+#metadata = ~/.offlineimap
+
+
+# This option stands in the [general] section.
+#
+# This variable specifies which accounts are defined. Separate them with commas.
+# Account names should be alphanumeric only. You will need to specify one
+# section per account below. You may not use "general" for an account name.
+#
+# Always use ASCII characters only.
+#
+accounts = o2, freeos
+
+
+# This option stands in the [general] section.
+#
+# Offlineimap can synchronize more than one account at a time. If you want to
+# enable this feature, set the below value to something greater than 1. To
+# force it to synchronize only one account at a time, set it to 1.
+#
+# NOTE: if you are using autorefresh and have more than one account, you must
+# set this number to be >= to the number of accounts you have; since any given
+# sync run never "finishes" due to a timer, you will never sync your additional
+# accounts if this is 1.
+#
+#maxsyncaccounts = 1
+
+
+# This option stands in the [general] section.
+#
+# You can specify one or more user interface. Offlineimap will try the first in
+# the list, and if it fails, the second, and so forth.
+#
+# The pre-defined options are:
+# Blinkenlights -- A fancy (terminal) interface
+# TTYUI -- a text-based (terminal) interface
+# Basic -- Noninteractive interface suitable for cron'ing
+# Quiet -- Noninteractive interface, generates no output
+# except for errors.
+# MachineUI -- Interactive interface suitable for machine
+# parsing.
+#
+# See also offlineimapui(7)
+#
+# You can override this with a command-line option -u.
+#
+#ui = basic
+
+
+# This option stands in the [general] section.
+#
+# If you try to synchronize messages to a folder which the IMAP server
+# considers read-only, Offlineimap will generate a warning. If you want
+# to suppress these warnings, set ignore-readonly to yes. Read-only
+# IMAP folders allow reading but not modification, so if you try to
+# change messages in the local copy of such a folder, the IMAP server
+# will prevent Offlineimap from propagating those changes to the IMAP
+# server. Note that ignore-readonly is UNRELATED to the "readonly"
+# setting which prevents a repository from being modified at all.
+#
+#ignore-readonly = no
+
+
+########## Advanced settings
+
+# This option stands in the [general] section.
+#
+# You can give a Python source filename here and all config file
+# python snippets will be evaluated in the context of that file.
+# This allows you to e.g. define helper functions in the Python
+# source file and call them from this config file. You can find
+# an example of this in the manual.
+#
+# Tilde and environment variable expansions will be performed.
+#
+pythonfile = ~/.offlineimap.py
+
+
+# This option is in the [general] section.
+#
+# By default, Offlineimap will not exit due to a network error until the
+# operating system returns an error code. Operating systems can sometimes take
+# forever to notice this. Here you can activate a timeout on the socket. This
+# timeout applies to individual socket reads and writes, not to an overall sync
+# operation. You could perfectly well have a 30s timeout here and your sync
+# still take minutes.
+#
+# Values in the 30-120 second range are reasonable.
+#
+# The default is to have no timeout beyond the OS. Times are given in seconds.
+#
+#socktimeout = 60
+
+
+# This option stands in the [general] section.
+#
+# By default, Offlineimap will use fsync() to force data out to disk at
+# opportune times to ensure consistency. This can, however, reduce performance.
+# Users where /home is on SSD (Flash) may also wish to reduce write cycles.
+# Therefore, you can disable Offlineimap's use of fsync(). Doing so will come
+# at the expense of greater risk of message duplication in the event of a system
+# crash or power loss. Default is true. Set it to false to disable fsync.
+#
+# SQLite honors this option since v7.0.8+. However, those SQLite improvements
+# are still EXPERIMENTAL.
+#
+#fsync = true
+
+
+##################################################
+# Mailbox name recorder
+##################################################
+
+#[mbnames]
+
+# Offlineimap can record your mailbox names in a format you specify.
+# You can define the header, each mailbox item, the separator,
+# and the footer. Here is an example for Mutt.
+# If enabled is yes, all settings except incremental must be specified, even if
+# they are just the empty string "".
+#
+# The header, peritem, sep, and footer are all Python expressions passed
+# through eval, so you can (and must) use Python quoting.
+#
+# The incremental setting controls whether the file is written after each
+# account completes or once all synced accounts are complete. This is useful if
+# an account is sightly slower than the other. It allows keeping the previous
+# file rather than having it partially written.
+# This works best with "no" if in one-shot mode started by cron or systemd
+# timers. Default: no.
+#
+# The following hash key are available to the expansion for 'peritem':
+# - accountname: the name of the corresponding account;
+# - foldername: the name of the folder;
+# - localfolders: path to the local directory hosting all Maildir
+# folders for the account.
+#
+# Tilde and environment variable expansions will be performed
+# for "filename" knob.
+#
+#enabled = no
+#filename = ~/Mutt/muttrc.mailboxes
+#header = "mailboxes "
+#peritem = "+%(accountname)s/%(foldername)s"
+#sep = " "
+#footer = "\n"
+#incremental = no
+
+
+# This option stands in the [mbnames] section.
+#
+# You can also specify a folderfilter. It will apply to the *translated* folder
+# name here, and it takes TWO arguments: accountname and foldername. In all
+# other ways, it will behave identically to the folderfilter for accounts.
+# Please see the folderfilter option for more information and examples.
+#
+# This filter can be used only to further restrict mbnames to a subset of
+# folders that pass the account's folderfilter.
+#
+# E.g.: with mbnames_folderfilter defined like this in the python file:
+#
+# def mbnames_folderfilter(accountname, foldername):
+# allowed = {'myaccount': ['folderA', 'folderB']}
+# if accountname in allowed:
+# return foldername in allowed[accountname]
+# return False
+#
+# For correct folderfilter with Microsoft servers, please see
+# http://www.offlineimap.org/doc/FAQ.html#exchange-and-office365
+#
+#folderfilter = mbnames_folderfilter
+
+
+# This option stands in the [mbnames] section.
+#
+# You can customize the order in which mailbox names are listed in the generated
+# file by specifying a sort_keyfunc, which takes a single dict argument
+# containing keys 'accountname' and 'foldername'. This function will be called
+# once for each mailbox, and should return a suitable sort key that defines this
+# mailbox' position in the custom ordering.
+#
+# This is useful with e.g. Mutt-sidebar, which uses the mailbox order from the
+# generated file when listing mailboxes in the sidebar.
+#
+# Default setting is:
+#sort_keyfunc = lambda d: (d['accountname'], d['foldername'])
+
+
+##################################################
+# Accounts
+##################################################
+
+# This is an account definition clause. You'll have one of these for each
+# account listed in the "accounts" option in [general] section (above).
+
+[Account o2]
+
+# These settings specify the two folders that you will be syncing.
+# You'll need to have a "Repository ..." section for each one.
+
+localrepository = o2-local
+remoterepository = o2-remote
+
+
+[Account freeos]
+
+localrepository = freeos-local
+remoterepository = freeos-remote
+
+########## Advanced settings
+
+# This option stands in the [Account Test] section.
+#
+# You can have Offlineimap continue running indefinitely, automatically syncing
+# your mail periodically. If you want that, specify how frequently to do that
+# (in minutes) here. Fractional minutes (ie, 3.25) is allowed.
+#
+# If you want more than one account concurrently synced in this mode, don't
+# forget to set the maxsyncaccounts option accordingly.
+#
+#autorefresh = 5
+
+
+# This option stands in the [Account Test] section.
+#
+# OfflineImap can replace a number of full updates by quick synchronizations.
+# This option is ignored if maxage or startdate are used.
+#
+# It only synchronizes a folder if
+#
+# 1) a Maildir folder has changed
+#
+# or
+#
+# 2) if an IMAP folder has received new messages or had messages deleted, ie
+# it does not update if only IMAP flags have changed.
+#
+# Full updates need to fetch ALL flags for all messages, so this makes quite a
+# performance difference (especially if syncing between two IMAP servers).
+#
+# Specify 0 for never, -1 for always (works even in non-autorefresh mode)
+#
+# A positive integer <n> to do <n> quick updates before doing another full
+# synchronization (requires autorefresh). Updates are always performed after
+# <autorefresh> minutes, be they quick or full.
+#
+#quick = 10
+
+
+# This option stands in the [Account Test] section.
+#
+# You can specify a pre and post sync hook to execute a external command. In
+# this case a call to imapfilter to filter mail before the sync process starts
+# and a custom shell script after the sync completes.
+#
+# The pre sync script has to complete before a sync to the account will start.
+#
+#presynchook = imapfilter -c someotherconfig.lua
+#postsynchook = notifysync.sh
+
+
+# This option stands in the [Account Test] section.
+#
+# If you have a limited amount of bandwidth available you can exclude larger
+# messages (e.g. those with large attachments etc). If you do this it will
+# appear to Offlineimap that these messages do not exist at all. They will not
+# be copied, have flags changed etc. For this to work on an IMAP server the
+# server must have server side search enabled. This works with Gmail and most
+# imap servers (e.g. cyrus etc)
+#
+# The maximum size should be specified in bytes - e.g. 2000000 for approx 2MB
+#
+#maxsize = 2000000
+
+
+# This option stands in the [Account Test] section.
+#
+# maxage enables you to sync only recent messages. There are two ways to specify
+# what "recent" means: if maxage is given as an integer, then only messages from
+# the last maxage days will be synced. If maxage is given as a date, then only
+# messages later than that date will be synced.
+#
+# Messages older than the cutoff will not be synced, their flags will not be
+# changed, they will not be deleted, etc. For Offlineimap it will be like these
+# messages do not exist. This will perform an IMAP search in the case of IMAP or
+# Gmail and therefore requires that the server support server side searching.
+#
+# Known edge cases are described in offlineimap(1).
+#
+# maxage is allowed only when the local folder is of type Maildir. It can't be
+# used with startdate.
+#
+# The maxage option expects an integer (for the number of days) or a date of the
+# form yyyy-mm-dd.
+#
+#maxage = 3
+#maxage = 2015-04-01
+
+
+# This option stands in the [Account Test] section.
+#
+# Maildir file format uses colon (:) separator between uniq name and info.
+# Unfortunatelly colon is not allowed character in windows file name. If you
+# enable maildir-windows-compatible option, Offlineimap will be able to store
+# messages on windows drive, but you will probably loose compatibility with
+# other programs working with the maildir.
+#
+#maildir-windows-compatible = no
+
+
+# This option stands in the [Account Test] section.
+#
+# Specifies if we want to sync GMail labels with the local repository.
+# Effective only for GMail IMAP repositories.
+#
+# Non-ASCII characters in labels are bad handled or won't work at all.
+#
+#synclabels = no
+
+
+# This option stands in the [Account Test] section.
+#
+# Name of the header to use for label storage. Format for the header
+# value differs for different headers, because there are some de-facto
+# "standards" set by popular clients:
+#
+# - X-Label or Keywords keep values separated with spaces; for these
+# you, obviously, should not have label values that contain spaces;
+#
+# - X-Keywords use comma (',') as the separator.
+#
+# To be consistent with the usual To-like headers, for the rest of header
+# types we use comma as the separator.
+#
+# Use ASCII characters only.
+#
+#labelsheader = X-Keywords
+
+
+# This option stands in the [Account Test] section.
+#
+# Set of labels to be ignored. Comma-separated list. GMail-specific
+# labels all start with backslash ('\').
+#
+# Use ASCII characters only.
+#
+#ignorelabels = \Inbox, \Starred, \Sent, \Draft, \Spam, \Trash, \Important
+
+
+# This option stands in the [Account Test] section.
+#
+# Offlineimap can strip off some headers when your messages are propagated
+# back to the IMAP server. This option carries the comma-separated list
+# of headers to trim off. Header name matching is case-sensitive.
+#
+# This knob is respected only by IMAP-based accounts. Value of labelsheader
+# for GMail-based accounts is automatically added to this list, you don't
+# need to specify it explicitely.
+#
+# Use ASCII characters only.
+#
+#filterheaders = X-Some-Weird-Header
+
+
+# This option stands in the [Account Test] section.
+#
+# Use proxy connection for this account. Usefull to bypass the GFW in China.
+# To specify a proxy connection, join proxy type, host and port with colons.
+# Available proxy types are SOCKS5, SOCKS4, HTTP.
+# You also need to install PySocks through pip.
+#
+# Currently, this feature leaks DNS support.
+#
+#proxy = SOCKS5:IP:9999
+
+
+# TESTING: This option stands in the [Account Test] section.
+#
+# Use authproxy connection for this account. Useful to bypass the GFW in China.
+# Set this if you wish to use a proxy for authentication but not for IMAP.
+# If not explicitly set, this option defaults to use the proxy socket
+# (so as to be compatible with prior config files).
+# If that is specifically NOT desired, use authproxy = ''
+#
+# To specify a proxy connection, join proxy type, host and port with colons.
+# Available proxy types are SOCKS5, SOCKS4, HTTP.
+# You also need to install PySocks through pip or your distro package manager.
+#
+#authproxy = SOCKS5:IP:9999
+
+
+[Repository o2-local]
+
+# Each repository requires a "type" declaration. The types supported for
+# local repositories are Maildir, GmailMaildir and IMAP.
+#
+type = Maildir
+
+
+# This option stands in the [Repository LocalExample] section.
+#
+# Specify local repository. Your IMAP folders will be synchronized
+# to maildirs created under this path. Offlineimap will create the
+# maildirs for you as needed.
+#
+localfolders = ~/.mail/o2
+
+
+[Repository freeos-local]
+
+type = Maildir
+
+localfolders = ~/.mail/freeos
+
+# This option stands in the [Repository LocalExample] section.
+#
+# You can specify the "folder separator character" used for your Maildir
+# folders. It is inserted in-between the components of the tree. If you
+# want your folders to be nested directories, set it to "/". 'sep' is
+# ignored for IMAP repositories, as it is queried automatically.
+# Otherwise, default value is ".".
+#
+# Don't use quotes.
+#
+#sep = .
+
+
+# This option stands in the [Repository LocalExample] section.
+#
+# startdate syncs mails starting from a given date. It applies the date
+# restriction to LocalExample only. The remote repository MUST be empty
+# at the first sync where this option is used.
+#
+# Unlike maxage, this is supported for IMAP-IMAP sync.
+#
+# startdate can't be used with maxage.
+#
+# The startdate option expects a date in the format yyyy-mm-dd.
+#
+#startdate = 2015-04-01
+
+
+# This option stands in the [Repository LocalExample] section.
+#
+# Propagate deletions from local to remote. Messages deleted in this repository
+# won't get deleted on remote if set to "no". Default is yes.
+#
+# See sync_deletes in the RemoteExample section, too.
+#
+#sync_deletes = yes
+
+
+# This option stands in the [Repository LocalExample] section.
+#
+# Some users may not want the atime (last access time) of folders to be
+# modified by Offlineimap. If 'restoreatime' is set to yes, Offlineimap
+# will restore the atime of the "new" and "cur" folders in each maildir
+# folder to their original value after each sync.
+#
+# In nearly all cases, the default should be fine.
+#
+#restoreatime = no
+
+
+# This option stands in the [Repository LocalExample] section.
+#
+# Set modification time of messages basing on the message's "Date" header. This
+# option makes sense for the Maildir type, only.
+#
+# This is useful if you are doing some processing/finding on your Maildir (for
+# example, finding messages older than 3 months), without parsing each
+# file/message content.
+#
+# This option is not compatible with -q (quick mode) CLI option for GmailMaildir
+# types.
+#
+# Default: no.
+#
+#utime_from_header = no
+
+
+# This option stands in the [Repository LocalExample] section.
+#
+# This option is similar to "utime_from_header" and could be use as a
+# complementary feature to keep track of a message date. This option only
+# makes sense for the Maildir type.
+#
+# By default each message is stored in a file which prefix is the fetch
+# timestamp and an order rank such as "1446590057_0". In a multithreading
+# environment message are fetched in a random order, then you can't trust
+# the file name to sort your boxes.
+#
+# If set to "yes" the file name prefix if build on the message "Date" header
+# (which should be present) or the "Received-date" if "Date" is not
+# found. If neither "Received-date" nor "Date" is found, the current system
+# date is used. Now you can quickly sort your messages using their file
+# names.
+#
+# Used in combination with "utime_from_header" all your message would be in
+# order with the correct mtime attribute.
+#
+#filename_use_mail_timestamp = no
+
+
+# This option stands in the [Repository LocalExample] section.
+#
+# Map IMAP [user-defined] keywords to lowercase letters, similar to Dovecot's
+# format described in http://wiki2.dovecot.org/MailboxFormat/Maildir . This
+# option makes sense for the Maildir type, only.
+#
+# Configuration example:
+# customflag_x = some_keyword
+#
+# With the configuration example above enabled, all IMAP messages that have
+# 'some_keyword' in their FLAGS field will have an 'x' in the flags part of the
+# maildir filename:
+# 1234567890.M20046P2137.mailserver,S=4542,W=4642:2,Sx
+#
+# Valid fields are customflag_[a-z], valid values are whatever the IMAP server
+# allows.
+#
+# Comparison in Offlineimap is case-sensitive.
+#
+#customflag_a = some_keyword
+#customflag_b = $OtherKeyword
+#customflag_c = NonJunk
+#customflag_d = ToDo
+
+#[Repository GmailLocalExample]
+
+# This type of repository enables syncing of Gmail. All Maildir
+# configuration settings are also valid here but the utime_from_header.
+#
+# This is a separate Repository type from Maildir because it involves
+# some extra overhead which sometimes may be significant. We look for
+# modified tags in local messages by looking only to the files
+# modified since last run. This is usually rather fast, but the first
+# time Offlineimap runs with synclabels enabled, it will have to check
+# the contents of all individual messages for labels and this may take
+# a while.
+#
+#type = GmailMaildir
+
+
+[Repository o2-remote]
+
+# The remote repository. We only support IMAP or Gmail here.
+#
+type = IMAP
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Configure which address family to use for the connection. If not specified,
+# AF_UNSPEC is used as a fallback (default).
+#
+# AF_INET6:
+#ipv6 = True
+#
+# AF_INET:
+#ipv6 = False
+
+
+# These options stands in the [Repository RemoteExample] section.
+#
+# The following can fetch the account credentials via a python expression that
+# is parsed from the pythonfile parameter. For example, a function called
+# "getcredentials" that parses a file "filename" and returns the account
+# details for "hostname".
+#
+#
+#remotehosteval = getcredentials("filename", "hostname", "hostname")
+#
+# The returned value must be int type.
+#remoteporteval = getcredentials("filename", "hostname", "port")
+#
+# The returned value must be unicode type.
+#remoteusereval = getcredentials("filename", "hostname", "user")
+#
+# The returned value must be unicode type.
+#remotepasseval = getcredentials("filename", "hostname", "passwd")
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Specify the remote hostname.
+#
+remotehost = poczta.o2.pl
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Whether or not to use STARTTLS. STARTTLS allows to upgrade a plain connection
+# to TLS or SSL after negotiation with the server. While a server might pretend
+# to support STARTTLS, the communication might not be properly established or
+# the secure tunnel might be broken in some way. In this case you might want to
+# disable STARTTLS. Unless you hit issues with STARTTLS, you are strongly
+# encouraged to keep STARTTLS enabled.
+#
+# STARTTLS can be used even if the 'ssl' option is disabled. If you want to
+# _force_ STARTTLS, you might need to disable 'ssl'.
+#
+# Default is yes.
+#
+#starttls = yes
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Whether or not to use SSL.
+#
+# Note: be care to configure the 'remotehost' line with the domain name defined
+# in the certificate. E.g., if you trust your provider and want to use the
+# certificate it provides on a shared server. Otherwise, Offlineimap will stop
+# and say that the domain is not named in the certificate.
+#
+# Default is yes.
+#
+#ssl = yes
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# SSL Client certificate (optional).
+#
+# Tilde and environment variable expansions will be performed.
+#
+#sslclientcert = /path/to/file.crt
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# SSL Client key (optional).
+#
+# Tilde and environment variable expansions will be performed.
+#
+#sslclientkey = /path/to/file.key
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# SSL CA Cert(s) to verify the server cert against (optional).
+# No SSL verification is done without this option. If it is
+# specified, the CA Cert(s) need to verify the Server cert AND
+# match the hostname (* wildcard allowed on the left hand side)
+# The certificate should be in PEM format.
+#
+# Tilde and environment variable expansions will be performed.
+#
+# Special value OS-DEFAULT makes Offlineimap to automatically
+# determine system-wide location of standard trusted CA roots file
+# for known OS distributions and use the first bundle encountered
+# (if any). If no system-wide CA bundle is found, Offlineimap
+# will refuse to continue; this is done to prevent creation
+# of false security expectations ("I had configured CA bundle,
+# thou certificate verification shalt be present").
+#
+# You can also use fingerprint verification via cert_fingerprint.
+# See below for more verbose explanation.
+#
+sslcacertfile = /etc/ssl/certs/ca-certificates.crt
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# If you connect via SSL/TLS (ssl = yes) and you have no CA certificate
+# specified, Offlineimap will refuse to sync as it connects to a server
+# with an unknown "fingerprint". If you are sure you connect to the
+# correct server, you can then configure the presented server
+# fingerprint here. Offlineimap will verify that the server fingerprint
+# has not changed on each connect and refuse to connect otherwise.
+#
+# You can also configure fingerprint validation in addition to
+# CA certificate validation above and it will check both:
+# Offlineimap fill verify certificate first and if things will be fine,
+# fingerprint will be validated.
+#
+# Multiple fingerprints can be specified, separated by commas.
+#
+# In Windows, Microsoft uses the term "thumbprint" instead of "fingerprint".
+#
+# Fingerprints must be in hexadecimal form without leading '0x':
+# 40 hex digits like bbfe29cf97acb204591edbafe0aa8c8f914287c9.
+#
+#cert_fingerprint = <SHA1_of_server_certificate_here>[, <another_SHA1>]
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Set SSL version to use (optional).
+#
+# It is best to leave this unset, in which case the correct version will be
+# automatically detected. In rare cases, it may be necessary to specify a
+# particular version from: tls1, tls1_1, tls1_2, ssl3, ssl23.
+#
+# tls1_1 and tls1_2 are available with OpenSSL since v1.0.1.
+#
+# ssl23 automatically selects the highest protocol version that both the client
+# and server support. Despite the name, this option can select “TLS” protocols
+# as well as “SSL”.
+#
+# Be aware that a MITM attack can consist in downgrading the protocol version
+# which is used upon client/server agreement. So, they might fallback to the
+# less secure available protocol. Hence, it is considered more safe to manually
+# define the protocol version.
+#
+# See the configuration option tls_level to disable insecure protocols.
+#
+#ssl_version = ssl23
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# TLS support level (optional).
+#
+# Specify the level of support that should be allowed for this repository.
+# Can be used to enable insecure SSL versions as defined by imaplib2.
+# See, IETF https://tools.ietf.org/html/rfc6176 to know more.
+#
+# Supported values are:
+# tls_secure, tls_no_ssl, tls_compat (default).
+#
+# Current mapping:
+# - tls_secure:
+# - tls1_1
+# - tls1_2
+# - tls_no_ssl:
+# - all tls_secure
+# - tls1 (less desirable than tls1_1 or higher)
+# - tls_compat
+# - all tls_no_ssl
+# - ssl3 (less desirable than tls1)
+# - ssl23 (can fallback up to ssl3)
+#
+# When tls_level is not set to tls_compat, the ssl_version configuration option
+# must be explicitly set.
+#
+#tls_level = tls_compat
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Specify the port. If not specified, use a default port.
+#
+#remoteport = 993
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Specify the remote user name.
+#
+remoteusereval = get_username( 'https://poczta.o2.pl' )
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Specify the user to be authorized as. Sometimes we want to
+# authenticate with our login/password, but tell the server that we
+# really want to be treated as some other user; perhaps server will
+# allow us to do that (or maybe not). Some IMAP servers migrate
+# account names using this functionality: your credentials remain
+# intact, but remote identity changes.
+#
+# Currently this variable is used only for SASL PLAIN authentication
+# mechanism, so consider using auth_mechanisms to prioritize PLAIN
+# or even make it the only mechanism to be tried.
+#
+#remote_identity = authzuser
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Specify which authentication/authorization mechanisms we should try and the
+# order in which Offlineimap will try them.
+#
+# NOTE: any given mechanism will be tried ONLY if it is supported by the remote
+# IMAP server.
+#
+# Default value is ranged is from strongest to more weak ones. Due to technical
+# limitations, if GSSAPI is set, it will be tried first, no matter where it was
+# specified in the list.
+#
+#auth_mechanisms = GSSAPI, XOAUTH2, CRAM-MD5, PLAIN, LOGIN
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# XOAUTH2 authentication (for instance, to use with Gmail).
+#
+# This option was tested on Gmail only, but should work with type = IMAP for
+# compatible servers.
+#
+# For Gmail (and maybe others), XOAUTH2 requires ssl. This means that STARTTLS
+# won't work and that Offlineimap will perform certificate validation. IOW, the
+# following configuration is used:
+# - sslcacertfile: MUST BE correclty configured
+# - ssl = yes (optional, will be used anyway)
+# - starttls = no (optional, will be tried but won't work anyway)
+#
+# Mandatory parameters are "oauth2_client_id", "oauth2_client_secret" and
+# either "oauth2_refresh_token" or "oauth2_access_token". XOAUTH2 mechanism
+# won't be tried if both oauth2_refresh_token and oauth2_access_token are not
+# set.
+#
+# See below to learn how to get those.
+#
+# Specify the OAuth2 client id and secret to use for the connection..
+# Here's how to register an OAuth2 client for Gmail, as of 2017-05-15:
+# - Go to the Gmail API overview console
+# https://console.developers.google.com/apis/api/gmail.googleapis.com/overview
+# - Create a new project, name doesn't matter, e.g. 'gmail-sync-bob'
+# - In API & Auth, select Credentials
+# - Once created, click 'Enable'
+# - Click 'Create credentials' in the enabled API overview
+
+# - In 'Add credentials to your project' select 'Gmail API' as the
+# API type, and 'Other UI ...' (not 'Other non-UI ...') for
+# 'Where will you be calling the API from?'. For 'What data will
+# you be accessing?' select 'User data'.
+# - Click 'What credentials do I need?'
+# - Create an arbitrary 'Create an OAuth 2.0 client ID',
+# e.g. 'gmail-sync-bob-client'. For 'Set up the OAuth 2.0 consent
+# screen' select an arbitrary 'Product name shown to users',
+# e.g. 'gmail-sync-bob-client' & click 'Continue'.
+# - This gives you your client ID displayed on the screen. Click
+# 'Download' to get a JSON file that also has the client secret.
+#
+#oauth2_client_id = YOUR_CLIENT_ID
+#oauth2_client_secret = YOUR_CLIENT_SECRET
+#
+# The return values must be bytes.
+#oauth2_client_id_eval = get_client_id("accountname")
+#oauth2_client_secret_eval = get_client_secret("accountname")
+#
+# Specify the refresh token to use for the connection to the mail server.
+# Here's an example of a way to get a refresh token:
+# - Clone this project: https://github.com/google/gmail-oauth2-tools
+# - Type the following command-line in a terminal and follow the instructions
+# python python/oauth2.py --generate_oauth2_token \
+# --client_id=YOUR_CLIENT_ID --client_secret=YOUR_CLIENT_SECRET
+# - Access token can be obtained using refresh token with command
+# python python/oauth2.py --user=YOUR_EMAIL --client_id=YOUR_CLIENT_ID
+# --client_secret=YOUR_CLIENT_SECRET --refresh_token=REFRESH_TOKEN
+#
+# Access tokens have limited lifetimes. If you need access beyond the lifetime
+# of a single access token, you should use a refresh token. A refresh token
+# allows Offlineimap to obtain new access tokens.
+#
+# If you want to use a refresh token, make sure you disabled/removed any
+# oauth2_access_token option. The access token is downloaded from the URL
+# defined in the oauth2_request_url configuration option.
+#
+# If the type of the remote is IMAP, oauth2_request_url MUST be defined.
+# For Gmail, the default URL is https://accounts.google.com/o/oauth2/token.
+#
+# If you're experiencing issues, please read the "Known issues" section of the
+# manual.
+#
+#oauth2_access_token = ACCESS_TOKEN
+#oauth2_request_url = https://accounts.google.com/o/oauth2/token
+#oauth2_refresh_token = REFRESH_TOKEN
+#
+# The returned values must be bytes.
+#oauth2_access_token_eval = get_access_token("accountname")
+#oauth2_refresh_token_eval = get_refresh_token("accountname")
+
+########## Passwords
+
+# There are six ways to specify the password for the IMAP server:
+#
+# 1. No password at all specified in the config file.
+# If a matching entry is found in ~/.netrc (see netrc (5) for
+# information) this password will be used. Do note that netrc only
+# allows one entry per hostname. If there is no ~/.netrc file but
+# there is an /etc/netrc file, the password will instead be taken
+# from there. Otherwise you will be prompted for the password when
+# Offlineimap starts when using a UI that supports this.
+#
+# 2. The remote password stored in this file with the remotepass
+# option. Save this file with the UTF-8 encoding if your server expect UTF-8
+# encoded password.
+#
+# Any '%' needs to be encoded as '%%'. Example:
+#remotepass = myp%%ssword # Real password is myp%ssword
+#
+# 3. The remote password stored as a single line in an external file, which is
+# referenced by the remotefile option. Must be UTF-8 encoded. Example:
+#remotepassfile = ~/Password.IMAP.Account1
+#
+# 4. With a preauth tunnel. With this method, you invoke an external
+# program that is guaranteed *NOT* to ask for a password, but rather
+# to read from stdin and write to stdout an IMAP procotol stream that
+# begins life in the PREAUTH state. When you use a tunnel, you do
+# NOT specify a user or password (if you do, they'll be ignored.)
+# Instead, you specify a preauthtunnel, as this example illustrates
+# for Courier IMAP on Debian:
+#preauthtunnel = ssh -q imaphost '/usr/bin/imapd ./Maildir'
+#
+# 5. If you are using Kerberos and have the Python Kerberos package
+# installed, you should not specify a remotepass. If the user has a
+# valid Kerberos TGT, Offlineimap will figure out the rest all by
+# itself, and fall back to password authentication if needed.
+#
+# 6. Using arbitrary python code. With this method, you invoke a
+# function from your pythonfile. To use this method assign the name
+# of the function to the variable 'remotepasseval'. Example:
+#remotepasseval = get_password("imap.example.net")
+# You can also query for the username:
+#remoteusereval = get_username("imap.example.net")
+# This method can be used to design more elaborate setups, e.g. by
+# querying the gnome-keyring via its python bindings.
+remotepasseval = get_password( 'https://poczta.o2.pl' )
+
+
+########## Advanced settings
+
+
+# These options stands in the [Repository RemoteExample] section.
+#
+# Tunnels. There are two types:
+#
+# - preauth: they teleport your connection to the remote system
+# and you don't need to authenticate yourself there; the sole
+# fact that you succeeded to get the tunnel running is enough.
+# This tunnel type was explained above in the 'Passwords' section.
+#
+# - transport: the just provide the transport (probably encrypted)
+# to the IMAP server, but you still need to authenticate at the
+# IMAP server.
+#
+# Tunnels are currently working only with IMAP servers and their
+# derivatives (GMail currently). Additionally, for GMail accounts
+# preauth tunnel settings are ignored: we don't believe that there
+# are ways to preauthenticate at Google mail system IMAP servers.
+#
+# You must choose at most one tunnel type, be wise M'Lord!
+#
+#preauthtunnel = ssh -q imaphost '/usr/bin/imapd ./Maildir'
+#transporttunnel = openssl s_client -host myimap -port 993 -quiet
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Some IMAP servers need a "reference" which often refers to the "folder root".
+#
+# This is most commonly needed with UW IMAP, where you might need to specify the
+# directory in which your mail is stored. The 'reference' value will be prefixed
+# to all folder paths refering to that repository. E.g. accessing folder 'INBOX'
+# with "reference = Mail" will try to access Mail/INBOX.
+#
+# The nametrans and folderfilter functions will apply to the full path,
+# including the reference prefix. Most users will not need this.
+#
+#reference = Mail
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# IMAP defines an encoding for non-ASCII ("international") characters. Enable
+# this option if you want to decode them to the nowadays ubiquitous UTF-8.
+#
+# Note that the IMAP 4rev1 specification (RFC 3501) allows both UTF-8 and
+# modified UTF-7 folder names.
+#
+# WARNING: with this option enabled:
+# - compatibility with any other version is NOT GUARANTED (including newer);
+# - no support is provided.
+#
+# This feature was merged because it's small changes in the code. However, this
+# might seriously decrease the stability of the program. That's why it will
+# likely never be marked stable. The approach is: if it works for you, you're
+# lucky and you might choose to go for it. If it doesn't, sorry but this feature
+# is known to not work in many cases and it's not available to you. Enabling
+# this feature might really be a poor choice for the future since it's not
+# supported at all and new releases might break the setup.
+#
+#decodefoldernames = no
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# In between synchronisations, Offlineimap can monitor mailboxes for new
+# messages using the IDLE command. If you want to enable this, specify here the
+# folders you wish to monitor. IMAP protocol requires a separate connection for
+# each folder monitored in this way, so setting this option will force settings
+# for:
+#
+# - maxconnections: to be at least the number of folders you give
+# - holdconnectionopen: to be true
+# - keepalive: to be 29 minutes unless you specify otherwise
+# - singlethreadperfolder: to be true
+#
+# The presynchook and postsynchook are executed for each new synchronisation per
+# folder.
+#
+# This feature isn't complete and may well have problems. See the "Known Issues"
+# entry in the manual for more details.
+#
+# This option should return a Python list. For example
+#
+#idlefolders = ['INBOX', 'INBOX.Alerts']
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Offlineimap can use a compressed connection to the IMAP server.
+# This can result in faster downloads for some cases.
+#
+#usecompression = yes
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Offlineimap can use multiple connections to the server in order
+# to perform multiple synchronization actions simultaneously.
+# This may place a higher burden on the server. In most cases,
+# setting this value to 2 or 3 will speed up the sync, but in some
+# cases, it may slow things down. The safe answer is 1. You should
+# probably never set it to a value more than 5.
+#
+#maxconnections = 2
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# If you want to ensure that only one single thread is used to synchronize each
+# folder, set this to 'yes'. If this is set, only one thread will be used to
+# copy messages for each folder, but up to maxconnections threads will be used
+# overall, copying different folders in parallel. This option is required to
+# download in UIDs order.
+#
+# If this is unset (the default), then up to maxconnections threads are used
+# across all currently syncing folders. This option is sightly recommended in
+# IMAP/IMAP mode (no maildir).
+#
+#singlethreadperfolder = no
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Offlineimap normally closes IMAP server connections between refreshes if
+# the global option autorefresh is specified. If you wish it to keep the
+# connection open, set this to true. If not specified, the default is
+# false. Keeping the connection open means a faster sync start the
+# next time and may use fewer server resources on connection, but uses
+# more server memory. This setting has no effect if autorefresh is not set.
+#
+#holdconnectionopen = no
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# If you want to have "keepalives" sent while waiting between syncs, specify the
+# amount of time IN SECONDS between keepalives here. Note that sometimes more
+# than this amount of time might pass, so don't make it tight. This setting has
+# no effect if autorefresh and holdconnectionopen are not both set.
+#
+#keepalive = 60
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Normally, Offlineimap will expunge deleted messages from the server. You can
+# disable that if you wish. This means that Offlineimap will mark them deleted
+# on the server, but not actually delete them. You must use some other IMAP
+# client to delete them if you use this setting; otherwise, the messages will
+# just pile up there forever. Therefore, this setting is definitely NOT
+# recommended for a long term.
+#
+# Default is yes.
+#
+#expunge = no
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Specify whether to process all mail folders on the server, or only
+# those listed as "subscribed".
+#
+# Default is no.
+#
+#subscribedonly = no
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# You can specify a folder translator. This must be a eval-able.
+#
+# Python expression that takes a foldername arg and returns the new value. A
+# lambda function is suggested.
+#
+# WARNING: you MUST construct it so that it NEVER returns the same value for two
+# folders, UNLESS the second values are filtered out by folderfilter below.
+# Failure to follow this rule will result in undefined behavior.
+#
+# If you enable nametrans, you will likely need to set the reversed nametrans on
+# the other side. See the user documentation for details and use cases. They
+# are also online at: http://www.offlineimap.org/doc/nametrans.html
+#
+# This example below will remove "INBOX." from the leading edge of folders
+# (great for Courier IMAP users).
+#
+#nametrans = lambda foldername: re.sub('^INBOX\.', '', foldername)
+#
+# Using Courier remotely and want to duplicate its mailbox naming locally? Try
+# this:
+#
+#nametrans = lambda foldername: re.sub('^INBOX\.*', '.', foldername)
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Determines if folderfilter will be invoked on each run (dynamic folder
+# filtering) or filtering status will be determined at startup (default
+# behaviour).
+#
+#dynamic_folderfilter = False
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# You can specify which folders to sync using the folderfilter setting. You can
+# provide any python function (e.g. a lambda function) which will be invoked for
+# each foldername. If the filter function returns True, the folder will be
+# synced, if it returns False, it.
+#
+# The folderfilter operates on the *UNTRANSLATED* name (before any nametrans
+# translation takes place).
+#
+# Example 1: synchronizing only INBOX and Sent.
+#
+#folderfilter = lambda foldername: foldername in ['INBOX', 'Sent']
+#
+# Example 2: synchronizing everything except Trash.
+#
+#folderfilter = lambda foldername: foldername not in ['Trash']
+#
+# Example 3: Using a regular expression to exclude Trash and all folders
+# containing the characters "Del".
+#
+#folderfilter = lambda foldername: not re.search('(^Trash$|Del)', foldername)
+#
+# If folderfilter is not specified, ALL remote folders will be synchronized.
+#
+# You can span multiple lines by indenting the others. (Use backslashes at the
+# end when required by Python syntax) For instance:
+#
+#folderfilter = lambda foldername: foldername in [
+# 'INBOX', 'Sent Mail',
+# 'Deleted Items', 'Received']
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# You can specify folderincludes to include additional folders. It should
+# return a Python list. This might be used to include a folder that was
+# excluded by your folderfilter rule, to include a folder that your server does
+# not specify with its LIST option, or to include a folder that is outside your
+# basic reference.
+#
+# The 'reference' value will not be prefixed to this folder name, even if you
+# have specified one. For example:
+#
+#folderincludes = ['debian.user', 'debian.personal']
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# If you do not want to have any folders created on this repository,
+# set the createfolders variable to False, the default is True. Using
+# this feature you can e.g. disable the propagation of new folders to
+# the new repository.
+#
+#createfolders = True
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Propagate deletions from remote to local. Messages deleted in this repository
+# won't get deleted on the local repository if set to "no". Default is yes.
+#
+# See sync_deletes in the LocalExample section, too.
+#
+#sync_deletes = yes
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# 'foldersort' determines how folders are sorted.
+#
+# This affects order of synchronization and mbnames. The expression should
+# return -1, 0, or 1, as the default Python cmp() does. The two arguments, x
+# and y, are strings representing the names of the folders to be sorted. The
+# sorting is applied *AFTER* nametrans, if any. The default is to sort IMAP
+# folders alphabetically (case-insensitive). Usually, you should never have to
+# modify this. To eg. reverse the sort:
+#
+#foldersort = lambda x, y: -cmp(x, y)
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# Enable 1-way synchronization. When setting 'readonly' to True, this
+# repository will not be modified during synchronization. Usefull to
+# e.g. backup an IMAP server. The readonly setting can be applied to any
+# type of Repository (Maildir, Imap, etc).
+#
+# Notice that this does NOT mean that the local Maildir can be used with a
+# read-only filesystem When OfflineImap uploads a new email, it is assigned a
+# new UID by the remote which is stored in the filename. Otherwise, Offlineimap
+# would have no way to map the UID to the file.
+#
+#readonly = False
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# You can specify a newmail hook to execute an external command upon receipt
+# of new mail in the INBOX.
+#
+# The pythonfile must be set to import any required library.
+#
+# This example plays a sound file of your chosing when new mail arrives.
+#
+#newmail_hook = lambda: os.system(
+#"cvlc --play-and-stop --play-and-exit /path/to/sound/file.mp3 > /dev/null 2>&1")
+
+
+# This option stands in the [Repository RemoteExample] section. [TESTING]
+#
+# Operating under extreme network conditions (China) network connectivity
+# especially for SSL can be so bad and so slow that absolutely every possible
+# kind of connectivity error that can occur does occur.
+#
+# Rather than have offlineimap exit on errors it may be preferable to have it
+# simply retry fetching of messages dozens of times. The alternative is to
+# restart offlineimap in a constant loop, which may involve using significant
+# CPU cycles (if the repository is large) to load up the UID database again.
+#
+# This option is best utilised in combination with socktimeout, which catches
+# instances of interference by e.g. the GFW at the TCP layer, as well as China
+# ISPs simply not coping.
+#
+# Default value: retrycount = 2
+#
+#retrycount = 2
+
+
+# This option stands in the [Repository RemoteExample] section.
+#
+# If offlineiamp is having troubles to download some UIDS, it's possible to get
+# them ignored in a list. This only ignore the download.
+#
+# The function must return the list of UIDs (integers), None otherwise. It is
+# passed the folder name (using the remote name with the remote separator,
+# likely '/').
+#
+#copy_ignore_eval = lambda foldername: {'INBOX': [2, 3, 4]}.get(foldername)
+
+
+#[Repository GmailExample]
+
+# A repository using Gmail's IMAP interface.
+#
+# Any configuration parameter of "IMAP" type repositories can be used here.
+# Only "remoteuser" (or "remoteusereval" ) is mandatory. Default values for
+# other parameters are OK, and you should not need fiddle with those.
+#
+# The Gmail repository provides default values for "remotehost",
+# "remoteport", "tunnel" and "ssl". For the defaults we use, see:
+#
+# http://mail.google.com/support/bin/answer.py?answer=78799&topic=12814
+#
+# This means ssl is enabled and must be configured correcly when connecting to
+# Gmail.
+#
+# In addition we provide defaults for "oauth2_request_url",
+# "trashfolder" and "spamfolder".
+#
+# All of the defaults we provide can be overriden. E.g. you can
+# override "remotehost"/"remoteport"/"ssl" if you'd like to connect to
+# imap.gmail.com via a local stunnel instead of directly.
+#
+# To enable GMail labels synchronisation, set the option "synclabels" in the
+# corresponding "Account" section.
+#
+# Side note: Gmail will keep the deleted emails in "Gmail\All Mail" unless you
+# defined it differently in your online settings.
+#
+#type = Gmail
+
+
+# This option stands in the [Repository GmailExample] section.
+#
+# Specify the Gmail user name. This is the only mandatory parameter.
+#
+#remoteuser = username@gmail.com
+
+
+# This option stands in the [Repository GmailExample] section.
+#
+# The trash folder name may be different from [Gmail]/Trash due to localization.
+# You should look for the localized names of the spam folder too: "spamfolder"
+# tunable will help you to override the standard name.
+#
+# For example on German Gmail, this setting should be:
+#
+#trashfolder = [Gmail]/Papierkorb
+
+[Repository freeos-remote]
+
+type = IMAP
+
+remotehost = free.os.pl
+
+sslcacertfile = /etc/ssl/certs/ca-certificates.crt
+
+remoteusereval = get_username( 'https://free.os.pl' )
+
+remotepasseval = get_password( 'https://free.os.pl' )
+\ No newline at end of file
diff --git a/.xbindkeysrc b/.xbindkeysrc
@@ -0,0 +1,13 @@
+# Bind multimedia keys
+"cmus-remote -u"
+ XF86AudioPlay
+"cmus-remote -s"
+ XF86AudioStop
+"cmus-remote -n"
+ XF86AudioNext
+"cmus-remote -r"
+ XF86AudioPrev
+"xtrlock"
+ mod4 + b
+"xdotool key Caps_Lock"
+ control + mod4 + l
+\ No newline at end of file
diff --git a/.xinitrc b/.xinitrc
@@ -0,0 +1,6 @@
+[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
+xbindkeys
+urxvtd -q -o -f
+[[ -f ~/.fehbg ]] && ~/.fehbg
+xinput set-prop 10 144 1.850000, 0.000000, 0.000000, 0.000000, 1.850000, 0.000000, 0.000000, 0.000000, 1.000000
+exec i3