dotfiles

:)
git clone https://git.sr.ht/~ashymad/dotfiles
Log | Files | Refs | Submodules | LICENSE

commit f57f9f533b2a4c0e544fce1255c98c20869a4734
parent ade98554bf2fc198f8cfdd5a2f7c28a37bb5ee8c
Author: Ashymad <czilukim@o2.pl>
Date:   Sun, 24 Sep 2017 11:11:41 +0200

Initial commit

Diffstat:
A.Xresources | 33+++++++++++++++++++++++++++++++++
A.cmus/rc | 3+++
A.config/astroid/config | 123+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/astroid/poll.sh | 34++++++++++++++++++++++++++++++++++
A.config/fish/config.fish | 3+++
A.config/mpv/mpv.conf | 24++++++++++++++++++++++++
A.config/polybar/cmus.sh | 15+++++++++++++++
A.config/polybar/config | 383+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/polybar/launch.sh | 4++++
A.config/whipper/whipper.conf | 13+++++++++++++
A.i3/brightness.sh | 7+++++++
A.i3/config | 210+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.notmuch-config | 99+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.offlineimap.py | 9+++++++++
A.offlineimaprc | 1383+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.xbindkeysrc | 14++++++++++++++
A.xinitrc | 6++++++
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