Compare commits
258 Commits
Author | SHA1 | Date |
---|---|---|
Gwendolin Kummer | 7ddcea3f81 | |
Gwendolin Kummer | d93f9107eb | |
Gwendolin Kummer | 785ae9c0d8 | |
Gwendolin Kummer | 581b4fc680 | |
Gwendolin Kummer | 86a8e049ef | |
Gwendolin Kummer | 485c6a7476 | |
Gwendolin Kummer | 1a6b9f8b24 | |
Gwendolin Kummer | 143ca8315b | |
Gwendolin Kummer | 6355afae5e | |
Gwendolin Kummer | bb819f54b0 | |
Gwendolin Kummer | 34aae9f5a8 | |
Gwendolin Kummer | d63cc436d3 | |
Gwendolin Kummer | 6c9857587c | |
Gwendolin Kummer | 164de639ec | |
Gwendolin Kummer | ff62911166 | |
Gwendolin Kummer | db9be836ed | |
Gwendolin Kummer | 2c4fa476d7 | |
Gwendolin Kummer | cc85c51b4d | |
Gwendolin Kummer | 5007e53436 | |
Gwendolin Kummer | 52c1f6d00d | |
Gwendolin Kummer | 1fb63ca1f3 | |
Gwendolin Kummer | cd1e03fa9e | |
Gwendolin Kummer | 5094a918bd | |
Gwendolin Kummer | 8032520d86 | |
Gwendolin Kummer | 0aaa282b5e | |
Gwendolin Kummer | cf97e7da74 | |
Gwendolin Kummer | 4f66779833 | |
Gwendolin Kummer | 18b3ab4c17 | |
Gwendolin Kummer | 1b1342f5fe | |
Gwendolin Kummer | 4dc9ba4d0f | |
Gwendolin Kummer | 52ef469fc5 | |
Gwendolin Kummer | b0a11a09fb | |
Gwendolin Kummer | 24e7f76edc | |
Gwendolin Kummer | b48e71c49e | |
Gwendolin Kummer | e0ca0a5d13 | |
Gwendolin Kummer | 6bc74414e1 | |
Gwendolin Kummer | f264ac8c35 | |
Gwendolin Kummer | bb4f51f608 | |
Gwendolin Kummer | d1cc3d0d03 | |
Gwendolin Kummer | 137016b17e | |
Gwendolin Kummer | a2bbebbe23 | |
Gwendolin Kummer | db643dc38d | |
Gwendolin Kummer | 8480cec794 | |
Gwendolin Kummer | d963d19df2 | |
Gwendolin Kummer | c3a749c60b | |
Gwendolin Kummer | 5867d147de | |
Gwendolin Kummer | 295e169340 | |
Gwendolin Kummer | 08a3ba9780 | |
Gwendolin Kummer | f82eab7881 | |
Gwendolin Kummer | 4034f633d4 | |
Gwendolin Kummer | f74f39d946 | |
Gwendolin Kummer | 69acd2eb6e | |
Gwendolin Kummer | 0e12db0344 | |
Gwendolin Kummer | 6698671d02 | |
Gwendolin Kummer | f98da75d5a | |
Gwendolin Kummer | bda923293e | |
Gwendolin Kummer | 20606a9e61 | |
Gwendolin Kummer | 309220c568 | |
Gwendolin Kummer | 5461c51ee5 | |
Gwendolin Kummer | be47ee20e7 | |
Jean-Claude | 2844a49c09 | |
Jean-Claude | a5fafc0d72 | |
Jean-Claude | 6375f76b19 | |
Jean-Claude | 79e118325c | |
Jean-Claude | 9dc0201957 | |
Jean-Claude | 2d05009f09 | |
Jean-Claude | 298cb740a8 | |
Jean-Claude | f96eb37bf1 | |
Jean-Claude | 2db5aebe47 | |
Jean-Claude | 0f450f6007 | |
Jean-Claude | 09aa47a388 | |
Jean-Claude | 4554d2c303 | |
Jean-Claude | 8b25cc2773 | |
Jean-Claude | 6097d2312c | |
Jean-Claude | 5386f0d2b4 | |
Jean-Claude | a3cdd48b95 | |
Jean-Claude | e47a6fd65b | |
Jean-Claude | 91fe7196d3 | |
Jean-Claude | 77dd465988 | |
Jean-Claude | 419cae234b | |
Jean-Claude | 496a207ec3 | |
Jean-Claude | 611cfad96c | |
Jean-Claude | a159230b79 | |
Jean-Claude | c1d95041f1 | |
Jean-Claude | 64b41d61b6 | |
Jean-Claude | ce699898a9 | |
Jean-Claude | 4dc8ec3140 | |
Jean-Claude | e8d6eb7870 | |
Jean-Claude | 7d5c5a68f9 | |
Jean-Claude | b0e196bae3 | |
Jean-Claude | b3d7dc597f | |
Jean-Claude | c3b4974f9c | |
Jean-Claude | 9c169e773c | |
Jean-Claude | a22026b61c | |
Jean-Claude | 997b20f196 | |
Jean-Claude | bd91b8409d | |
Jean-Claude | 5ba3e8c715 | |
Jean-Claude | 06837385ac | |
Jean-Claude | 97470ee866 | |
Jean-Claude | 453134f594 | |
Jean-Claude | b764f19e69 | |
Jean-Claude | fd15e38f48 | |
Jean-Claude | 6bdaf4f4fc | |
Jean-Claude | 645630cc86 | |
Jean-Claude | c93d5bbf45 | |
Jean-Claude | 5203babf36 | |
Jean-Claude | 447c9e98c3 | |
Jean-Claude | 1e20ebc806 | |
Jean-Claude | d7706e9ad0 | |
Jean-Claude | 39babc1384 | |
Jean-Claude | 42fa0b878e | |
Jean-Claude | 5d07fcf7aa | |
Jean-Claude | 05ab904b98 | |
Jean-Claude | 742bbaf658 | |
Jean-Claude | abe650f396 | |
Jean-Claude | f8e1e4737e | |
Jean-Claude | 8eef3155c3 | |
Jean-Claude | b7a8bf35fb | |
Jean-Claude | 00faa1cb21 | |
Jean-Claude | 77dc570fbc | |
Jean-Claude | a138790976 | |
Jean-Claude | 0a7387bd87 | |
Jean-Claude | 19569f2722 | |
Jean-Claude | 5dd07fd122 | |
Jean-Claude | 4791602677 | |
Jean-Claude | 2edc580ff3 | |
Jean-Claude | 195956c536 | |
Jean-Claude | a7d5c0c632 | |
Jean-Claude | 9891f2bb62 | |
Jean-Claude | e41f790ac7 | |
Jean-Claude | 1e565e4b81 | |
Jean-Claude | 2c6d0b505f | |
Jean-Claude | c289a4b246 | |
Jean-Claude | a72d7035cb | |
Jean-Claude | dea03d1a73 | |
Jean-Claude | 3ffdef6768 | |
Jean-Claude | 60c792f483 | |
Jean-Claude | 498545f095 | |
Jean-Claude | 65f629f83c | |
Jean-Claude | 232ca805ab | |
Jean-Claude | 6ef9e37395 | |
Jean-Claude | a686bee359 | |
Jean-Claude | 61ecc21d2b | |
Jean-Claude | dd4be23fc4 | |
Jean-Claude | 89dbd95ea1 | |
Jean-Claude | 3ee03d4635 | |
Jean-Claude | 6570c6984f | |
Jean-Claude | 2e5e023efe | |
Jean-Claude | fbd49bd147 | |
Jean-Claude | 80f3583ea6 | |
Jean-Claude | 2b2e1bea75 | |
Jean-Claude | 26bae8b3df | |
Jean-Claude | f9a60a136d | |
Jean-Claude | cb0f5835b4 | |
Jean-Claude | f9da320d50 | |
Jean-Claude | 8dbf78ce37 | |
Jean-Claude | 4ee3aa6ccd | |
Jean-Claude | 7fb23f2353 | |
Jean-Claude | 6d20e14288 | |
Jean-Claude | e4c61b5d25 | |
Jean-Claude | 10400571a3 | |
Jean-Claude | 7fd986ea54 | |
Jean-Claude | 8deab64833 | |
Jean-Claude | 3ba76c7c45 | |
Jean-Claude | 13f53f36a3 | |
Jean-Claude | a645b92950 | |
Jean-Claude | eb922286b0 | |
Jean-Claude | 65c7a8508b | |
Jean-Claude | 1444b83bb9 | |
Jean-Claude | 5b7bf54c00 | |
Jean-Claude | 96176c45a6 | |
Jean-Claude | ffd2e60ed1 | |
Jean-Claude | fba1b63243 | |
Jean-Claude | 8da2d25cb5 | |
Jean-Claude | cb249d85eb | |
Jean-Claude | e5179e4d9e | |
Jean-Claude | 23c65e9b93 | |
Jean-Claude | b968c0d941 | |
Jean-Claude | 57909d0aee | |
Jean-Claude | 95da10f3e8 | |
Jean-Claude | 16b7df5075 | |
Jean-Claude | c5726bb327 | |
Jean-Claude | 11153fe40f | |
Jean-Claude | 237ce71e48 | |
Jean-Claude | ae4fe5b8ed | |
Jean-Claude | b211a95a78 | |
Jean-Claude | 7cd278d7b7 | |
Jean-Claude | 8262fa7571 | |
Jean-Claude | 12abbdafd3 | |
Jean-Claude | 29c65a1b87 | |
Jean-Claude | fee87ce2ac | |
Jean-Claude | dd88030132 | |
Jean-Claude | 55ae991c9c | |
Jean-Claude | 6ca2646013 | |
Jean-Claude | 1d23a33501 | |
Jean-Claude | 768ccd2541 | |
Jean-Claude | eb2a129363 | |
Jean-Claude | bbbde7b1e5 | |
Jean-Claude | 288b2652db | |
Jean-Claude | fc2f3a91d6 | |
Jean-Claude | 2d9b9d26f3 | |
Jean-Claude | d6f2d31d03 | |
Jean-Claude | 514fb5da6c | |
Jean-Claude | 750ec92767 | |
Jean-Claude | 0203015f83 | |
Jean-Claude | 90edd7a69f | |
Jean-Claude | eb51189cb2 | |
Jean-Claude | 24f05858d4 | |
Jean-Claude | 430fbc1a66 | |
Jean-Claude | 52e5ce2ac4 | |
Jean-Claude | e22e1f2739 | |
Jean-Claude | 623a906e93 | |
Jean-Claude | 3fdce988e0 | |
Jean-Claude | dc2f882112 | |
Jean-Claude | a889d6ab31 | |
Jean-Claude | 614f2cd2f8 | |
Jean-Claude | 0e53d161db | |
Jean-Claude | a5c0185ac9 | |
Jean-Claude | 7aeb575215 | |
Jean-Claude | a658ebf54a | |
Jean-Claude | c546e20740 | |
Jean-Claude | 0cd0a2aef9 | |
Jean-Claude | 3fe5a05b7d | |
Jean-Claude | 45cef8e429 | |
Jean-Claude | 7f64e72a6f | |
Jean-Claude | c0a8a65fe1 | |
Jean-Claude | 45f672295b | |
Jean-Claude | 2352f8599a | |
Jean-Claude | e39afa5724 | |
Jean-Claude | 26f88719e7 | |
Jean-Claude | 82ffc49cbb | |
Jean-Claude | b6fe84c9c4 | |
Jean-Claude | b40c6c6d82 | |
Jean-Claude | d7946149a5 | |
Jean-Claude | bb1e4f329e | |
Jean-Claude | deb37e786b | |
Jean-Claude | 88e06407f6 | |
Jean-Claude | bf8fcf0c27 | |
Jean-Claude | a3713062cd | |
Jean-Claude | 02ad23de90 | |
Jean-Claude | 3e0a7bcca2 | |
Jean-Claude | 3b74b138f0 | |
Jean-Claude | 1b1def1974 | |
Jean-Claude | c5c370b0c2 | |
Jean-Claude | 187811967d | |
Jean-Claude | de58b72361 | |
Jean-Claude | d7a2f8c181 | |
Jean-Claude | a57dd58e3a | |
Jean-Claude | 8f3bc6499e | |
Jean-Claude | c96ea80bb3 | |
Jean-Claude | 2a5249459b | |
Jean-Claude | bdb036507a | |
Jean-Claude | 8425139a71 | |
Jean-Claude | 41b4424499 | |
Jean-Claude | 5df7d666c6 | |
Jean-Claude | f1137a1153 | |
Jean-Claude | 43064984ca | |
Jean-Claude | efe669a219 |
|
@ -1,7 +1,7 @@
|
|||
Xft.dpi: 220
|
||||
Xft.dpi: 180
|
||||
|
||||
! Colors
|
||||
#include "/home/jeanclaude/.xcolors"
|
||||
#include "/home/gwen/.xcolors"
|
||||
|
||||
*background: BACKGROUND
|
||||
*foreground: FOREGROUND
|
||||
|
|
31
.gitconfig
|
@ -1,31 +0,0 @@
|
|||
[user]
|
||||
name = Jean-Claude Graf
|
||||
email = mail@jeanclaudegraf.ch
|
||||
[core]
|
||||
editor = vim
|
||||
[alias]
|
||||
|
||||
# NEW.
|
||||
new = "!f() { git commit -m \"📦 NEW: $@\"; }; f"
|
||||
# IMPROVE.
|
||||
imp = "!f() { git commit -m \"👌 IMPROVE: $@\"; }; f"
|
||||
# FIX.
|
||||
fix = "!f() { git commit -m \"🐛 FIX: $@\"; }; f"
|
||||
# RELEASE.
|
||||
rel = "!f() { git commit -m \"🚀 RELEASE: $@\"; }; f"
|
||||
# DOC.
|
||||
doc = "!f() { git commit -m \"📖 DOC: $@\"; }; f"
|
||||
# TEST.
|
||||
tes = "!f() { git commit -m \"✅ TEST: $@\"; }; f"
|
||||
# Cleanup.
|
||||
cle = "!f() { git commit -m \"🧹 CLEANUP: $@\"; }; f"
|
||||
# Incomplete.
|
||||
inc = "!f() { git commit -m \"🚧 INCOMPLETE: $@\"; }; f"
|
||||
# SOLVE.
|
||||
sol = "!f() { git commit -m \"🧩 SOLVE: $@\"; }; f"
|
||||
# UPDATE.
|
||||
upd = "!f() { git commit -m \"📥 UPDATE: $@\"; }; f"
|
||||
# Add.
|
||||
ad = "!f() { git commit -m \"🖊 ADD: $@\"; }; f"
|
||||
|
||||
undo = "!f() { git checkout -- .; }; f"
|
|
@ -0,0 +1,4 @@
|
|||
*.env
|
||||
*.pem
|
||||
Vim/autoload/plug.vim
|
||||
Upstream
|
|
@ -2,9 +2,9 @@
|
|||
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||
|
||||
include "/home/jeanclaude/.gtkrc-2.0.mine"
|
||||
gtk-theme-name="Arc-Dark"
|
||||
gtk-theme-name="Lumiere"
|
||||
gtk-icon-theme-name="Adwaita"
|
||||
gtk-font-name="Source Code Pro 10"
|
||||
gtk-font-name="DejaVu 11"
|
||||
gtk-cursor-theme-name="Adwaita"
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/ssh-agent.socket"
|
73
.vimrc
|
@ -1,73 +0,0 @@
|
|||
syntax enable " enable syntax processing
|
||||
set t_Co=256 " enable 256 colors
|
||||
|
||||
"" Tabs and Spaces
|
||||
set tabstop=4 " number of visual spaces per TAB
|
||||
set softtabstop=4 " number of spaces in tab when editing
|
||||
set expandtab " tabs are spaces
|
||||
set shiftwidth=4 " number of spaced per shift
|
||||
|
||||
"" UI Visuals
|
||||
set number " show line numbers
|
||||
"set showcmd " show command in bottom bar
|
||||
set cursorline " highlight current line
|
||||
set wildmenu " visual autocomplete for command menu
|
||||
set lazyredraw " redraw only when we need to.
|
||||
set showmatch " highlight matching [{()}]
|
||||
|
||||
"" Leader Shortcuts
|
||||
" Change leader to comma
|
||||
let mapleader=","
|
||||
nnoremap <leader>c :ColorToggle<CR>
|
||||
|
||||
|
||||
"" Searching
|
||||
set incsearch " search as characters are entered
|
||||
set hlsearch " highlight matches
|
||||
" turn off search highlighting
|
||||
nnoremap <leader><space> :nohlsearch<CR>
|
||||
|
||||
"" Folding
|
||||
set foldenable " enable folding
|
||||
set foldlevelstart=10 " open most folds by default
|
||||
" open/closes folds
|
||||
nnoremap <space> za
|
||||
set foldmethod=indent " fold based on indent level
|
||||
" Save folds on save and restore automatically when open file
|
||||
augroup remember_folds
|
||||
autocmd!
|
||||
autocmd BufWinLeave * mkview
|
||||
autocmd BufWinEnter * silent! loadview
|
||||
augroup END
|
||||
|
||||
"" Movement
|
||||
" move vertically by visual line
|
||||
nnoremap j gj
|
||||
nnoremap k gk
|
||||
" highlight last inserted text
|
||||
nnoremap gV `[v`]
|
||||
|
||||
"" Launch Config
|
||||
execute pathogen#infect()
|
||||
|
||||
"" Backup
|
||||
set undodir=~/.vim/undo//
|
||||
set backupdir=~/.vim/backup//
|
||||
set directory=~/.vim/swap//
|
||||
|
||||
"" Markdown
|
||||
" pandoc , markdown
|
||||
command! -nargs=* RunSilent
|
||||
\ | execute ':silent !'.'<args>'
|
||||
\ | execute ':redraw!'
|
||||
nmap <Leader>pc :RunSilent pandoc -o /tmp/vim-pandoc-out.pdf %<CR>
|
||||
nmap <Leader>pp :RunSilent xdg-open /tmp/vim-pandoc-out.pdf<CR>
|
||||
|
||||
"" Remove Trailing Spaces by calling `TimWhitespaces` or using a shortcut
|
||||
fun! TrimWhitespace()
|
||||
let l:save = winsaveview()
|
||||
keeppatterns %s/\s\+$//e
|
||||
call winrestview(l:save)
|
||||
endfun
|
||||
command! TrimWhitespace call TrimWhitespace()
|
||||
:noremap <Leader>w :call TrimWhitespace()<CR>
|
|
@ -0,0 +1,41 @@
|
|||
#!/bin/sh
|
||||
|
||||
userresources=$HOME/.Xresources
|
||||
usermodmap=$HOME/.Xmodmap
|
||||
sysresources=/etc/X11/xinit/.Xresources
|
||||
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||
|
||||
# merge in defaults and keymaps
|
||||
|
||||
if [ -f $sysresources ]; then
|
||||
xrdb -merge $sysresources
|
||||
|
||||
fi
|
||||
|
||||
if [ -f $sysmodmap ]; then
|
||||
xmodmap $sysmodmap
|
||||
fi
|
||||
|
||||
if [ -f "$userresources" ]; then
|
||||
xrdb -merge "$userresources"
|
||||
fi
|
||||
|
||||
if [ -f "$usermodmap" ]; then
|
||||
xmodmap "$usermodmap"
|
||||
fi
|
||||
|
||||
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||
[ -x "$f" ] && . "$f"
|
||||
done
|
||||
unset f
|
||||
fi
|
||||
|
||||
# Make sure pen stick the touchscreen
|
||||
xinput --map-to-output 'Wacom Pen and multitouch sensor Finger touch' eDP-1
|
||||
xinput --map-to-output 'Wacom Pen and multitouch sensor Pen stylus' eDP-1
|
||||
xinput --map-to-output 'Wacom Pen and multitouch sensor Pen eraser' eDP-1
|
||||
|
||||
$HOME/.fehbg&
|
||||
tint2&
|
||||
exec openbox
|
|
@ -0,0 +1,48 @@
|
|||
[calendars]
|
||||
|
||||
[[Privat]]
|
||||
path = /home/gwen/.local/share/calendar/privat
|
||||
type = calendar
|
||||
color = yellow
|
||||
|
||||
[[Paaraktivitaeten]]
|
||||
path = /home/gwen/.local/share/calendar/paaraktivitaeten
|
||||
type = calendar
|
||||
color = brown
|
||||
|
||||
[[Musik]]
|
||||
path = /home/gwen/.local/share/calendar/musik
|
||||
type = calendar
|
||||
color = dark red
|
||||
|
||||
[[Stundenplan]]
|
||||
path = /home/gwen/.local/share/calendar/stundenplan
|
||||
type = calendar
|
||||
color = light blue
|
||||
|
||||
[[Studium]]
|
||||
path = /home/gwen/.local/share/calendar/studium
|
||||
type = calendar
|
||||
color = dark blue
|
||||
|
||||
[[Geburtstage]]
|
||||
path = /home/gwen/.local/share/calendar/contact_birthdays
|
||||
type = calendar
|
||||
color = light green
|
||||
readonly = true
|
||||
|
||||
[locale]
|
||||
timeformat = %H:%M
|
||||
dateformat = %d/%m/%Y
|
||||
longdateformat = %d/%m/%Y
|
||||
datetimeformat = %d/%m/%Y %H:%M
|
||||
longdatetimeformat = %d/%m/%Y %H:%M
|
||||
weeknumbers = left
|
||||
|
||||
[default]
|
||||
highlight_event_days = true
|
||||
|
||||
[view]
|
||||
#event_view_always_visible = true
|
||||
frame = color
|
||||
agenda_event_format = "{calendar-color}{cancelled}{start-time}-{end-time}: {title}{repeat-symbol}{description-separator}{description}{reset}"
|
|
@ -0,0 +1,51 @@
|
|||
[general]
|
||||
status_path = "~/.local/share/vdirsyncer/status/"
|
||||
|
||||
# Calendar
|
||||
[pair calendars]
|
||||
a = "calendars_local"
|
||||
b = "calendars_nc_remote"
|
||||
collections = ["from a", "from b"]
|
||||
conflict_resolution = "a wins"
|
||||
#conflict_resolution = ["command", "nvim", "-d"]
|
||||
|
||||
[pair calendars_singlefile]
|
||||
a = "calendars_local_singlefile"
|
||||
b = "calendars_nc_remote"
|
||||
collections = ["from a", "from b"]
|
||||
conflict_resolution = "a wins"
|
||||
#conflict_resolution = ["command", "nvim", "-d"]
|
||||
|
||||
[storage calendars_local]
|
||||
type = "filesystem"
|
||||
path = "~/.local/share/calendar/"
|
||||
fileext = ".ics"
|
||||
|
||||
[storage calendars_local_singlefile]
|
||||
type = "singlefile"
|
||||
path = "~/.local/share/calendar_singlefile/%s.ics"
|
||||
|
||||
[storage calendars_nc_remote]
|
||||
type = "caldav"
|
||||
url = "https://nc.jeanclaudegraf.ch/remote.php/dav/calendars/gwendolin/"
|
||||
username = "gwendolin"
|
||||
password.fetch = ["command", "pass", "nc.jeanclaudegraf.ch/gwendolin"]
|
||||
|
||||
# Contacts
|
||||
[pair contacts]
|
||||
a = "contacts_local"
|
||||
b = "contacts_nc_remote"
|
||||
collections = ["from a", "from b"]
|
||||
conflict_resolution = "a wins"
|
||||
#conflict_resolution = ["command", "nvim", "-d"]
|
||||
|
||||
[storage contacts_local]
|
||||
type = "filesystem"
|
||||
path = "~/.local/share/contacts/"
|
||||
fileext = ".vcf"
|
||||
|
||||
[storage contacts_nc_remote]
|
||||
type = "carddav"
|
||||
url = "https://nc.jeanclaudegraf.ch/remote.php/dav/addressbooks/users/gwendolin/"
|
||||
username = "gwendolin"
|
||||
password.fetch = ["command", "pass", "nc.jeanclaudegraf.ch/gwendolin"]
|
|
@ -0,0 +1,10 @@
|
|||
[user]
|
||||
name = Gwendolin Kummer
|
||||
email = gwendolin.kummer@bluewin.ch
|
||||
[core]
|
||||
editor = nvim
|
||||
excludesfile = /home/gwen/.gitignore_global
|
||||
[pull]
|
||||
ff = only
|
||||
[init]
|
||||
defaultBranch = main
|
|
@ -0,0 +1,3 @@
|
|||
*.env
|
||||
*.venv
|
||||
**/build
|
|
@ -1,53 +0,0 @@
|
|||
## msmtp config file
|
||||
#
|
||||
# Based on config from https://github.com/LukeSmithxyz/mutt-wizard
|
||||
|
||||
## graf.jeanclaude@gmail.com
|
||||
IMAPStore graf.jeanclaude@gmail.com-remote
|
||||
Host imap.gmail.com
|
||||
Port 993
|
||||
User graf.jeanclaude@gmail.com
|
||||
PassCmd "pass Mail/graf.jeanclaude@gmail.com"
|
||||
SSLType IMAPS
|
||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
MaildirStore graf.jeanclaude@gmail.com-local
|
||||
Subfolders Verbatim
|
||||
Path ~/.local/share/mail/graf.jeanclaude@gmail.com/
|
||||
Inbox ~/.local/share/mail/graf.jeanclaude@gmail.com/INBOX
|
||||
Flatten .
|
||||
|
||||
Channel graf.jeanclaude@gmail.com
|
||||
Expunge Both
|
||||
Master :graf.jeanclaude@gmail.com-remote:
|
||||
Slave :graf.jeanclaude@gmail.com-local:
|
||||
Patterns * !"[Gmail]/All Mail"
|
||||
Create Both
|
||||
SyncState *
|
||||
MaxMessages 0
|
||||
ExpireUnread no
|
||||
|
||||
## jeanggi90@gmail.com
|
||||
IMAPStore jeanggi90@gmail.com-remote
|
||||
Host imap.gmail.com
|
||||
Port 993
|
||||
User jeanggi90@gmail.com
|
||||
PassCmd "pass Mail/jeanggi90@gmail.com"
|
||||
SSLType IMAPS
|
||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
MaildirStore jeanggi90@gmail.com-local
|
||||
Subfolders Verbatim
|
||||
Path ~/.local/share/mail/jeanggi90@gmail.com/
|
||||
Inbox ~/.local/share/mail/jeanggi90@gmail.com/INBOX
|
||||
Flatten .
|
||||
|
||||
Channel jeanggi90@gmail.com
|
||||
Expunge Both
|
||||
Master :jeanggi90@gmail.com-remote:
|
||||
Slave :jeanggi90@gmail.com-local:
|
||||
Patterns * !"[Gmail]/All Mail"
|
||||
Create Both
|
||||
SyncState *
|
||||
MaxMessages 0
|
||||
ExpireUnread no
|
|
@ -1,23 +0,0 @@
|
|||
defaults
|
||||
auth on
|
||||
tls on
|
||||
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
||||
logfile /var/log/msmtp.log
|
||||
|
||||
# graf.jeanclaude@gmail.com
|
||||
account graf.jeanclaude@gmail.com
|
||||
host smtp.gmail.com
|
||||
port 587
|
||||
from graf.jeanclaude@gmail.com
|
||||
user graf.jeanclaude@gmail.com
|
||||
passwordeval "pass Mail/graf.jeanclaude@gmail.com"
|
||||
|
||||
# jeanggi90@gmail.com
|
||||
account jeanggi90@gmail.com
|
||||
host smtp.gmail.com
|
||||
port 587
|
||||
from jeanggi90@gmail.com
|
||||
user jeanggi90@gmail.com
|
||||
passwordeval "pass Mail/jeanggi90@gmail.com"
|
||||
|
||||
# vim: filetype=msmtp
|
|
@ -1,35 +0,0 @@
|
|||
# muttrc file for account graf.jeanclaude@gmail.com
|
||||
|
||||
## Idenfitication
|
||||
set realname = "Jean-Claude Graf"
|
||||
set from = "graf.jeanclaude@gmail.com"
|
||||
#alias me Jean-Claude Graf <graf.jeanclaude@gmail.com>
|
||||
# set sig_dashes = "no"
|
||||
# set signature = "somePath"
|
||||
|
||||
## Cache
|
||||
set header_cache = "~/.cache/mutt/graf.jeanclaude@gmail.com/headers"
|
||||
set message_cachedir = "~/.cache/mutt/graf.jeanclaude@gmail.com/bodies"
|
||||
|
||||
## Maildir
|
||||
set mbox_type = Maildir
|
||||
set folder = "~/.local/share/mail/graf.jeanclaude@gmail.com"
|
||||
set spoolfile = "+INBOX"
|
||||
set record = "+[Gmail].Sent\ Mail"
|
||||
set postponed = "+[Gmail].Drafts"
|
||||
set trash = "+[Gmail].Bin"
|
||||
mailboxes "=INBOX" "=[Gmail].Drafts" "=[Gmail].Spam" "=[Gmail].Sent\ Mail" "=[Gmail].Bin"
|
||||
|
||||
## Sendmail
|
||||
set sendmail = "msmtp -a graf.jeanclaude@gmail.com"
|
||||
|
||||
## Binds
|
||||
#bind index,pager gg noop
|
||||
#bind index,pager g noop
|
||||
#bind index,pager M noop
|
||||
#bind index,pager C noop
|
||||
#bind index gg first-entry
|
||||
#macro index o "<shell-escape>mailsync -V graf_jeanclaude-gmail<enter>" "run mbsync to sync graf_jeanclaude-gmail"
|
||||
#unmailboxes *
|
||||
|
||||
# vim: filetype=neomuttrc
|
|
@ -1,27 +0,0 @@
|
|||
# muttrc file for account jeanggi90@gmail.com
|
||||
|
||||
## Identification
|
||||
set realname = "Jean-Claude"
|
||||
set from = "jeanggi90@gmail.com"
|
||||
# set sig_dashes = "no"
|
||||
# set signature = "somePath"
|
||||
#alias me jeanggi90@gmail.com <jeanggi90@gmail.com>
|
||||
|
||||
## Cache
|
||||
set header_cache = "~/.cache/mutt/jeanggi90@gmail.com/headers"
|
||||
set message_cachedir = "~/.cache/mutt/jeanggi90@gmail.com/bodies"
|
||||
|
||||
## Maildir
|
||||
set mbox_type = Maildir
|
||||
set folder = "~/.local/share/mail/jeanggi90@gmail.com"
|
||||
set spoolfile = "+INBOX"
|
||||
set record = "+[Gmail].Sent\ Mail"
|
||||
set postponed = "+[Gmail].Drafts"
|
||||
set trash = "+[Gmail].Bin"
|
||||
mailboxes "=INBOX" "=[Gmail].Drafts" "=[Gmail].Spam" "=[Gmail].Sent\ Mail" "=[Gmail].Bin"
|
||||
|
||||
# Sendmail
|
||||
set sendmail = "msmtp -a jeanggi90@gmail.com"
|
||||
|
||||
|
||||
# vim: filetype=neomuttrc
|
|
@ -1,50 +0,0 @@
|
|||
## muttrc config file
|
||||
#
|
||||
# Based on config from https://github.com/LukeSmithxyz/mutt-wizard
|
||||
|
||||
## General
|
||||
set sort = 'reverse-date'
|
||||
set date_format="%d/%m/%y %H:%M"
|
||||
set index_format="%2C %zs %?X?A& ? %D %-15.15F %s (%-4.4c)"
|
||||
|
||||
## Bindings
|
||||
bind index l display-message
|
||||
bind pager,attach h exit
|
||||
bind pager j next-line
|
||||
bind pager k previous-line
|
||||
bind index,pager d delete-message
|
||||
bind index,pager D purge-message
|
||||
bind index,pager u undelete-message
|
||||
|
||||
## Sidebar
|
||||
set sidebar_visible = yes
|
||||
set sidebar_width = 20
|
||||
set sidebar_short_path = yes
|
||||
set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S"
|
||||
bind index,pager B sidebar-toggle-visible
|
||||
bind index,pager \Ck sidebar-prev
|
||||
bind index,pager \Cj sidebar-next
|
||||
bind index,pager \Co sidebar-open
|
||||
|
||||
## Color
|
||||
color index yellow default '.*'
|
||||
color index_author red default '.*'
|
||||
color index_number blue default
|
||||
color index_subject cyan default '.*'
|
||||
|
||||
# Sidebar
|
||||
color sidebar_divider brightblack black
|
||||
color sidebar_flagged blue default
|
||||
color sidebar_indicator red default # Currently open
|
||||
color sidebar_new green black
|
||||
#color sidebar_ordinary magenta default
|
||||
#color sidebar_spoolfile alertred default
|
||||
#color sidebar_unread green default
|
||||
color sidebar_highlight red default # Currently selected
|
||||
|
||||
## Source Accounts
|
||||
source "~/.config/mutt/accounts/graf.jeanclaude@gmail.com.muttrc"
|
||||
source "~/.config/mutt/accounts/jeanggi90@gmail.com.muttrc"
|
||||
|
||||
|
||||
# vim: filetype=neomuttrc
|
|
@ -0,0 +1,19 @@
|
|||
#
|
||||
# These things are run when an Openbox X Session is started.
|
||||
# You may place a similar script in $HOME/.config/openbox/autostart
|
||||
# to run user-specific things.
|
||||
#
|
||||
|
||||
# If you want to use GNOME config tools...
|
||||
#
|
||||
#if test -x /usr/lib/openbox/gnome-settings-daemon >/dev/null; then
|
||||
# /usr/lib/openbox/gnome-settings-daemon &
|
||||
#elif which gnome-settings-daemon >/dev/null 2>&1; then
|
||||
# gnome-settings-daemon &
|
||||
#fi
|
||||
|
||||
# If you want to use XFCE config tools...
|
||||
#
|
||||
#xfce-mcs-manager &
|
||||
|
||||
dispwin -d1 ~/.local/share/icc/NV140QUM-N53\ \#1\ 2022-05-09\ 22-11\ 2.2\ F-S\ XYZLUT+MTX.icc &
|
|
@ -0,0 +1,10 @@
|
|||
#
|
||||
# Set system-wide environment variables here for Openbox
|
||||
# User-specific variables should be placed in $HOME/.config/openbox/environment
|
||||
#
|
||||
|
||||
# To set your language for displaying messages and time/date formats, use the following:
|
||||
#LANG=en_CA.UTF8
|
||||
|
||||
# To set your keyboard layout, you need to modify your X config:
|
||||
# http://www.google.com/search?q=how+to+set+keyboard+layout+xorg
|
|
@ -0,0 +1,394 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<openbox_menu xmlns="http://openbox.org/3.4/menu">
|
||||
|
||||
<menu id="apps-accessories-menu" label="Accessories">
|
||||
<item label="Calculator">
|
||||
<action name="Execute">
|
||||
<command>gnome-calculator</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Character Map">
|
||||
<action name="Execute">
|
||||
<command>gnome-character-map</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Ark File Archiver">
|
||||
<action name="Execute">
|
||||
<command>ark</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
<menu id="apps-editors-menu" label="Editors">
|
||||
<item label="GVim">
|
||||
<action name="Execute">
|
||||
<command>gvim</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
<wmclass>GVim</wmclass>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Emacs">
|
||||
<action name="Execute">
|
||||
<command>emacs</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
<wmclass>Emacs</wmclass>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="GEdit">
|
||||
<action name="Execute">
|
||||
<command>gedit</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Kate">
|
||||
<action name="Execute">
|
||||
<command>kate</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Kwrite">
|
||||
<action name="Execute">
|
||||
<command>kwrite</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
<menu id="apps-term-menu" label="Terminals">
|
||||
<item label="Rxvt Unicode">
|
||||
<action name="Execute">
|
||||
<command>urxvt</command>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Gnome Terminal">
|
||||
<action name="Execute">
|
||||
<command>gnome-terminal</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Xfce Terminal">
|
||||
<action name="Execute">
|
||||
<command>xfce4-terminal</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Konsole">
|
||||
<action name="Execute">
|
||||
<command>konsole</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Xterm">
|
||||
<action name="Execute"><command>xterm</command></action>
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
<menu id="apps-net-menu" label="Internet">
|
||||
<item label="Firefox">
|
||||
<action name="Execute">
|
||||
<command>firefox</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
<wmclass>Firefox</wmclass>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Opera">
|
||||
<action name="Execute">
|
||||
<command>opera</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
<wmclass>Opera</wmclass>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Konqueror">
|
||||
<action name="Execute">
|
||||
<command>konqueror</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Epiphany">
|
||||
<action name="Execute">
|
||||
<command>epiphany</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Pidgin Instant Messenger">
|
||||
<action name="Execute">
|
||||
<command>pidgin</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Kopete Instant Messenger">
|
||||
<action name="Execute">
|
||||
<command>kopete</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="XChat">
|
||||
<action name="Execute">
|
||||
<command>xchat</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
<menu id="apps-office-menu" label="Office">
|
||||
<item label="OpenOffice Base">
|
||||
<action name="Execute">
|
||||
<command>ooffice -base</command>
|
||||
</action>
|
||||
</item>
|
||||
<item label="OpenOffice Calc">
|
||||
<action name="Execute">
|
||||
<command>ooffice -calc</command>
|
||||
</action>
|
||||
</item>
|
||||
<item label="OpenOffice Draw">
|
||||
<action name="Execute">
|
||||
<command>ooffice -draw</command>
|
||||
</action>
|
||||
</item>
|
||||
<item label="OpenOffice Impress">
|
||||
<action name="Execute">
|
||||
<command>ooffice -impress</command>
|
||||
</action>
|
||||
</item>
|
||||
<item label="OpenOffice Math">
|
||||
<action name="Execute">
|
||||
<command>ooffice -math</command>
|
||||
</action>
|
||||
</item>
|
||||
<item label="OpenOffice Printer Administration">
|
||||
<action name="Execute">
|
||||
<command>ooffice-printeradmin</command>
|
||||
</action>
|
||||
</item>
|
||||
<item label="OpenOffice Writer">
|
||||
<action name="Execute">
|
||||
<command>ooffice -writer</command>
|
||||
</action>
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
<menu id="apps-multimedia-menu" label="Multimedia">
|
||||
<item label="Amarok">
|
||||
<action name="Execute">
|
||||
<command>amarok</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Rhythmbox">
|
||||
<action name="Execute">
|
||||
<command>rhythmbox</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="K3b">
|
||||
<action name="Execute">
|
||||
<command>k3b</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="MPlayer">
|
||||
<action name="Execute">
|
||||
<command>gmplayer</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
<wmclass>MPlayer</wmclass>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Totem">
|
||||
<action name="Execute">
|
||||
<command>totem</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
<menu id="apps-fileman-menu" label="File Managers">
|
||||
<item label="Nautilus">
|
||||
<action name="Execute">
|
||||
<command>nautilus --no-desktop --browser</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Thunar">
|
||||
<action name="Execute">
|
||||
<command>Thunar</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="KDE File Manager">
|
||||
<action name="Execute">
|
||||
<command>kfmclient openURL ~</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Rox">
|
||||
<action name="Execute">
|
||||
<command>rox</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
<wmclass>ROX-Filer</wmclass>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="PCMan File Manager">
|
||||
<action name="Execute">
|
||||
<command>pcmanfm</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
<menu id="apps-graphics-menu" label="Graphics">
|
||||
<item label="Gimp">
|
||||
<action name="Execute">
|
||||
<command>gimp</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Gwenview">
|
||||
<action name="Execute">
|
||||
<command>gwenview</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Dia Diagram Editor">
|
||||
<action name="Execute">
|
||||
<command>dia</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Inkscape">
|
||||
<action name="Execute">
|
||||
<command>inkscape</command>
|
||||
<startupnotify>
|
||||
<enabled>yes</enabled>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
<menu id="system-menu" label="System">
|
||||
<item label="Openbox Configuration Manager">
|
||||
<action name="Execute">
|
||||
<command>obconf</command>
|
||||
<startupnotify><enabled>yes</enabled></startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Gnome Control Center">
|
||||
<action name="Execute">
|
||||
<command>gnome-control-center</command>
|
||||
<startupnotify><enabled>yes</enabled></startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="KDE Control Center">
|
||||
<action name="Execute">
|
||||
<command>kcontrol</command>
|
||||
<startupnotify><enabled>yes</enabled></startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Xfce Settings">
|
||||
<action name="Execute">
|
||||
<command>xfce-setting-show</command>
|
||||
<startupnotify><enabled>yes</enabled></startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<item label="Manage Cups Printers">
|
||||
<action name="Execute">
|
||||
<command>xdg-open http://localhost:631/</command>
|
||||
<startupnotify>
|
||||
<enabled>no</enabled>
|
||||
<icon>cups</icon>
|
||||
</startupnotify>
|
||||
</action>
|
||||
</item>
|
||||
<separator />
|
||||
<item label="Reconfigure Openbox">
|
||||
<action name="Reconfigure" />
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
<menu id="root-menu" label="Openbox 3">
|
||||
<separator label="Applications" />
|
||||
<menu id="apps-accessories-menu"/>
|
||||
<menu id="apps-editors-menu"/>
|
||||
<menu id="apps-graphics-menu"/>
|
||||
<menu id="apps-net-menu"/>
|
||||
<menu id="apps-office-menu"/>
|
||||
<menu id="apps-multimedia-menu"/>
|
||||
<menu id="apps-term-menu"/>
|
||||
<menu id="apps-fileman-menu"/>
|
||||
<separator label="System" />
|
||||
<menu id="system-menu"/>
|
||||
<separator />
|
||||
<item label="Log Out">
|
||||
<action name="Exit">
|
||||
<prompt>yes</prompt>
|
||||
</action>
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
</openbox_menu>
|
|
@ -0,0 +1,678 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Do not edit this file, it will be overwritten on install.
|
||||
Copy the file to $HOME/.config/openbox/ instead. -->
|
||||
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<resistance>
|
||||
<strength>10</strength>
|
||||
<screen_edge_strength>20</screen_edge_strength>
|
||||
</resistance>
|
||||
<focus>
|
||||
<focusNew>yes</focusNew>
|
||||
<!-- always try to focus new windows when they appear. other rules do
|
||||
apply -->
|
||||
<followMouse>no</followMouse>
|
||||
<!-- move focus to a window when you move the mouse into it -->
|
||||
<focusLast>yes</focusLast>
|
||||
<!-- focus the last used window when changing desktops, instead of the one
|
||||
under the mouse pointer. when followMouse is enabled -->
|
||||
<underMouse>no</underMouse>
|
||||
<!-- move focus under the mouse, even when the mouse is not moving -->
|
||||
<focusDelay>200</focusDelay>
|
||||
<!-- when followMouse is enabled, the mouse must be inside the window for
|
||||
this many milliseconds (1000 = 1 sec) before moving focus to it -->
|
||||
<raiseOnFocus>no</raiseOnFocus>
|
||||
<!-- when followMouse is enabled, and a window is given focus by moving the
|
||||
mouse into it, also raise the window -->
|
||||
</focus>
|
||||
<placement>
|
||||
<policy>Smart</policy>
|
||||
<!-- 'Smart' or 'UnderMouse' -->
|
||||
<center>yes</center>
|
||||
<!-- whether to place windows in the center of the free area found or
|
||||
the top left corner -->
|
||||
<monitor>Mouse</monitor>
|
||||
<!-- with Smart placement on a multi-monitor system, try to place new windows
|
||||
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
|
||||
the active window is, 'Primary' - only on the primary monitor -->
|
||||
<primaryMonitor>1</primaryMonitor>
|
||||
<!-- The monitor where Openbox should place popup dialogs such as the
|
||||
focus cycling popup, or the desktop switch popup. It can be an index
|
||||
from 1, specifying a particular monitor. Or it can be one of the
|
||||
following: 'Mouse' - where the mouse is, or
|
||||
'Active' - where the active window is -->
|
||||
</placement>
|
||||
<theme>
|
||||
<name>Vent</name>
|
||||
<titleLayout>NLSDIMC</titleLayout>
|
||||
<!--
|
||||
available characters are NDSLIMC, each can occur at most once.
|
||||
N: window icon
|
||||
L: window label (AKA title).
|
||||
I: iconify
|
||||
M: maximize
|
||||
C: close
|
||||
S: shade (roll up/down)
|
||||
D: omnipresent (on all desktops).
|
||||
-->
|
||||
<keepBorder>yes</keepBorder>
|
||||
<animateIconify>yes</animateIconify>
|
||||
<font place="ActiveWindow">
|
||||
<name>DejaVu Sans</name>
|
||||
<size>10</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Bold</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="InactiveWindow">
|
||||
<name>DejaVu Sans</name>
|
||||
<size>10</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Bold</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="MenuHeader">
|
||||
<name>DejaVu Sans Mono</name>
|
||||
<size>11</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Normal</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="MenuItem">
|
||||
<name>DejaVu Sans Mono</name>
|
||||
<size>11</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Normal</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="ActiveOnScreenDisplay">
|
||||
<name>DejaVu Sans Mono</name>
|
||||
<size>11</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Bold</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
<font place="InactiveOnScreenDisplay">
|
||||
<name>DejaVu Sans Mono</name>
|
||||
<size>11</size>
|
||||
<!-- font size in points -->
|
||||
<weight>Bold</weight>
|
||||
<!-- 'bold' or 'normal' -->
|
||||
<slant>Normal</slant>
|
||||
<!-- 'italic' or 'normal' -->
|
||||
</font>
|
||||
</theme>
|
||||
<desktops>
|
||||
<!-- this stuff is only used at startup, pagers allow you to change them
|
||||
during a session
|
||||
|
||||
these are default values to use when other ones are not already set
|
||||
by other applications, or saved in your session
|
||||
|
||||
use obconf if you want to change these without having to log out
|
||||
and back in -->
|
||||
<number>4</number>
|
||||
<firstdesk>1</firstdesk>
|
||||
<names>
|
||||
<name>1</name>
|
||||
<name>2</name>
|
||||
<name>3</name>
|
||||
<name>4</name>
|
||||
</names>
|
||||
<popupTime>875</popupTime>
|
||||
<!-- The number of milliseconds to show the popup for when switching
|
||||
desktops. Set this to 0 to disable the popup. -->
|
||||
</desktops>
|
||||
<resize>
|
||||
<drawContents>yes</drawContents>
|
||||
<popupShow>Nonpixel</popupShow>
|
||||
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
|
||||
<popupPosition>Center</popupPosition>
|
||||
<!-- 'Center', 'Top', or 'Fixed' -->
|
||||
<popupFixedPosition>
|
||||
<!-- these are used if popupPosition is set to 'Fixed' -->
|
||||
<x>10</x>
|
||||
<!-- positive number for distance from left edge, negative number for
|
||||
distance from right edge, or 'Center' -->
|
||||
<y>10</y>
|
||||
<!-- positive number for distance from top edge, negative number for
|
||||
distance from bottom edge, or 'Center' -->
|
||||
</popupFixedPosition>
|
||||
</resize>
|
||||
<!-- You can reserve a portion of your screen where windows will not cover when
|
||||
they are maximized, or when they are initially placed.
|
||||
Many programs reserve space automatically, but you can use this in other
|
||||
cases. -->
|
||||
<margins>
|
||||
<top>0</top>
|
||||
<bottom>0</bottom>
|
||||
<left>0</left>
|
||||
<right>0</right>
|
||||
</margins>
|
||||
<dock>
|
||||
<position>TopLeft</position>
|
||||
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
|
||||
<floatingX>0</floatingX>
|
||||
<floatingY>0</floatingY>
|
||||
<noStrut>no</noStrut>
|
||||
<stacking>Above</stacking>
|
||||
<!-- 'Above', 'Normal', or 'Below' -->
|
||||
<direction>Vertical</direction>
|
||||
<!-- 'Vertical' or 'Horizontal' -->
|
||||
<autoHide>no</autoHide>
|
||||
<hideDelay>300</hideDelay>
|
||||
<!-- in milliseconds (1000 = 1 second) -->
|
||||
<showDelay>300</showDelay>
|
||||
<!-- in milliseconds (1000 = 1 second) -->
|
||||
<moveButton>Middle</moveButton>
|
||||
<!-- 'Left', 'Middle', 'Right' -->
|
||||
</dock>
|
||||
<keyboard>
|
||||
<chainQuitKey>C-g</chainQuitKey>
|
||||
<!-- Keybindings for desktop switching -->
|
||||
<keybind key="W-1">
|
||||
<action name="GoToDesktop">
|
||||
<to>1</to>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-2">
|
||||
<action name="GoToDesktop">
|
||||
<to>2</to>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-3">
|
||||
<action name="GoToDesktop">
|
||||
<to>3</to>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-4">
|
||||
<action name="GoToDesktop">
|
||||
<to>4</to>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-x">
|
||||
<action name="ToggleShowDesktop"/>
|
||||
</keybind>
|
||||
|
||||
<!-- Keybindings for windows -->
|
||||
<keybind key="W-S-Q">
|
||||
<action name="Close"/>
|
||||
</keybind>
|
||||
<keybind key="A-C-Down">
|
||||
<action name="Iconify"/>
|
||||
</keybind>
|
||||
<keybind key="A-C-Up">
|
||||
<action name="ToggleMaximize"/>
|
||||
</keybind>
|
||||
|
||||
<!-- Keybindings for window switching -->
|
||||
<keybind key="W-Tab">
|
||||
<action name="NextWindow">
|
||||
<finalactions>
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</finalactions>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-S-Tab">
|
||||
<action name="PreviousWindow">
|
||||
<finalactions>
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</finalactions>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
<!-- Keybindings for window placement -->
|
||||
<keybind key="A-C-Left">
|
||||
<action name="MoveResizeTo">
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>50%</width>
|
||||
<height>100%</height>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="A-C-Right">
|
||||
<action name="MoveResizeTo">
|
||||
<x>50%</x>
|
||||
<y>0</y>
|
||||
<width>50%</width>
|
||||
<height>100%</height>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
<!-- Keybindings for running applications -->
|
||||
<keybind key="W-d">
|
||||
<action name="Execute">
|
||||
<command>rofi -show run</command>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-c">
|
||||
<action name="Execute">
|
||||
<command>termite</command>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-t">
|
||||
<action name="Execute">
|
||||
<command>thunar</command>
|
||||
</action>
|
||||
</keybind>
|
||||
<keybind key="W-S-x">
|
||||
<action name="Execute">
|
||||
<command>sh -c 'sleep 1 && ~/bin/lock.sh && systemctl suspend'</command>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
</keyboard>
|
||||
<mouse>
|
||||
<dragThreshold>1</dragThreshold>
|
||||
<!-- number of pixels the mouse must move before a drag begins -->
|
||||
<doubleClickTime>500</doubleClickTime>
|
||||
<!-- in milliseconds (1000 = 1 second) -->
|
||||
<screenEdgeWarpTime>400</screenEdgeWarpTime>
|
||||
<!-- Time before changing desktops when the pointer touches the edge of the
|
||||
screen while moving a window, in milliseconds (1000 = 1 second).
|
||||
Set this to 0 to disable warping -->
|
||||
<screenEdgeWarpMouse>false</screenEdgeWarpMouse>
|
||||
<!-- Set this to TRUE to move the mouse pointer across the desktop when
|
||||
switching due to hitting the edge of the screen -->
|
||||
<context name="Titlebar">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Move"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="DoubleClick">
|
||||
<action name="ToggleMaximize"/>
|
||||
</mousebind>
|
||||
<mousebind button="Up" action="Click">
|
||||
<action name="if">
|
||||
<shaded>no</shaded>
|
||||
<then>
|
||||
<action name="Shade"/>
|
||||
<action name="FocusToBottom"/>
|
||||
<action name="Unfocus"/>
|
||||
<action name="Lower"/>
|
||||
</then>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Down" action="Click">
|
||||
<action name="if">
|
||||
<shaded>yes</shaded>
|
||||
<then>
|
||||
<action name="Unshade"/>
|
||||
<action name="Raise"/>
|
||||
</then>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="Lower"/>
|
||||
<action name="FocusToBottom"/>
|
||||
<action name="Unfocus"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="ShowMenu">
|
||||
<menu>client-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Top">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize">
|
||||
<edge>top</edge>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Left">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize">
|
||||
<edge>left</edge>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Right">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize">
|
||||
<edge>right</edge>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Bottom">
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize">
|
||||
<edge>bottom</edge>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="ShowMenu">
|
||||
<menu>client-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="TRCorner BRCorner TLCorner BLCorner">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Drag">
|
||||
<action name="Resize"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Client">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Icon">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
<action name="ShowMenu">
|
||||
<menu>client-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="ShowMenu">
|
||||
<menu>client-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="AllDesktops">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleOmnipresent"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Shade">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleShade"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Iconify">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="Iconify"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Maximize">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="ToggleMaximize"/>
|
||||
</mousebind>
|
||||
<mousebind button="Middle" action="Click">
|
||||
<action name="ToggleMaximize">
|
||||
<direction>vertical</direction>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Click">
|
||||
<action name="ToggleMaximize">
|
||||
<direction>horizontal</direction>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Close">
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
<action name="Unshade"/>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Click">
|
||||
<action name="Close"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Desktop">
|
||||
<mousebind button="Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="C-A-Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="C-A-Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Left" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="Focus"/>
|
||||
<action name="Raise"/>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="Root">
|
||||
<!-- Menus -->
|
||||
<mousebind button="Middle" action="Press">
|
||||
<action name="ShowMenu">
|
||||
<menu>root-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Right" action="Press">
|
||||
<action name="ShowMenu">
|
||||
<menu>client-list-combined-menu</menu>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
<context name="MoveResize">
|
||||
<mousebind button="Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Up" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>previous</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
<mousebind button="A-Down" action="Click">
|
||||
<action name="GoToDesktop">
|
||||
<to>next</to>
|
||||
</action>
|
||||
</mousebind>
|
||||
</context>
|
||||
</mouse>
|
||||
<menu>
|
||||
<!-- You can specify more than one menu file in here and they are all loaded,
|
||||
just don't make menu ids clash or, well, it'll be kind of pointless -->
|
||||
<!-- default menu file (or custom one in $HOME/.config/openbox/) -->
|
||||
<file>menu.xml</file>
|
||||
<hideDelay>200</hideDelay>
|
||||
<!-- if a press-release lasts longer than this setting (in milliseconds), the
|
||||
menu is hidden again -->
|
||||
<middle>no</middle>
|
||||
<!-- center submenus vertically about the parent entry -->
|
||||
<submenuShowDelay>100</submenuShowDelay>
|
||||
<!-- time to delay before showing a submenu after hovering over the parent
|
||||
entry.
|
||||
if this is a negative value, then the delay is infinite and the
|
||||
submenu will not be shown until it is clicked on -->
|
||||
<submenuHideDelay>400</submenuHideDelay>
|
||||
<!-- time to delay before hiding a submenu when selecting another
|
||||
entry in parent menu
|
||||
if this is a negative value, then the delay is infinite and the
|
||||
submenu will not be hidden until a different submenu is opened -->
|
||||
<showIcons>yes</showIcons>
|
||||
<!-- controls if icons appear in the client-list-(combined-)menu -->
|
||||
<manageDesktops>yes</manageDesktops>
|
||||
<!-- show the manage desktops section in the client-list-(combined-)menu -->
|
||||
</menu>
|
||||
<applications>
|
||||
<!--
|
||||
# this is an example with comments through out. use these to make your
|
||||
# own rules, but without the comments of course.
|
||||
# you may use one or more of the name/class/role/title/type rules to specify
|
||||
# windows to match
|
||||
|
||||
<application name="the window's _OB_APP_NAME property (see obxprop)"
|
||||
class="the window's _OB_APP_CLASS property (see obxprop)"
|
||||
groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
|
||||
groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
|
||||
role="the window's _OB_APP_ROLE property (see obxprop)"
|
||||
title="the window's _OB_APP_TITLE property (see obxprop)"
|
||||
type="the window's _OB_APP_TYPE property (see obxprob)..
|
||||
(if unspecified, then it is 'dialog' for child windows)">
|
||||
# you may set only one of name/class/role/title/type, or you may use more
|
||||
# than one together to restrict your matches.
|
||||
|
||||
# the name, class, role, and title use simple wildcard matching such as those
|
||||
# used by a shell. you can use * to match any characters and ? to match
|
||||
# any single character.
|
||||
|
||||
# the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
|
||||
# or desktop
|
||||
|
||||
# when multiple rules match a window, they will all be applied, in the
|
||||
# order that they appear in this list
|
||||
|
||||
|
||||
# each rule element can be left out or set to 'default' to specify to not
|
||||
# change that attribute of the window
|
||||
|
||||
<decor>yes</decor>
|
||||
# enable or disable window decorations
|
||||
|
||||
<shade>no</shade>
|
||||
# make the window shaded when it appears, or not
|
||||
|
||||
<position force="no">
|
||||
# the position is only used if both an x and y coordinate are provided
|
||||
# (and not set to 'default')
|
||||
# when force is "yes", then the window will be placed here even if it
|
||||
# says you want it placed elsewhere. this is to override buggy
|
||||
# applications who refuse to behave
|
||||
<x>center</x>
|
||||
# a number like 50, or 'center' to center on screen. use a negative number
|
||||
# to start from the right (or bottom for <y>), ie -50 is 50 pixels from
|
||||
# the right edge (or bottom). use 'default' to specify using value
|
||||
# provided by the application, or chosen by openbox, instead.
|
||||
<y>200</y>
|
||||
<monitor>1</monitor>
|
||||
# specifies the monitor in a xinerama setup.
|
||||
# 1 is the first head, or 'mouse' for wherever the mouse is
|
||||
</position>
|
||||
|
||||
<size>
|
||||
# the size to make the window.
|
||||
<width>20</width>
|
||||
# a number like 20, or 'default' to use the size given by the application.
|
||||
# you can use fractions such as 1/2 or percentages such as 75% in which
|
||||
# case the value is relative to the size of the monitor that the window
|
||||
# appears on.
|
||||
<height>30%</height>
|
||||
</size>
|
||||
|
||||
<focus>yes</focus>
|
||||
# if the window should try be given focus when it appears. if this is set
|
||||
# to yes it doesn't guarantee the window will be given focus. some
|
||||
# restrictions may apply, but Openbox will try to
|
||||
|
||||
<desktop>1</desktop>
|
||||
# 1 is the first desktop, 'all' for all desktops
|
||||
|
||||
<layer>normal</layer>
|
||||
# 'above', 'normal', or 'below'
|
||||
|
||||
<iconic>no</iconic>
|
||||
# make the window iconified when it appears, or not
|
||||
|
||||
<skip_pager>no</skip_pager>
|
||||
# asks to not be shown in pagers
|
||||
|
||||
<skip_taskbar>no</skip_taskbar>
|
||||
# asks to not be shown in taskbars. window cycling actions will also
|
||||
# skip past such windows
|
||||
|
||||
<fullscreen>yes</fullscreen>
|
||||
# make the window in fullscreen mode when it appears
|
||||
|
||||
<maximized>true</maximized>
|
||||
# 'Horizontal', 'Vertical' or boolean (yes/no)
|
||||
</application>
|
||||
|
||||
# end of the example
|
||||
-->
|
||||
</applications>
|
||||
</openbox_config>
|
|
@ -0,0 +1 @@
|
|||
../Upstream/Rofi/config.rasi
|
|
@ -0,0 +1 @@
|
|||
../Upstream/Rofi/themes
|
|
@ -0,0 +1,113 @@
|
|||
#!/bin/bash
|
||||
# Control the backlight brightness
|
||||
|
||||
APPNAME=$( basename "$0" | sed "s/\.sh$//" )
|
||||
|
||||
notification="false"
|
||||
|
||||
currentLevelCache=$XDG_CACHE_HOME/backlight/level
|
||||
backlightDev=/sys/class/backlight/intel_backlight
|
||||
|
||||
declare -a levels=(0 50 100 200 500 1000 1500 2000 3500 5000 7500 10000 15000 20000 24242)
|
||||
defaultValue=2
|
||||
|
||||
verbose="false"
|
||||
|
||||
b_log_debug() {
|
||||
if $verbose
|
||||
then
|
||||
echo "$APPNAME: DEBUG: $1" > /dev/tty
|
||||
fi
|
||||
}
|
||||
|
||||
b_get_current_level() {
|
||||
# Fetch the cached level and return its value. If no cache exist, create it and return the default value
|
||||
|
||||
if [[ ! -f $currentLevelCache ]]
|
||||
then
|
||||
b_log_debug "Create Cache File"
|
||||
mkdir -p "$(dirname $currentLevelCache)"
|
||||
echo "$defaultValue" > $currentLevelCache
|
||||
fi
|
||||
|
||||
echo $(<$currentLevelCache)
|
||||
}
|
||||
|
||||
b_change_level() {
|
||||
# Change the brightness level according the the provided $1. + for increase, - for decrease
|
||||
|
||||
local currentLevel=$(b_get_current_level)
|
||||
|
||||
case "$1" in
|
||||
+)
|
||||
local upperBound=${#levels[@]}
|
||||
local upperBound=$(( upperBound - 1 ))
|
||||
local newLevel=$(( currentLevel + 1 <= upperBound ? currentLevel + 1 : currentLevel ))
|
||||
;;
|
||||
-)
|
||||
local newLevel=$(( currentLevel - 1 >= 0 ? currentLevel - 1 : 0 ))
|
||||
;;
|
||||
*)
|
||||
local newLevel=$currentLevel
|
||||
;;
|
||||
esac
|
||||
|
||||
echo $newLevel > $currentLevelCache
|
||||
echo ${levels[$newLevel]} > "${backlightDev}/brightness"
|
||||
}
|
||||
|
||||
b_send_notification() {
|
||||
local level=$(b_get_current_level)
|
||||
local maxLevel=${#levels[@]}
|
||||
local maxLevel=$(( maxLevel - 1 ))
|
||||
|
||||
b_log_debug "Current Level $level"
|
||||
|
||||
local level=$(( level * 100 ))
|
||||
local level=$(( level / maxLevel ))
|
||||
|
||||
b_log_debug "Normalized Level $level"
|
||||
|
||||
local message=""
|
||||
|
||||
displayer dunstify -a "changeBacklight" -u low -r "1234212" -h int:value:$level $message
|
||||
}
|
||||
|
||||
b_usage() {
|
||||
printf "Usage: $0\n-i Increase brighness\n-d decrease brightness\n-n notification\n-h help"
|
||||
}
|
||||
|
||||
while (( $# ))
|
||||
do
|
||||
case "$1" in
|
||||
-i)
|
||||
changeState=+
|
||||
shift
|
||||
;;
|
||||
-d)
|
||||
changeState=-
|
||||
shift
|
||||
;;
|
||||
-n)
|
||||
notification="true"
|
||||
shift
|
||||
;;
|
||||
-v)
|
||||
verbose="true"
|
||||
shift
|
||||
;;
|
||||
-h | *)
|
||||
b_usage
|
||||
exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -n ${changeState+x} ]]
|
||||
then
|
||||
echo "$(b_change_level $changeState)"
|
||||
fi
|
||||
|
||||
if [[ $notification = true ]]
|
||||
then
|
||||
$(b_send_notification)
|
||||
fi
|
|
@ -112,14 +112,37 @@ writeNewStatus() {
|
|||
}
|
||||
|
||||
createBackup() {
|
||||
# Tries to backup
|
||||
return 0
|
||||
# Create backup of $sourcePath to $destinationPath
|
||||
|
||||
echo "Backup Start"
|
||||
|
||||
# Check if drive connected
|
||||
isDriveConnected
|
||||
local ret=$?
|
||||
|
||||
if [[ "$ret" -ne 0 ]]
|
||||
then
|
||||
# We have got some problems
|
||||
echo "Drive not connected. Backup not possible"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Mount drive
|
||||
|
||||
# Start backup
|
||||
|
||||
|
||||
}
|
||||
|
||||
usage() { echo "Usage: $0 -h -c -u <UUID> -s <Source> -d <Destination> -i" 1>&2; exit 1; }
|
||||
|
||||
# Check passed flags
|
||||
[[ $# -eq 0 ]] && usage
|
||||
# No flags passed
|
||||
if [[ $# -eq 0 ]]
|
||||
then
|
||||
createBackup
|
||||
fi
|
||||
|
||||
# Flags passed
|
||||
while getopts 'hcu:s:d:i' flag
|
||||
do
|
||||
case "${flag}" in
|
||||
|
@ -148,7 +171,7 @@ do
|
|||
i)
|
||||
# Information
|
||||
loadFromCache
|
||||
printf "Source: $sourcePath \nDestination: $destinationPath \nUUID: $uuid"
|
||||
printf "Source: $sourcePath \nDestination: $destinationPath \nUUID: $uuid\n"
|
||||
;;
|
||||
h | *)
|
||||
usage
|
||||
|
|
|
@ -131,31 +131,31 @@ doStatusNotify() {
|
|||
then
|
||||
if (( $previousPercentage > 75 && $percentage <= 75 ))
|
||||
then
|
||||
~/bin/notifier -a "batteryChecker" -u low "Battery" "75%"
|
||||
displayer dunstify -a "batteryChecker" -u low "Battery" "75%"
|
||||
elif (( $previousPercentage > 50 && $percentage <= 50 ))
|
||||
then
|
||||
~/bin/notifier -a "batteryChecker" -u normal "Battery" "50%"
|
||||
displayer dunstify -a "batteryChecker" -u normal "Battery" "50%"
|
||||
elif (( $previousPercentage > 35 && $percentage <= 35 ))
|
||||
then
|
||||
~/bin/notifier -a "batteryChecker" -u normal "Battery" "35"
|
||||
displayer dunstify -a "batteryChecker" -u normal "Battery" "35%"
|
||||
elif (( $previousPercentage > 25 && $percentage <= 25 ))
|
||||
then
|
||||
~/bin/notifier -a "batteryChecker" -u normal "Low Battery" "25%"
|
||||
displayer dunstify -a "batteryChecker" -u normal "Low Battery" "25%"
|
||||
elif (( $previousPercentage > 20 && $percentage <= 20 ))
|
||||
then
|
||||
~/bin/notifier -a "batteryChecker" -u normal "Low Battery" "20%"
|
||||
displayer dunstify -a "batteryChecker" -u normal "Low Battery" "20%"
|
||||
elif (( $previousPercentage > 15 && $percentage <= 15 ))
|
||||
then
|
||||
~/bin/notifier -a "batteryChecker" -u critical "Low Battery" "15%"
|
||||
displayer dunstify -a "batteryChecker" -u critical "Low Battery" "15%"
|
||||
elif (( $previousPercentage > 10 && $percentage <= 10 ))
|
||||
then
|
||||
~/bin/notifier -a "batteryChecker" -u critical "Critical Battery" "10%"
|
||||
displayer dunstify -a "batteryChecker" -u critical "Critical Battery" "10%"
|
||||
elif (( $previousPercentage > 5 && $percentage <= 5 ))
|
||||
then
|
||||
~/bin/notifier -a "batteryChecker" -u critical "Critical Battery" "5%"
|
||||
displayer dunstify -a "batteryChecker" -u critical "Critical Battery" "5%"
|
||||
elif (( $previousPercentage > 2 && $percentage <= 2 ))
|
||||
then
|
||||
~/bin/notifier -a "batteryChecker" -u critical "2%"
|
||||
displayer dunstify -a "batteryChecker" -u critical "2%"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#!/bin/bash
|
||||
## Wrapper Script for dunstify to correctly send notifications from within scripts
|
||||
## All flags are forwarded to dunstify
|
||||
## Thanks to https://stackoverflow.com/a/49533938
|
||||
|
||||
# Provides the display and user to command $1 and passes all other parameters ($2, ...) to $1
|
||||
|
||||
#Detect the name of the display in use
|
||||
display=":$(ls /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -n 1)"
|
||||
|
@ -12,4 +11,5 @@ user=$(who | grep '('$display')' | awk '{print $1}' | head -n 1)
|
|||
#Detect the id of the user
|
||||
uid=$(id -u $user)
|
||||
|
||||
sudo -u $user DISPLAY=$display DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus dunstify "$@"
|
||||
#sudo -u $user DISPLAY=$display DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus "$@"
|
||||
sudo -u gwen DISPLAY=$display DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus "$@"
|
|
@ -1,19 +1,70 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Prepare background
|
||||
imgPath="/tmp/bg_img.png"
|
||||
isAutoDim=false
|
||||
addImage=false
|
||||
isNoFork=false
|
||||
|
||||
# Take Screenshot
|
||||
scrot --multidisp --quality 50 --overwrite --silent "$imgPath"
|
||||
args="--ignore-empty-password"
|
||||
|
||||
# Pixelate Image
|
||||
convert -scale 10% -scale 1000% "$imgPath" "$imgPath"
|
||||
usage() {
|
||||
printf "Usage: $0\n-i add image\n-d enable auto dim\n-f enable no fork\n-h help"
|
||||
}
|
||||
|
||||
# Blure Image
|
||||
#ffmpeg -y -i "$imgPath" -filter_complex "boxblur=5:5" -loglevel quiet "${imgPath}_out.png" && mv "${imgPath}_out.png" "$imgPath"
|
||||
while getopts 'idfh' flag
|
||||
do
|
||||
case "${flag}" in
|
||||
i)
|
||||
addImage=true
|
||||
;;
|
||||
d)
|
||||
isAutoDim=true
|
||||
;;
|
||||
f)
|
||||
isNoFork=true
|
||||
;;
|
||||
h | *)
|
||||
usage
|
||||
exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Screen setting and lock
|
||||
set -e
|
||||
xset s off dpms 0 3 0
|
||||
i3lock --ignore-empty-password --nofork --tiling --image "$imgPath"
|
||||
xset s off -dpms
|
||||
# Add background image or color
|
||||
if [[ $addImage = true ]]
|
||||
then
|
||||
imgPath="/tmp/bg_img.png"
|
||||
|
||||
scrot --multidisp --quality 50 --overwrite --silent "$imgPath"
|
||||
|
||||
# Pixelate Image
|
||||
#convert -scale 10% -scale 1000% "$imgPath" "$imgPath"
|
||||
|
||||
# Blure Image
|
||||
ffmpeg -y -i "$imgPath" -filter_complex "boxblur=5:5" -loglevel quiet "${imgPath}_out.png" && mv "${imgPath}_out.png" "$imgPath"
|
||||
|
||||
args="${args} --tiling --image \"$imgPath\""
|
||||
else
|
||||
color="$( xrdb -query | grep background: | awk '{print $NF}' )"
|
||||
args="${args} --color $color"
|
||||
fi
|
||||
|
||||
# Dim screen when locked
|
||||
if [[ $isAutoDim = true ]]
|
||||
then
|
||||
set -e
|
||||
xset s off dpms 0 3 0
|
||||
fi
|
||||
|
||||
# Add nofork option
|
||||
if [[ $isNoFork = true ]]
|
||||
then
|
||||
args="${args} --nofork"
|
||||
fi
|
||||
|
||||
i3lock $args
|
||||
|
||||
# Undim screen
|
||||
|
||||
if [[ $isAutoDim = true ]]
|
||||
then
|
||||
xset s off -dpms
|
||||
fi
|
||||
|
|
|
@ -52,7 +52,7 @@ checkForNewMails() {
|
|||
else
|
||||
local message="There are $diffMailNumber new mails"
|
||||
fi
|
||||
~/bin/notifier -a "mailChecker" -u normal "$message"
|
||||
displayer dunstify -a "mailChecker" -u normal "$message"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
@ -1,30 +1,139 @@
|
|||
#!/bin/bash
|
||||
# Monitor controller
|
||||
|
||||
usage() {
|
||||
echo "Usage: $0 -h -s -m" 1>&2; exit 1;
|
||||
APPNAME=$( basename "$0" | sed "s/\.sh$//" )
|
||||
|
||||
intern="eDP-1"
|
||||
extern=""
|
||||
|
||||
verbose="false"
|
||||
|
||||
m_log_debug() {
|
||||
if $verbose
|
||||
then
|
||||
echo "$APPNAME: DEBUG: $1" > /dev/tty
|
||||
fi
|
||||
}
|
||||
|
||||
m_log_info() {
|
||||
echo "$APPNAME: $1" > /dev/tty
|
||||
}
|
||||
|
||||
m_log_error() {
|
||||
echo "$APPNAME: ERROR: $1" > /dev/tty
|
||||
}
|
||||
|
||||
m_get_connected() {
|
||||
local out=$(xrandr | grep " connected " | awk '{ print$1 }')
|
||||
m_log_debug "Connected: ${out}"
|
||||
echo $out
|
||||
}
|
||||
|
||||
m_get_disconnected() {
|
||||
local out=$(xrandr | grep " disconnected " | awk '{ print$1 }')
|
||||
echo $out
|
||||
}
|
||||
|
||||
m_penmap() {
|
||||
m_log_debug "Run m_penmap"
|
||||
xinput --map-to-output 'Wacom Pen and multitouch sensor Finger touch' $intern
|
||||
xinput --map-to-output 'Wacom Pen and multitouch sensor Pen stylus' $intern
|
||||
xinput --map-to-output 'Wacom Pen and multitouch sensor Pen eraser' $intern
|
||||
}
|
||||
|
||||
m_usage() {
|
||||
local txt=(
|
||||
"Utility $APPNAME for setting monitors."
|
||||
"Usage: $APPNAME [options]"
|
||||
""
|
||||
"Options:"
|
||||
" --help, -h Print help."
|
||||
" --internal, -i Internal Monitor Only."
|
||||
" --external, -E External Monitor Only."
|
||||
" --extend, -e Extend Internal Monitor."
|
||||
" --clone, -c Cline Internal Monitor."
|
||||
" --verbose, -v Verbose Output."
|
||||
)
|
||||
|
||||
printf "%s\\n" "${txt[@]}"
|
||||
}
|
||||
|
||||
m_set() {
|
||||
|
||||
connected=$(m_get_connected)
|
||||
extern=${connected/"$intern"/}
|
||||
|
||||
m_log_debug "Called m_set with $1"
|
||||
|
||||
cmd="xrandr"
|
||||
|
||||
# Enable correct monitors
|
||||
case "$1" in
|
||||
internal)
|
||||
m_log_info "Enable internal monitor only"
|
||||
cmd="${cmd} --output ${intern} --primary --auto --pos 0x0 --rotate normal --output ${extern} --off"
|
||||
;;
|
||||
external)
|
||||
m_log_info "Enalbe external monitor only"
|
||||
cmd="${cmd} --output ${intern} --off --output ${extern} --primary --auto --scale 2.5x2.5 --rotate normal"
|
||||
;;
|
||||
extend)
|
||||
m_log_info "Extend internal monitor"
|
||||
cmd="${cmd} --output ${intern} --primary --auto --pos 432x2700 --rotate normal --output ${extern} --auto --scale 2x2 --pos 0x0 --rotate normal"
|
||||
;;
|
||||
clone)
|
||||
m_log_info "Clone internal monitor"
|
||||
cmd="${cmd} --output ${intern} --primary --auto --pos 432x2700 --rotate normal --output "$extern" --auto --scale 2x2 --pos 0x0 --rotate normal --same-as ${intern}"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Disable unused monitors
|
||||
for d in $(m_get_disconnected)
|
||||
do
|
||||
cmd="${cmd} --output ${d} --off"
|
||||
done
|
||||
|
||||
m_log_debug "Run ${cmd}"
|
||||
eval "$cmd"
|
||||
|
||||
m_penmap
|
||||
~/.fehbg
|
||||
}
|
||||
|
||||
# No flags passed
|
||||
if [[ $# -eq 0 ]]
|
||||
then
|
||||
usage
|
||||
m_usage
|
||||
fi
|
||||
|
||||
# Flags passed
|
||||
while getopts 'hsm' flag
|
||||
while (( $# ))
|
||||
do
|
||||
case "${flag}" in
|
||||
s)
|
||||
# Single monitor
|
||||
xrandr --output eDP-1 --primary --mode 3840x2160 --pos 0x0 --rotate normal --output DP-1 --off --output HDMI-1 --off --output DP-2 --off
|
||||
m_log_debug "Parse Arg $1"
|
||||
case "$1" in
|
||||
--internal | -i)
|
||||
mode="internal"
|
||||
shift
|
||||
;;
|
||||
m)
|
||||
# Multiple monitor
|
||||
xrandr --output eDP-1 --primary --mode 3840x2160 --pos 432x2700 --rotate normal --output DP-1 --off --output HDMI-1 --mode 1920x1080 --scale 2.5x2.5 --pos 0x0 --rotate normal --output DP-2 --off
|
||||
--external | -E)
|
||||
mode="external"
|
||||
shift
|
||||
;;
|
||||
h | *)
|
||||
usage
|
||||
--extend | -e)
|
||||
mode="extend"
|
||||
shift
|
||||
;;
|
||||
--clone | -c)
|
||||
mode="clone"
|
||||
shift
|
||||
;;
|
||||
--verbose | -v)
|
||||
verbose="true"
|
||||
shift
|
||||
;;
|
||||
--help | -h | *)
|
||||
m_usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
m_set "$mode"
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash
|
||||
|
||||
o0="Cancel"
|
||||
o1="Internal Only"
|
||||
o2="External Only"
|
||||
o3="Extend Internal"
|
||||
o4="Clone Internal"
|
||||
|
||||
options="$o0\n$o1\n$o2\n$o3\n$o4"
|
||||
|
||||
selection="$(echo -e "$options" | displayer rofi -lines 5 -dmenu -p "Monitor" -a 0 -no-sustom)"
|
||||
echo $selection
|
||||
|
||||
case $selection in
|
||||
$o1)
|
||||
displayer /home/gwen/bin/monitor.sh --internal
|
||||
;;
|
||||
$o2)
|
||||
displayer /home/gwen/bin/monitor.sh --external
|
||||
;;
|
||||
$o3)
|
||||
displayer /home/gwen/bin/monitor.sh --extend
|
||||
;;
|
||||
$o4)
|
||||
displayer /home/gwen/bin/monitor.sh --clone
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
sudo cryptsetup open $1 backup && sudo mount /dev/mapper/backup /mnt/backup
|
|
@ -1,11 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Map the pen device explicitly to the touch screen
|
||||
|
||||
declare -a devices=("Wacom Pen and multitouch sensor Finger touch" "Wacom Pen and multitouch sensor Pen stylus" "Wacom Pen and multitouch sensor Pen eraser")
|
||||
|
||||
for i in "${devices[@]}"
|
||||
do
|
||||
id=$( xinput --list --id-only "$i" )
|
||||
xinput map-to-output "$id" eDP-1
|
||||
done
|
|
@ -0,0 +1,37 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Rotate built-in screen including touch/pen
|
||||
|
||||
declare -a devices=("Wacom Pen and multitouch sensor Finger touch" "Wacom Pen and multitouch sensor Pen stylus" "Wacom Pen and multitouch sensor Pen eraser")
|
||||
|
||||
rotate() {
|
||||
xrandr -o $1
|
||||
|
||||
for i in "${devices[@]}"
|
||||
do
|
||||
xsetwacom set "$i" Rotate $2
|
||||
done
|
||||
}
|
||||
|
||||
if [[ $# -eq 0 ]]
|
||||
then
|
||||
rotate 0 none
|
||||
fi
|
||||
|
||||
while getopts 'hnlr' flag
|
||||
do
|
||||
case "${flag}" in
|
||||
n)
|
||||
rotate 0 none
|
||||
;;
|
||||
l)
|
||||
rotate 3 cw
|
||||
;;
|
||||
r)
|
||||
rotate 1 ccw
|
||||
;;
|
||||
h | *)
|
||||
echo "Usage: $0 -h -n -l -r" 1>&2; exit 1;
|
||||
;;
|
||||
esac
|
||||
done
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
o0="Cancel"
|
||||
o1="Screen"
|
||||
o2="Area"
|
||||
o3="Window"
|
||||
|
||||
options="$o0\n$o1\n$o2\n$o3"
|
||||
|
||||
selection="$(echo -e "$options" | displayer rofi -lines 4 -dmenu -p "Scrot" -a 0 -no-sustom)"
|
||||
|
||||
case $selection in
|
||||
$o1)
|
||||
cd /home/gwen/Images/Scrot/ && sleep 0.5 && displayer scrot
|
||||
;;
|
||||
$o2)
|
||||
cd /home/gwen/Images/Scrot/ && sleep 0.5 && displayer scrot -s
|
||||
;;
|
||||
$o3)
|
||||
cd /home/gwen/Images/Scrot/ && sleep 0.5 && displayer scrot -u
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
sudo umount /mnt/backup && sudo cryptsetup close /dev/mapper/backup
|
|
@ -0,0 +1,114 @@
|
|||
#!/bin/bash
|
||||
# Control the volume
|
||||
# Might require setting the default sink using
|
||||
# pactl set-default-sink <someSink>
|
||||
|
||||
APPNAME=$( basename "$0" | sed "s/\.sh$//" )
|
||||
|
||||
notification="false"
|
||||
sink="@DEFAULT_SINK@"
|
||||
maxVolumeLevel=120
|
||||
|
||||
verbose="false"
|
||||
|
||||
v_log_debug() {
|
||||
if $verbose
|
||||
then
|
||||
echo "$APPNAME: DEBUG: $1" > /dev/tty
|
||||
fi
|
||||
}
|
||||
|
||||
v_run_pactl() {
|
||||
out=$(sudo -u '#1000' XDG_RUNTIME_DIR=/run/user/1000 pactl $1)
|
||||
echo $out
|
||||
}
|
||||
|
||||
v_change_level() {
|
||||
# Change the volume according the the provided $1. + for increase, - for decrease
|
||||
case "$1" in
|
||||
+)
|
||||
#sudo -u '#1000' XDG_RUNTIME_DIR=/run/user/1000 pactl set-sink-volume "$sink" +5%
|
||||
v_run_pactl "set-sink-volume $sink +5%"
|
||||
;;
|
||||
-)
|
||||
#sudo -u '#1000' XDG_RUNTIME_DIR=/run/user/1000 pactl set-sink-volume "$sink" -5%
|
||||
v_run_pactl "set-sink-volume $sink -5%"
|
||||
;;
|
||||
m)
|
||||
#sudo -u '#1000' XDG_RUNTIME_DIR=/run/user/1000 pactl set-sink-mute "$sink" toggle
|
||||
v_run_pactl "set-sink-mute $sink toggle"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
}
|
||||
|
||||
v_send_notification() {
|
||||
local mute=$(v_run_pactl "get-sink-mute $sink" | sed -e 's_.*: \(\w\)_\1_')
|
||||
|
||||
local level=$(v_run_pactl "get-sink-volume $sink" | head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,')
|
||||
|
||||
|
||||
v_log_debug "Current Level: $level"
|
||||
|
||||
level=$(( level * 100 ))
|
||||
level=$(( level / $maxVolumeLevel ))
|
||||
|
||||
v_log_debug "Normalized Level: $level"
|
||||
|
||||
local levelDiff=$((20 - level))
|
||||
|
||||
if [[ $mute == no ]]
|
||||
then
|
||||
local message=" Unmute"
|
||||
else
|
||||
local message=" Mute"
|
||||
fi
|
||||
|
||||
displayer dunstify -a "changeVolume" -u low -r "38462528" -h int:value:$level $message
|
||||
}
|
||||
|
||||
v_usage() {
|
||||
printf "Usage: $0\n-i Increase volume\n-d decrease volumei\n-m mute\n-n notification\n-h help"
|
||||
}
|
||||
|
||||
while (( $# ))
|
||||
do
|
||||
case "$1" in
|
||||
-i)
|
||||
changeState=+
|
||||
shift
|
||||
;;
|
||||
-d)
|
||||
changeState=-
|
||||
shift
|
||||
;;
|
||||
-m)
|
||||
changeState=m
|
||||
shift
|
||||
;;
|
||||
-n)
|
||||
notification="true"
|
||||
shift
|
||||
;;
|
||||
-v)
|
||||
verbose="true"
|
||||
shift
|
||||
;;
|
||||
-h | *)
|
||||
v_usage
|
||||
exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -n ${changeState+x} ]]
|
||||
then
|
||||
echo "$(v_change_level $changeState)"
|
||||
fi
|
||||
|
||||
if $notification
|
||||
then
|
||||
v_log_debug "Send Notification"
|
||||
$(v_send_notification)
|
||||
fi
|
|
@ -0,0 +1,72 @@
|
|||
#!/bin/bash
|
||||
## wwan controller
|
||||
|
||||
modulePath=/home/gwen/.local/share/xmm7360-pci
|
||||
|
||||
enableWwan(){
|
||||
#disable wlan
|
||||
nmcli radio wifi off
|
||||
|
||||
#build module
|
||||
cd $modulePath
|
||||
sudo make clean
|
||||
sudo make
|
||||
|
||||
#load module
|
||||
sudo make load
|
||||
|
||||
#start wwan
|
||||
sudo python rpc/open_xdatachannel.py --apn gprs.swisscom.ch
|
||||
|
||||
cd -
|
||||
}
|
||||
|
||||
disableWwan(){
|
||||
#disable wwan
|
||||
sudo ip link set wwan0 down
|
||||
|
||||
#unload module
|
||||
cd $modulePath
|
||||
|
||||
sudo make unload
|
||||
|
||||
#enable wlan
|
||||
nmcli radio wifi on
|
||||
|
||||
cd -
|
||||
}
|
||||
|
||||
usage(){
|
||||
echo "Usage: $0
|
||||
-u enable Wwan
|
||||
-d disable Wwan
|
||||
-h help" 1>&2; exit 1;
|
||||
}
|
||||
|
||||
if [[ $# -eq 0 ]]
|
||||
then
|
||||
wwanCheck=$(ip a | grep wwan0)
|
||||
if [ -n "$wwanCheck" ]
|
||||
then
|
||||
displayer dunstify -a "wwanController" "Disable WWAN"
|
||||
disableWwan
|
||||
else
|
||||
displayer dunstify -a "wwanController" "Enable WWAN"
|
||||
enableWwan
|
||||
fi
|
||||
fi
|
||||
|
||||
while getopts 'udh' flag
|
||||
do
|
||||
case "${flag}" in
|
||||
u)
|
||||
enableWwan
|
||||
;;
|
||||
d)
|
||||
disableWwan
|
||||
;;
|
||||
h | *)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
|
@ -0,0 +1,101 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
#
|
||||
# https://www.opensource.org/licenses/mit-license.php
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
rule.precedence.color=deleted,completed,active,keyword.,tag.,project.,overdue,scheduled,due.today,due,blocked,blocking,recurring,tagged,uda.
|
||||
|
||||
# General decoration
|
||||
color.label=
|
||||
color.label.sort=
|
||||
color.alternate=
|
||||
color.header=yellow
|
||||
color.footnote=yellow
|
||||
color.warning=bold red
|
||||
color.error=white on red
|
||||
color.debug=blue
|
||||
|
||||
# Task state
|
||||
color.completed=
|
||||
color.deleted=
|
||||
color.active=black on bright green
|
||||
color.recurring=
|
||||
color.scheduled=white on green
|
||||
color.until=
|
||||
color.blocked=black on white
|
||||
color.blocking=black on bright white
|
||||
|
||||
# Project
|
||||
color.project.none=
|
||||
|
||||
# Priority
|
||||
color.uda.priority.H=bold white
|
||||
color.uda.priority.M=white
|
||||
color.uda.priority.L=
|
||||
|
||||
# Tags
|
||||
color.tag.next=bold yellow
|
||||
color.tag.none=green
|
||||
color.tagged=green
|
||||
|
||||
# Due
|
||||
color.due=blue
|
||||
color.due.today=magenta
|
||||
color.overdue=red
|
||||
|
||||
# UDA
|
||||
#color.uda.X=
|
||||
|
||||
# Report: burndown
|
||||
color.burndown.done=on green
|
||||
color.burndown.pending=on red
|
||||
color.burndown.started=on yellow
|
||||
|
||||
# Report: history
|
||||
color.history.add=black on red
|
||||
color.history.delete=black on yellow
|
||||
color.history.done=black on green
|
||||
|
||||
# Report: summary
|
||||
color.summary.background=white on black
|
||||
color.summary.bar=black on green
|
||||
|
||||
# Command: calendar
|
||||
color.calendar.due=white on red
|
||||
color.calendar.due.today=bold white on red
|
||||
color.calendar.holiday=black on bright yellow
|
||||
color.calendar.overdue=black on bright red
|
||||
color.calendar.today=bold white on bright blue
|
||||
color.calendar.weekend=white on bright black
|
||||
color.calendar.weeknumber=bold blue
|
||||
|
||||
# Command: sync
|
||||
color.sync.added=green
|
||||
color.sync.changed=yellow
|
||||
color.sync.rejected=red
|
||||
|
||||
# Command: undo
|
||||
color.undo.after=green
|
||||
color.undo.before=red
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
# [Created by task 2.5.3 3/2/2021 19:21:58]
|
||||
# Taskwarrior program configuration file.
|
||||
# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color',
|
||||
# 'man task-sync' or 'man taskrc'
|
||||
|
||||
# Here is an example of entries that use the default, override and blank values
|
||||
# variable=foo -- By specifying a value, this overrides the default
|
||||
# variable= -- By specifying no value, this means no default
|
||||
# #variable=foo -- By commenting out the line, or deleting it, this uses the default
|
||||
|
||||
# Use the command 'task show' to see all defaults and overrides
|
||||
|
||||
# Files
|
||||
data.location=/home/gwen/.local/share/taskwarrior
|
||||
|
||||
# Next
|
||||
report.next.columns = id,start.age,depends,priority,project,tags,due.relative,description,urgency
|
||||
report.next.labels =ID, Active,Deps,P,Project,Tag,Due,Description,Urg
|
||||
|
||||
# Custom Report Eth
|
||||
report.eth.description = 'Next filtering for project ETH'
|
||||
report.eth.columns = id,start.age,depends,priority,project,tags,due.relative,description,urgency
|
||||
report.eth.filter = status:pending limit:page project:ETH
|
||||
report.eth.labels = ID, Active,Deps,P,Project,Tag,Due,Description,Urg
|
||||
report.eth.sort = urgency-
|
||||
|
||||
# Urgency
|
||||
urgency.tags.coefficient = 0
|
||||
urgency.project.coefficient = 0
|
||||
|
||||
# Theme
|
||||
include /home/gwen/.config/taskwarrior/dark-16.theme
|
|
@ -0,0 +1,157 @@
|
|||
#
|
||||
# Thunar
|
||||
#
|
||||
style "thunar-handle" { GtkPaned::handle-size = 2 }
|
||||
|
||||
style "dark-sidebar" {
|
||||
GtkTreeView::odd_row_color = @dark_sidebar_bg
|
||||
GtkTreeView::even_row_color = @dark_sidebar_bg
|
||||
|
||||
|
||||
base[NORMAL] = @dark_sidebar_bg
|
||||
base[INSENSITIVE] = @dark_sidebar_bg
|
||||
|
||||
text[NORMAL] = "#BAC3CF"
|
||||
text[ACTIVE] = @selected_fg_color
|
||||
text[SELECTED] = @selected_fg_color
|
||||
}
|
||||
|
||||
style "thunar-frame" {
|
||||
xthickness = 0
|
||||
ythickness = 0
|
||||
}
|
||||
|
||||
widget_class "*ThunarWindow*.<GtkScrolledWindow>" style "thunar-frame"
|
||||
widget_class "*ThunarShortcutsView*" style "dark-sidebar"
|
||||
widget_class "*ThunarTreeView*" style "dark-sidebar"
|
||||
widget_class "*ThunarWindow*.<GtkHPaned>" style "thunar-handle"
|
||||
|
||||
#
|
||||
# Workaround for colored entries
|
||||
#
|
||||
style "entry_border" {
|
||||
|
||||
xthickness = 7
|
||||
ythickness = 5
|
||||
|
||||
engine "pixmap" {
|
||||
|
||||
image {
|
||||
function = SHADOW
|
||||
state = NORMAL
|
||||
detail = "entry"
|
||||
file = "assets/entry-border-bg.png"
|
||||
border = {6, 6, 6, 6}
|
||||
stretch = TRUE
|
||||
}
|
||||
|
||||
image {
|
||||
function = SHADOW
|
||||
state = ACTIVE
|
||||
detail = "entry"
|
||||
file = "assets/entry-border-active-bg.png"
|
||||
border = {6, 6, 6, 6}
|
||||
stretch = TRUE
|
||||
}
|
||||
|
||||
image {
|
||||
function = FLAT_BOX
|
||||
state = ACTIVE
|
||||
detail = "entry_bg"
|
||||
file = "assets/null.png"
|
||||
}
|
||||
|
||||
image {
|
||||
function = FLAT_BOX
|
||||
state = INSENSITIVE
|
||||
detail = "entry_bg"
|
||||
file = "assets/null.png"
|
||||
}
|
||||
|
||||
image {
|
||||
function = FLAT_BOX
|
||||
detail = "entry_bg"
|
||||
file = "assets/null.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
style "combobox_entry_border" = "combobox_entry" {
|
||||
|
||||
engine "pixmap" {
|
||||
|
||||
image {
|
||||
function = SHADOW
|
||||
detail = "entry"
|
||||
state = NORMAL
|
||||
shadow = IN
|
||||
file = "assets/combo-entry-border.png"
|
||||
border = { 4, 4, 12, 12 }
|
||||
stretch = TRUE
|
||||
direction = LTR
|
||||
}
|
||||
|
||||
image {
|
||||
function = SHADOW
|
||||
detail = "entry"
|
||||
state = ACTIVE
|
||||
file = "assets/combo-entry-border-focus.png"
|
||||
border = { 4, 4, 12, 12 }
|
||||
stretch = TRUE
|
||||
direction = LTR
|
||||
}
|
||||
|
||||
image {
|
||||
function = SHADOW
|
||||
detail = "entry"
|
||||
state = NORMAL
|
||||
shadow = IN
|
||||
file = "assets/combo-entry-border-rtl.png"
|
||||
border = { 4, 4, 12, 12 }
|
||||
stretch = TRUE
|
||||
direction = RTL
|
||||
}
|
||||
|
||||
image {
|
||||
function = SHADOW
|
||||
detail = "entry"
|
||||
state = ACTIVE
|
||||
file = "assets/combo-entry-border-focus-rtl.png"
|
||||
border = { 4, 4, 12, 12 }
|
||||
stretch = TRUE
|
||||
direction = RTL
|
||||
}
|
||||
|
||||
image {
|
||||
function = FLAT_BOX
|
||||
state = INSENSITIVE
|
||||
detail = "entry_bg"
|
||||
file = "assets/null.png"
|
||||
}
|
||||
|
||||
image {
|
||||
function = FLAT_BOX
|
||||
detail = "entry_bg"
|
||||
file = "assets/null.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Mousepad search entry
|
||||
widget_class "*MousepadSearchBar*.<GtkEntry>" style "entry_border"
|
||||
|
||||
# Mousepad find and replace
|
||||
widget_class "*MousepadReplaceDialog*.<GtkEntry>" style "entry_border"
|
||||
|
||||
# Thunar bulk rename
|
||||
widget_class "*ThunarRenamerDialog*.<GtkEntry>" style "entry_border"
|
||||
|
||||
# Hexchat input box
|
||||
class "SexySpellEntry" style:highest "entry_border"
|
||||
|
||||
# Geany search entries
|
||||
widget "*GeanyToolbar.*geany-search-entry-no-match*" style "entry_border"
|
||||
widget "*GeanyToolbar.*GtkEntry*" style "entry_border"
|
||||
|
||||
widget "GeanyDialogSearch.*GtkComboBoxEntry*.*geany-search-entry-no-match*" style "combobox_entry_border"
|
After Width: | Height: | Size: 320 B |
After Width: | Height: | Size: 306 B |
After Width: | Height: | Size: 287 B |
After Width: | Height: | Size: 285 B |
After Width: | Height: | Size: 285 B |
After Width: | Height: | Size: 319 B |
After Width: | Height: | Size: 326 B |
After Width: | Height: | Size: 319 B |
After Width: | Height: | Size: 316 B |
After Width: | Height: | Size: 321 B |
After Width: | Height: | Size: 314 B |
After Width: | Height: | Size: 316 B |
After Width: | Height: | Size: 325 B |
After Width: | Height: | Size: 319 B |
After Width: | Height: | Size: 288 B |
After Width: | Height: | Size: 280 B |
After Width: | Height: | Size: 277 B |
After Width: | Height: | Size: 320 B |
After Width: | Height: | Size: 266 B |
After Width: | Height: | Size: 257 B |
After Width: | Height: | Size: 257 B |
After Width: | Height: | Size: 257 B |
After Width: | Height: | Size: 348 B |
After Width: | Height: | Size: 359 B |
After Width: | Height: | Size: 259 B |
After Width: | Height: | Size: 265 B |
After Width: | Height: | Size: 253 B |
After Width: | Height: | Size: 249 B |
After Width: | Height: | Size: 254 B |
After Width: | Height: | Size: 249 B |
After Width: | Height: | Size: 237 B |
After Width: | Height: | Size: 235 B |
After Width: | Height: | Size: 236 B |
After Width: | Height: | Size: 231 B |
After Width: | Height: | Size: 240 B |
After Width: | Height: | Size: 227 B |
After Width: | Height: | Size: 232 B |
After Width: | Height: | Size: 222 B |
After Width: | Height: | Size: 235 B |
After Width: | Height: | Size: 225 B |
After Width: | Height: | Size: 230 B |
After Width: | Height: | Size: 222 B |
After Width: | Height: | Size: 224 B |
After Width: | Height: | Size: 216 B |
After Width: | Height: | Size: 217 B |
After Width: | Height: | Size: 214 B |
After Width: | Height: | Size: 224 B |
After Width: | Height: | Size: 220 B |
After Width: | Height: | Size: 204 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 198 B |
After Width: | Height: | Size: 194 B |
After Width: | Height: | Size: 253 B |
After Width: | Height: | Size: 245 B |
After Width: | Height: | Size: 253 B |
After Width: | Height: | Size: 155 B |
After Width: | Height: | Size: 155 B |
After Width: | Height: | Size: 230 B |
After Width: | Height: | Size: 311 B |