Compare commits
97 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 624ef3735d | |||
| 15418dc25c | |||
| 33d5d2813c | |||
| 246366185e | |||
| 6217a70355 | |||
| 42ecc3ce55 | |||
| 441385588e | |||
| 7ff1d0143d | |||
| 92ca7fcba5 | |||
| 6c3100eab7 | |||
| 0cc4d816ec | |||
| ddaa4f1678 | |||
| 548301d3a9 | |||
| 9c829b888f | |||
| b641cc906d | |||
| 273dae2fda | |||
| e40bd1bc73 | |||
| e0d7173f5f | |||
| 706ebf89a4 | |||
| ed8606cedc | |||
| 2e15fe1ddc | |||
| 3e2970ee70 | |||
| 94e7858450 | |||
| 3d34eb5fb3 | |||
| 0d19a7953f | |||
| 1ecaacc50c | |||
| 1895a40420 | |||
| 681dd4cd04 | |||
| 0134b654e9 | |||
| ed7270d498 | |||
| a19383b870 | |||
| b4d41eb3dd | |||
| 4201757f65 | |||
| f5f1536d33 | |||
| 9974368b5a | |||
| af6f77583a | |||
| be114ef453 | |||
| e096a511f7 | |||
| 5dfb329b91 | |||
| ff9d8a634b | |||
| 8e9c1dbdf6 | |||
| d4e03f6a67 | |||
| 6304e735ac | |||
| aa1657929e | |||
| 495bf70353 | |||
| 87e08e66d3 | |||
| f33b964601 | |||
| 26d37df077 | |||
| 81dae4c56c | |||
| 87caaa2849 | |||
| 32595e5a96 | |||
| 7236721f64 | |||
| 9caa1035a7 | |||
| 45bab6051d | |||
| 209f5a0ce7 | |||
| 39a78ecff9 | |||
| 4e3e69a99e | |||
| 676ea30b3e | |||
| 8ceca5fcd1 | |||
| dbae6a337f | |||
| ca29df0609 | |||
| 3064978594 | |||
| 8a5494f36d | |||
| 7c5b1055bc | |||
| b5604f909b | |||
| d18c705273 | |||
| a4d9021586 | |||
| 72a592f13a | |||
| 5a213e4157 | |||
| 4623c86ea2 | |||
| 514522d6c1 | |||
| 3b0356eb22 | |||
| 31e0108da7 | |||
| 98f1927ac3 | |||
| 27c4afa80d | |||
| 6d17e7be71 | |||
| 6ad08840eb | |||
| 7fb7871e03 | |||
| 7a71ebfd22 | |||
| 7485124c29 | |||
| 0862fd0eb1 | |||
| e148588e15 | |||
| 24fce0a166 | |||
| 1160fe3774 | |||
| e380068dce | |||
| 0b85dadf15 | |||
| 714ad2c276 | |||
| 7ce4314caa | |||
| 5b73abca03 | |||
| 2cf0a2cd25 | |||
| 6100d8bc08 | |||
| d03449b8dd | |||
| 81126619d8 | |||
| f3e861af9a | |||
| 6fe75be9f8 | |||
| f019be7c5b | |||
| 39597b0936 |
@@ -1,10 +0,0 @@
|
|||||||
#
|
|
||||||
# ~/.bashrc
|
|
||||||
#
|
|
||||||
|
|
||||||
# If not running interactively, don't do anything
|
|
||||||
[[ $- != *i* ]] && return
|
|
||||||
|
|
||||||
alias ls='ls --color=auto'
|
|
||||||
alias dotfiles='/usr/bin/git --git-dir=$HOME/.config/dotfiles/ --work-tree=$HOME'
|
|
||||||
PS1='[\u@\h \W]\$ '
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
|
|
||||||
readonly = DOCKER_FOLDER="/srv/"
|
|
||||||
|
|
||||||
function ok()
|
|
||||||
{
|
|
||||||
echo -e "\e[32mdone\e[0m"
|
|
||||||
}
|
|
||||||
|
|
||||||
function failed()
|
|
||||||
{
|
|
||||||
echo -e "\e[31mfailed\e[0m"
|
|
||||||
}
|
|
||||||
|
|
||||||
function main() {
|
|
||||||
|
|
||||||
container_list=$(find "${DOCKER_FOLDER}" -mindepth 1 -maxdepth 1 -type d ! -iname "archives" ! -iname "images" ! -iname "lost+found")
|
|
||||||
|
|
||||||
for container_path in ${container_list}; do
|
|
||||||
cd "${container_path}"
|
|
||||||
docker compose down \
|
|
||||||
&& docker compose stop \
|
|
||||||
&& docker compose up -d
|
|
||||||
cd - &>/dev/null
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
## Mise à jour des container docker
|
|
||||||
|
|
||||||
readonly DOCKER_FOLDER="/srv/"
|
|
||||||
|
|
||||||
function ok()
|
|
||||||
{
|
|
||||||
echo -e "\e[32mdone\e[0m"
|
|
||||||
}
|
|
||||||
|
|
||||||
function failed()
|
|
||||||
{
|
|
||||||
echo -e "\e[31mfailed\e[0m"
|
|
||||||
}
|
|
||||||
|
|
||||||
function main() {
|
|
||||||
local container_list=$(find "${DOCKER_FOLDER}" -mindepth 1 -maxdepth 1 -type d ! -iname "archives" ! -iname "images" ! -iname "lost+found")
|
|
||||||
local container_updated=()
|
|
||||||
|
|
||||||
for container_path in ${container_list}; do
|
|
||||||
cd "${container_path}"
|
|
||||||
if [ -f docker-compose.yml ]; then
|
|
||||||
printf "Updating ${container_path} : \n" \
|
|
||||||
&& docker compose pull \
|
|
||||||
&& docker compose build --pull \
|
|
||||||
&& container_updated+=(${container_path}) \
|
|
||||||
&& ok \
|
|
||||||
|| failed
|
|
||||||
fi
|
|
||||||
cd - &>/dev/null
|
|
||||||
done
|
|
||||||
|
|
||||||
for container_path in ${container_updated[*]}; do
|
|
||||||
cd "${container_path}"
|
|
||||||
docker compose down \
|
|
||||||
&& docker compose stop \
|
|
||||||
&& docker compose up -d
|
|
||||||
cd - &>/dev/null
|
|
||||||
done
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
@@ -1,444 +0,0 @@
|
|||||||
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
|
||||||
|
|
||||||
# Any items in the `env` entry below will be added as
|
|
||||||
# environment variables. Some entries may override variables
|
|
||||||
# set by alacritty itself.
|
|
||||||
env:
|
|
||||||
# TERM variable
|
|
||||||
#
|
|
||||||
# This value is used to set the `$TERM` environment variable for
|
|
||||||
# each instance of Alacritty. If it is not present, alacritty will
|
|
||||||
# check the local terminfo database and use 'alacritty' if it is
|
|
||||||
# available, otherwise 'xterm-256color' is used.
|
|
||||||
#
|
|
||||||
TERM: xterm-256color
|
|
||||||
|
|
||||||
window:
|
|
||||||
# Window dimensions (changes require restart)
|
|
||||||
#
|
|
||||||
# Specified in number of columns/lines, not pixels.
|
|
||||||
# If both are `0`, this setting is ignored.
|
|
||||||
dimensions:
|
|
||||||
columns: 80
|
|
||||||
lines: 24
|
|
||||||
|
|
||||||
# Window padding (changes require restart)
|
|
||||||
#
|
|
||||||
# Blank space added around the window in pixels. This padding is not scaled
|
|
||||||
# by DPI and the specified value is always added at both opposing sides.
|
|
||||||
padding:
|
|
||||||
x: 5
|
|
||||||
y: 5
|
|
||||||
|
|
||||||
# Window decorations
|
|
||||||
#
|
|
||||||
# Values for `decorations`:
|
|
||||||
# - full: Borders and title bar
|
|
||||||
# - none: Neither borders nor title bar
|
|
||||||
decorations: none
|
|
||||||
|
|
||||||
scrolling:
|
|
||||||
# Maximum number of lines in the scrollback buffer.
|
|
||||||
# Specifying '0' will disable scrolling.
|
|
||||||
history: 10000
|
|
||||||
|
|
||||||
# Number of lines the viewport will move for every line scrolled when
|
|
||||||
# scrollback is enabled (history > 0).
|
|
||||||
multiplier: 3
|
|
||||||
|
|
||||||
# Font configuration (changes require restart)
|
|
||||||
#
|
|
||||||
# Important font attributes like antialiasing, subpixel aa, and hinting can be
|
|
||||||
# controlled through fontconfig. Specifically, the following attributes should
|
|
||||||
# have an effect:
|
|
||||||
# - hintstyle
|
|
||||||
# - antialias
|
|
||||||
# - lcdfilter
|
|
||||||
# - rgba
|
|
||||||
#
|
|
||||||
# For instance, if you wish to disable subpixel antialiasing, you might set the
|
|
||||||
# rgba property to `none`. If you wish to completely disable antialiasing, you
|
|
||||||
# can set antialias to `false`.
|
|
||||||
#
|
|
||||||
# Please see these resources for more information on how to use fontconfig:
|
|
||||||
# - https://wiki.archlinux.org/index.php/font_configuration#Fontconfig_configuration
|
|
||||||
# - file:///usr/share/doc/fontconfig/fontconfig-user.html
|
|
||||||
font:
|
|
||||||
# Normal (roman) font face
|
|
||||||
normal:
|
|
||||||
family: hack
|
|
||||||
# The `style` can be specified to pick a specific face.
|
|
||||||
style: Regular
|
|
||||||
|
|
||||||
# Bold font face
|
|
||||||
bold:
|
|
||||||
family: hack
|
|
||||||
# The `style` can be specified to pick a specific face.
|
|
||||||
style: Bold
|
|
||||||
|
|
||||||
# Italic font face
|
|
||||||
italic:
|
|
||||||
family: hack
|
|
||||||
# The `style` can be specified to pick a specific face.
|
|
||||||
style: Italic
|
|
||||||
|
|
||||||
# Point size
|
|
||||||
size: 10
|
|
||||||
|
|
||||||
# Offset is the extra space around each character. `offset.y` can be thought of
|
|
||||||
# as modifying the line spacing, and `offset.x` as modifying the letter spacing.
|
|
||||||
offset:
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
|
|
||||||
# Glyph offset determines the locations of the glyphs within their cells with
|
|
||||||
# the default being at the bottom. Increasing `x` moves the glyph to the right,
|
|
||||||
# increasing `y` moves the glyph upwards.
|
|
||||||
glyph_offset:
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
|
|
||||||
# If `true`, bold text is drawn using the bright color variants.
|
|
||||||
draw_bold_text_with_bright_colors: true
|
|
||||||
|
|
||||||
# Cyberpunk-Neon colours
|
|
||||||
colors:
|
|
||||||
# Default colours
|
|
||||||
primary:
|
|
||||||
background: '0x000b1e'
|
|
||||||
foreground: '0x0abdc6'
|
|
||||||
|
|
||||||
# Colors that should be used to draw the terminal cursor. If these are unset,
|
|
||||||
# the cursor colour will be the inverse of the cell colour.
|
|
||||||
# cursor:
|
|
||||||
# text: '0x2e2e2d'
|
|
||||||
# # text: '0x000000'
|
|
||||||
# cursor: '0xffffff'
|
|
||||||
|
|
||||||
# Normal colors
|
|
||||||
normal:
|
|
||||||
black: '0x123e7c'
|
|
||||||
red: '0xff0000'
|
|
||||||
green: '0xd300c4'
|
|
||||||
yellow: '0xf57800'
|
|
||||||
blue: '0x123e7c'
|
|
||||||
magenta: '0x711c91'
|
|
||||||
cyan: '0x0abdc6'
|
|
||||||
white: '0xd7d7d5'
|
|
||||||
|
|
||||||
# Bright colors
|
|
||||||
bright:
|
|
||||||
black: '0x1c61c2'
|
|
||||||
red: '0xff0000'
|
|
||||||
green: '0xd300c4'
|
|
||||||
yellow: '0xf57800'
|
|
||||||
blue: '0x00ff00'
|
|
||||||
magenta: '0x711c91'
|
|
||||||
cyan: '0x0abdc6'
|
|
||||||
white: '0xd7d7d5'
|
|
||||||
|
|
||||||
# dim colors
|
|
||||||
dim:
|
|
||||||
black: '0x1c61c2'
|
|
||||||
red: '0xff0000'
|
|
||||||
green: '0xd300c4'
|
|
||||||
yellow: '0xf57800'
|
|
||||||
blue: '0x123e7c'
|
|
||||||
magenta: '0x711c91'
|
|
||||||
cyan: '0x0abdc6'
|
|
||||||
white: '0xd7d7d5'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Visual Bell
|
|
||||||
#
|
|
||||||
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
|
|
||||||
# rung, the terminal background will be set to white and transition back to the
|
|
||||||
# default background color. You can control the rate of this transition by
|
|
||||||
# setting the `duration` property (represented in milliseconds). You can also
|
|
||||||
# configure the transition function by setting the `animation` property.
|
|
||||||
#
|
|
||||||
# Values for `animation`:
|
|
||||||
# - Ease
|
|
||||||
# - EaseOut
|
|
||||||
# - EaseOutSine
|
|
||||||
# - EaseOutQuad
|
|
||||||
# - EaseOutCubic
|
|
||||||
# - EaseOutQuart
|
|
||||||
# - EaseOutQuint
|
|
||||||
# - EaseOutExpo
|
|
||||||
# - EaseOutCirc
|
|
||||||
# - Linear
|
|
||||||
#
|
|
||||||
# Specifying a `duration` of `0` will disable the visual bell.
|
|
||||||
bell:
|
|
||||||
animation: EaseOutExpo
|
|
||||||
duration: 0
|
|
||||||
|
|
||||||
# Background opacity
|
|
||||||
#
|
|
||||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
|
||||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
|
||||||
windows.opacity: 1.0
|
|
||||||
|
|
||||||
# Mouse bindings
|
|
||||||
#
|
|
||||||
# Available fields:
|
|
||||||
# - mouse
|
|
||||||
# - action
|
|
||||||
# - mods (optional)
|
|
||||||
#
|
|
||||||
# Values for `mouse`:
|
|
||||||
# - Middle
|
|
||||||
# - Left
|
|
||||||
# - Right
|
|
||||||
# - Numeric identifier such as `5`
|
|
||||||
#
|
|
||||||
# All available `mods` and `action` values are documented in the key binding
|
|
||||||
# section.
|
|
||||||
mouse_bindings:
|
|
||||||
- { mouse: Middle, action: PasteSelection }
|
|
||||||
|
|
||||||
mouse:
|
|
||||||
# Click settings
|
|
||||||
#
|
|
||||||
# The `double_click` and `triple_click` settings control the time
|
|
||||||
# alacritty should wait for accepting multiple clicks as one double
|
|
||||||
# or triple click.
|
|
||||||
double_click: { threshold: 300 }
|
|
||||||
triple_click: { threshold: 300 }
|
|
||||||
|
|
||||||
hints:
|
|
||||||
url:
|
|
||||||
# URL launcher
|
|
||||||
#
|
|
||||||
# This program is executed when clicking on a text which is recognized as a URL.
|
|
||||||
# The URL is always added to the command as the last parameter.
|
|
||||||
launcher: xdg-open
|
|
||||||
|
|
||||||
# URL modifiers
|
|
||||||
#
|
|
||||||
# These are the modifiers that need to be held down for opening URLs when clicking
|
|
||||||
# on them. The available modifiers are documented in the key binding section.
|
|
||||||
#modifiers: Control|Shift
|
|
||||||
|
|
||||||
selection:
|
|
||||||
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
|
|
||||||
|
|
||||||
# When set to `true`, selected text will be copied to both the primary and
|
|
||||||
# the selection clipboard. Otherwise, it will only be copied to the selection
|
|
||||||
# clipboard.
|
|
||||||
save_to_clipboard: false
|
|
||||||
|
|
||||||
window.dynamic_title: true
|
|
||||||
|
|
||||||
mouse.hide_when_typing: false
|
|
||||||
|
|
||||||
# Cursor style
|
|
||||||
#
|
|
||||||
# Values for 'cursor_style':
|
|
||||||
# - Block
|
|
||||||
# - Underline
|
|
||||||
# - Beam
|
|
||||||
cursor.style: Block
|
|
||||||
|
|
||||||
# If this is `true`, the cursor will be rendered as a hollow box when the
|
|
||||||
# window is not focused.
|
|
||||||
cursor.unfocused_hollow: true
|
|
||||||
|
|
||||||
# Live config reload (changes require restart)
|
|
||||||
live_config_reload: true
|
|
||||||
|
|
||||||
# Shell
|
|
||||||
#
|
|
||||||
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
|
|
||||||
# Entries in `shell.args` are passed unmodified as arguments to the shell.
|
|
||||||
#
|
|
||||||
#shell:
|
|
||||||
# program: /bin/bash
|
|
||||||
# args:
|
|
||||||
# - --login
|
|
||||||
|
|
||||||
# Key bindings
|
|
||||||
#
|
|
||||||
# Key bindings are specified as a list of objects. Each binding will specify
|
|
||||||
# a key and modifiers required to trigger it, terminal modes where the binding
|
|
||||||
# is applicable, and what should be done when the key binding fires. It can
|
|
||||||
# either send a byte sequnce to the running application (`chars`), execute
|
|
||||||
# a predefined action (`action`) or fork and execute a specified command plus
|
|
||||||
# arguments (`command`).
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# `- { key: V, mods: Command, action: Paste }`
|
|
||||||
#
|
|
||||||
# Available fields:
|
|
||||||
# - key
|
|
||||||
# - mods (optional)
|
|
||||||
# - chars | action | command (exactly one required)
|
|
||||||
# - mode (optional)
|
|
||||||
#
|
|
||||||
# Values for `key`:
|
|
||||||
# - `A` -> `Z`
|
|
||||||
# - `F1` -> `F12`
|
|
||||||
# - `Key1` -> `Key0`
|
|
||||||
#
|
|
||||||
# A full list with available key codes can be found here:
|
|
||||||
# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
|
|
||||||
#
|
|
||||||
# Instead of using the name of the keys, the `key` field also supports using
|
|
||||||
# the scancode of the desired key. Scancodes have to be specified as a
|
|
||||||
# decimal number.
|
|
||||||
# This command will allow you to display the hex scancodes for certain keys:
|
|
||||||
# `showkey --scancodes`
|
|
||||||
#
|
|
||||||
# Values for `mods`:
|
|
||||||
# - Command
|
|
||||||
# - Control
|
|
||||||
# - Shift
|
|
||||||
# - Alt
|
|
||||||
#
|
|
||||||
# Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
|
|
||||||
# Whitespace and capitalization is relevant and must match the example.
|
|
||||||
#
|
|
||||||
# Values for `chars`:
|
|
||||||
# The `chars` field writes the specified string to the terminal. This makes
|
|
||||||
# it possible to pass escape sequences.
|
|
||||||
# To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run
|
|
||||||
# the command `showkey -a` outside of tmux.
|
|
||||||
# Note that applications use terminfo to map escape sequences back to
|
|
||||||
# keys. It is therefore required to update the terminfo when
|
|
||||||
# changing an escape sequence.
|
|
||||||
#
|
|
||||||
# Values for `action`:
|
|
||||||
# - Paste
|
|
||||||
# - PasteSelection
|
|
||||||
# - Copy
|
|
||||||
# - IncreaseFontSize
|
|
||||||
# - DecreaseFontSize
|
|
||||||
# - ResetFontSize
|
|
||||||
# - ScrollPageUp
|
|
||||||
# - ScrollPageDown
|
|
||||||
# - ScrollToTop
|
|
||||||
# - ScrollToBottom
|
|
||||||
# - ClearHistory
|
|
||||||
# - Hide
|
|
||||||
# - Quit
|
|
||||||
#
|
|
||||||
# Values for `command`:
|
|
||||||
# The `command` field must be a map containing a `program` string and
|
|
||||||
# an `args` array of command line parameter strings.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# `command: { program: "alacritty", args: ["-e", "vttest"] }`
|
|
||||||
#
|
|
||||||
# Values for `mode`:
|
|
||||||
# - ~AppCursor
|
|
||||||
# - AppCursor
|
|
||||||
# - ~AppKeypad
|
|
||||||
# - AppKeypad
|
|
||||||
key_bindings:
|
|
||||||
- { key: V, mods: Control|Shift, action: Paste }
|
|
||||||
- { key: C, mods: Control|Shift, action: Copy }
|
|
||||||
- { key: Paste, action: Paste }
|
|
||||||
- { key: Copy, action: Copy }
|
|
||||||
- { key: Q, mods: Command, action: Quit }
|
|
||||||
- { key: W, mods: Command, action: Quit }
|
|
||||||
- { key: Insert, mods: Shift, action: PasteSelection }
|
|
||||||
- { key: Key0, mods: Control, action: ResetFontSize }
|
|
||||||
- { key: Equals, mods: Control, action: IncreaseFontSize }
|
|
||||||
# - { key: Subtract, mods: Control, action: DecreaseFontSize }
|
|
||||||
- { key: Home, chars: "\x1bOH", mode: AppCursor }
|
|
||||||
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
|
|
||||||
- { key: End, chars: "\x1bOF", mode: AppCursor }
|
|
||||||
- { key: End, chars: "\x1b[F", mode: ~AppCursor }
|
|
||||||
- { key: PageUp, mods: Shift, chars: "\x1b[5;2~" }
|
|
||||||
- { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
|
|
||||||
- { key: PageUp, chars: "\x1b[5~" }
|
|
||||||
- { key: PageDown, mods: Shift, chars: "\x1b[6;2~" }
|
|
||||||
- { key: PageDown, mods: Control, chars: "\x1b[6;5~" }
|
|
||||||
- { key: PageDown, chars: "\x1b[6~" }
|
|
||||||
- { key: Tab, mods: Shift, chars: "\x1b[Z" }
|
|
||||||
- { key: Back, chars: "\x7f" }
|
|
||||||
- { key: Back, mods: Alt, chars: "\x1b\x7f" }
|
|
||||||
- { key: Insert, chars: "\x1b[2~" }
|
|
||||||
- { key: Delete, chars: "\x1b[3~" }
|
|
||||||
- { key: Left, mods: Shift, chars: "\x1b[1;2D" }
|
|
||||||
- { key: Left, mods: Control, chars: "\x1b[1;5D" }
|
|
||||||
- { key: Left, mods: Alt, chars: "\x1b[1;3D" }
|
|
||||||
- { key: Left, chars: "\x1b[D", mode: ~AppCursor }
|
|
||||||
- { key: Left, chars: "\x1bOD", mode: AppCursor }
|
|
||||||
- { key: Right, mods: Shift, chars: "\x1b[1;2C" }
|
|
||||||
- { key: Right, mods: Control, chars: "\x1b[1;5C" }
|
|
||||||
- { key: Right, mods: Alt, chars: "\x1b[1;3C" }
|
|
||||||
- { key: Right, chars: "\x1b[C", mode: ~AppCursor }
|
|
||||||
- { key: Right, chars: "\x1bOC", mode: AppCursor }
|
|
||||||
- { key: Up, mods: Shift, chars: "\x1b[1;2A" }
|
|
||||||
- { key: Up, mods: Control, chars: "\x1b[1;5A" }
|
|
||||||
- { key: Up, mods: Alt, chars: "\x1b[1;3A" }
|
|
||||||
- { key: Up, chars: "\x1b[A", mode: ~AppCursor }
|
|
||||||
- { key: Up, chars: "\x1bOA", mode: AppCursor }
|
|
||||||
- { key: Down, mods: Shift, chars: "\x1b[1;2B" }
|
|
||||||
- { key: Down, mods: Control, chars: "\x1b[1;5B" }
|
|
||||||
- { key: Down, mods: Alt, chars: "\x1b[1;3B" }
|
|
||||||
- { key: Down, chars: "\x1b[B", mode: ~AppCursor }
|
|
||||||
- { key: Down, chars: "\x1bOB", mode: AppCursor }
|
|
||||||
- { key: F1, chars: "\x1bOP" }
|
|
||||||
- { key: F2, chars: "\x1bOQ" }
|
|
||||||
- { key: F3, chars: "\x1bOR" }
|
|
||||||
- { key: F4, chars: "\x1bOS" }
|
|
||||||
- { key: F5, chars: "\x1b[15~" }
|
|
||||||
- { key: F6, chars: "\x1b[17~" }
|
|
||||||
- { key: F7, chars: "\x1b[18~" }
|
|
||||||
- { key: F8, chars: "\x1b[19~" }
|
|
||||||
- { key: F9, chars: "\x1b[20~" }
|
|
||||||
- { key: F10, chars: "\x1b[21~" }
|
|
||||||
- { key: F11, chars: "\x1b[23~" }
|
|
||||||
- { key: F12, chars: "\x1b[24~" }
|
|
||||||
- { key: F1, mods: Shift, chars: "\x1b[1;2P" }
|
|
||||||
- { key: F2, mods: Shift, chars: "\x1b[1;2Q" }
|
|
||||||
- { key: F3, mods: Shift, chars: "\x1b[1;2R" }
|
|
||||||
- { key: F4, mods: Shift, chars: "\x1b[1;2S" }
|
|
||||||
- { key: F5, mods: Shift, chars: "\x1b[15;2~" }
|
|
||||||
- { key: F6, mods: Shift, chars: "\x1b[17;2~" }
|
|
||||||
- { key: F7, mods: Shift, chars: "\x1b[18;2~" }
|
|
||||||
- { key: F8, mods: Shift, chars: "\x1b[19;2~" }
|
|
||||||
- { key: F9, mods: Shift, chars: "\x1b[20;2~" }
|
|
||||||
- { key: F10, mods: Shift, chars: "\x1b[21;2~" }
|
|
||||||
- { key: F11, mods: Shift, chars: "\x1b[23;2~" }
|
|
||||||
- { key: F12, mods: Shift, chars: "\x1b[24;2~" }
|
|
||||||
- { key: F1, mods: Control, chars: "\x1b[1;5P" }
|
|
||||||
- { key: F2, mods: Control, chars: "\x1b[1;5Q" }
|
|
||||||
- { key: F3, mods: Control, chars: "\x1b[1;5R" }
|
|
||||||
- { key: F4, mods: Control, chars: "\x1b[1;5S" }
|
|
||||||
- { key: F5, mods: Control, chars: "\x1b[15;5~" }
|
|
||||||
- { key: F6, mods: Control, chars: "\x1b[17;5~" }
|
|
||||||
- { key: F7, mods: Control, chars: "\x1b[18;5~" }
|
|
||||||
- { key: F8, mods: Control, chars: "\x1b[19;5~" }
|
|
||||||
- { key: F9, mods: Control, chars: "\x1b[20;5~" }
|
|
||||||
- { key: F10, mods: Control, chars: "\x1b[21;5~" }
|
|
||||||
- { key: F11, mods: Control, chars: "\x1b[23;5~" }
|
|
||||||
- { key: F12, mods: Control, chars: "\x1b[24;5~" }
|
|
||||||
- { key: F1, mods: Alt, chars: "\x1b[1;6P" }
|
|
||||||
- { key: F2, mods: Alt, chars: "\x1b[1;6Q" }
|
|
||||||
- { key: F3, mods: Alt, chars: "\x1b[1;6R" }
|
|
||||||
- { key: F4, mods: Alt, chars: "\x1b[1;6S" }
|
|
||||||
- { key: F5, mods: Alt, chars: "\x1b[15;6~" }
|
|
||||||
- { key: F6, mods: Alt, chars: "\x1b[17;6~" }
|
|
||||||
- { key: F7, mods: Alt, chars: "\x1b[18;6~" }
|
|
||||||
- { key: F8, mods: Alt, chars: "\x1b[19;6~" }
|
|
||||||
- { key: F9, mods: Alt, chars: "\x1b[20;6~" }
|
|
||||||
- { key: F10, mods: Alt, chars: "\x1b[21;6~" }
|
|
||||||
- { key: F11, mods: Alt, chars: "\x1b[23;6~" }
|
|
||||||
- { key: F12, mods: Alt, chars: "\x1b[24;6~" }
|
|
||||||
- { key: F1, mods: Super, chars: "\x1b[1;3P" }
|
|
||||||
- { key: F2, mods: Super, chars: "\x1b[1;3Q" }
|
|
||||||
- { key: F3, mods: Super, chars: "\x1b[1;3R" }
|
|
||||||
- { key: F4, mods: Super, chars: "\x1b[1;3S" }
|
|
||||||
- { key: F5, mods: Super, chars: "\x1b[15;3~" }
|
|
||||||
- { key: F6, mods: Super, chars: "\x1b[17;3~" }
|
|
||||||
- { key: F7, mods: Super, chars: "\x1b[18;3~" }
|
|
||||||
- { key: F8, mods: Super, chars: "\x1b[19;3~" }
|
|
||||||
- { key: F9, mods: Super, chars: "\x1b[20;3~" }
|
|
||||||
- { key: F10, mods: Super, chars: "\x1b[21;3~" }
|
|
||||||
- { key: F11, mods: Super, chars: "\x1b[23;3~" }
|
|
||||||
- { key: F12, mods: Super, chars: "\x1b[24;3~" }
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
output DP1
|
|
||||||
off
|
|
||||||
output DP2
|
|
||||||
off
|
|
||||||
output DP2-2
|
|
||||||
off
|
|
||||||
output HDMI1
|
|
||||||
off
|
|
||||||
output HDMI2
|
|
||||||
off
|
|
||||||
output HDMI3
|
|
||||||
off
|
|
||||||
output VIRTUAL1
|
|
||||||
off
|
|
||||||
output eDP1
|
|
||||||
crtc 0
|
|
||||||
mode 1920x1080
|
|
||||||
pos 0x0
|
|
||||||
primary
|
|
||||||
rate 60.00
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-colorspace Default
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
x-prop-scaling_mode Full aspect
|
|
||||||
output DP2-1
|
|
||||||
crtc 1
|
|
||||||
mode 1920x1080
|
|
||||||
pos 1920x0
|
|
||||||
rate 60.00
|
|
||||||
x-prop-audio auto
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
output DP2-3
|
|
||||||
crtc 2
|
|
||||||
mode 1920x1080
|
|
||||||
pos 0x1080
|
|
||||||
rate 60.00
|
|
||||||
x-prop-audio auto
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
DP2-1 00ffffffffffff005a6332c1010101012d1d0103803c22782e2235a3594d9c28135054bfef80b300a940a9c0950090408180814081c0023a801871382d40582c450056502100001e000000ff00554e523139343536323930320a000000fd00324b185211000a202020202020000000fc005641323731392053657269657301ad020322f14c9005040302071f141312160123097f078301000068030c001000000000023a801871382d40582c450056502100001e011d8018711c1620582c250056502100009e011d007251d01e206e28550056502100001e8c0ad08a20e02d10103e9600565021000018023a80d072382d40102c458056502100001e00000074
|
|
||||||
DP2-3 00ffffffffffff0054e41515170621201f1f0104a5221378221e55a059569f270d5054210800d1c0818095009500b30081c001010101023a801871382d40582c450059c21000001e000000ff0032303231303631370a20202020000000fc00434431363046480a2020202020000000fd00383d1e5311000a2020202020200150020310c043900204230907078301000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094
|
|
||||||
eDP1 00ffffffffffff003870560000000000121e0104951f1178027535955c578f281d5054000000010101010101010101010101010101012a3680a070381f403020350035ae1000001a522b80a070381f403020350035ae1000001a000000fe004a34594b4780313430354c3031000000000000412199001100000a010a2020000c
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
output DP1
|
|
||||||
off
|
|
||||||
output DP2
|
|
||||||
off
|
|
||||||
output DP2-2
|
|
||||||
off
|
|
||||||
output DP2-3
|
|
||||||
off
|
|
||||||
output HDMI1
|
|
||||||
off
|
|
||||||
output HDMI2
|
|
||||||
off
|
|
||||||
output HDMI3
|
|
||||||
off
|
|
||||||
output VIRTUAL1
|
|
||||||
off
|
|
||||||
output eDP1
|
|
||||||
crtc 0
|
|
||||||
mode 1920x1080
|
|
||||||
pos 0x0
|
|
||||||
primary
|
|
||||||
rate 60.00
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-colorspace Default
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
x-prop-scaling_mode Full aspect
|
|
||||||
output DP2-1
|
|
||||||
crtc 1
|
|
||||||
mode 1920x1080
|
|
||||||
pos 1920x0
|
|
||||||
rate 60.00
|
|
||||||
x-prop-audio auto
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
DP2-1 00ffffffffffff005a6332c1010101012d1d0103803c22782e2235a3594d9c28135054bfef80b300a940a9c0950090408180814081c0023a801871382d40582c450056502100001e000000ff00554e523139343536323930320a000000fd00324b185211000a202020202020000000fc005641323731392053657269657301ad020322f14c9005040302071f141312160123097f078301000068030c001000000000023a801871382d40582c450056502100001e011d8018711c1620582c250056502100009e011d007251d01e206e28550056502100001e8c0ad08a20e02d10103e9600565021000018023a80d072382d40102c458056502100001e00000074
|
|
||||||
eDP1 00ffffffffffff003870560000000000121e0104951f1178027535955c578f281d5054000000010101010101010101010101010101012a3680a070381f403020350035ae1000001a522b80a070381f403020350035ae1000001a000000fe004a34594b4780313430354c3031000000000000412199001100000a010a2020000c
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
output DP1
|
|
||||||
off
|
|
||||||
output DP1-2
|
|
||||||
off
|
|
||||||
output DP1-3
|
|
||||||
off
|
|
||||||
output DP2
|
|
||||||
off
|
|
||||||
output HDMI1
|
|
||||||
off
|
|
||||||
output HDMI2
|
|
||||||
off
|
|
||||||
output HDMI3
|
|
||||||
off
|
|
||||||
output VIRTUAL1
|
|
||||||
off
|
|
||||||
output eDP1
|
|
||||||
crtc 0
|
|
||||||
mode 1920x1080
|
|
||||||
pos 0x0
|
|
||||||
primary
|
|
||||||
rate 60.00
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-colorspace Default
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
x-prop-scaling_mode Full aspect
|
|
||||||
output DP1-1
|
|
||||||
crtc 1
|
|
||||||
mode 1920x1080
|
|
||||||
pos 1920x0
|
|
||||||
rate 60.00
|
|
||||||
x-prop-audio auto
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
DP1-1 --CONNECTED-BUT-EDID-UNAVAILABLE--DP1-1
|
|
||||||
eDP1 00ffffffffffff003870560000000000121e0104951f1178027535955c578f281d5054000000010101010101010101010101010101012a3680a070381f403020350035ae1000001a522b80a070381f403020350035ae1000001a000000fe004a34594b4780313430354c3031000000000000412199001100000a010a2020000c
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
output DP1
|
|
||||||
off
|
|
||||||
output DP1-2
|
|
||||||
off
|
|
||||||
output DP2
|
|
||||||
off
|
|
||||||
output HDMI1
|
|
||||||
off
|
|
||||||
output HDMI2
|
|
||||||
off
|
|
||||||
output HDMI3
|
|
||||||
off
|
|
||||||
output VIRTUAL1
|
|
||||||
off
|
|
||||||
output eDP1
|
|
||||||
crtc 0
|
|
||||||
mode 1920x1080
|
|
||||||
pos 0x0
|
|
||||||
primary
|
|
||||||
rate 60.00
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-colorspace Default
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
x-prop-scaling_mode Full aspect
|
|
||||||
output DP1-1
|
|
||||||
crtc 1
|
|
||||||
mode 1920x1080
|
|
||||||
pos 1920x0
|
|
||||||
rate 60.00
|
|
||||||
x-prop-audio auto
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
output DP1-3
|
|
||||||
crtc 2
|
|
||||||
mode 1920x1080
|
|
||||||
pos 1067x1080
|
|
||||||
rate 60.00
|
|
||||||
x-prop-audio auto
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
DP1-1 00ffffffffffff005a6332c1010101012d1d0103803c22782e2235a3594d9c28135054bfef80b300a940a9c0950090408180814081c0023a801871382d40582c450056502100001e000000ff00554e523139343536323930320a000000fd00324b185211000a202020202020000000fc005641323731392053657269657301ad020322f14c9005040302071f141312160123097f078301000068030c001000000000023a801871382d40582c450056502100001e011d8018711c1620582c250056502100009e011d007251d01e206e28550056502100001e8c0ad08a20e02d10103e9600565021000018023a80d072382d40102c458056502100001e00000074
|
|
||||||
DP1-3 00ffffffffffff0054e41515170621201f1f0104a5221378221e55a059569f270d5054210800d1c0818095009500b30081c001010101023a801871382d40582c450059c21000001e000000ff0032303231303631370a20202020000000fc00434431363046480a2020202020000000fd00383d1e5311000a2020202020200150020310c043900204230907078301000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094
|
|
||||||
eDP1 00ffffffffffff003870560000000000121e0104951f1178027535955c578f281d5054000000010101010101010101010101010101012a3680a070381f403020350035ae1000001a522b80a070381f403020350035ae1000001a000000fe004a34594b4780313430354c3031000000000000412199001100000a010a2020000c
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
output DP1
|
|
||||||
off
|
|
||||||
output DP2
|
|
||||||
off
|
|
||||||
output DP2-2
|
|
||||||
off
|
|
||||||
output DP2-3
|
|
||||||
off
|
|
||||||
output HDMI1
|
|
||||||
off
|
|
||||||
output HDMI2
|
|
||||||
off
|
|
||||||
output HDMI3
|
|
||||||
off
|
|
||||||
output VIRTUAL1
|
|
||||||
off
|
|
||||||
output eDP1
|
|
||||||
crtc 0
|
|
||||||
mode 1920x1080
|
|
||||||
pos 0x0
|
|
||||||
primary
|
|
||||||
rate 60.00
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-colorspace Default
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
x-prop-scaling_mode Full aspect
|
|
||||||
output DP2-1
|
|
||||||
crtc 1
|
|
||||||
mode 1920x1080
|
|
||||||
pos 1920x0
|
|
||||||
rate 60.00
|
|
||||||
x-prop-audio auto
|
|
||||||
x-prop-broadcast_rgb Automatic
|
|
||||||
x-prop-max_bpc 12
|
|
||||||
x-prop-non_desktop 0
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
DP2-1 --CONNECTED-BUT-EDID-UNAVAILABLE--DP2-1
|
|
||||||
eDP1 00ffffffffffff003870560000000000121e0104951f1178027535955c578f281d5054000000010101010101010101010101010101012a3680a070381f403020350035ae1000001a522b80a070381f403020350035ae1000001a000000fe004a34594b4780313430354c3031000000000000412199001100000a010a2020000c
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
output DP1
|
|
||||||
off
|
|
||||||
output DP1-1
|
|
||||||
off
|
|
||||||
output DP1-2
|
|
||||||
off
|
|
||||||
output DP1-3
|
|
||||||
off
|
|
||||||
output DP2
|
|
||||||
off
|
|
||||||
output HDMI1
|
|
||||||
off
|
|
||||||
output HDMI2
|
|
||||||
off
|
|
||||||
output HDMI3
|
|
||||||
off
|
|
||||||
output VIRTUAL1
|
|
||||||
off
|
|
||||||
output eDP1
|
|
||||||
crtc 0
|
|
||||||
mode 1920x1080
|
|
||||||
pos 0x0
|
|
||||||
primary
|
|
||||||
rate 60.00
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
eDP1 00ffffffffffff003870560000000000121e0104951f1178027535955c578f281d5054000000010101010101010101010101010101012a3680a070381f403020350035ae1000001a522b80a070381f403020350035ae1000001a000000fe004a34594b4780313430354c3031000000000000412199001100000a010a2020000c
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
function move_workspace_to_screen() {
|
|
||||||
workspace="${1}"
|
|
||||||
screen="${2}"
|
|
||||||
|
|
||||||
i3-msg workspace "${workspace}"
|
|
||||||
i3-msg move workspace to output "${screen}"
|
|
||||||
|
|
||||||
sed -i "/^workspace \"${workspace}\" output/ c \\workspace \"${workspace}\" output \"${screen}\"" ${HOME}/.config/i3/config
|
|
||||||
}
|
|
||||||
|
|
||||||
function set_screens() {
|
|
||||||
|
|
||||||
move_workspace_to_screen 1 "${1}"
|
|
||||||
move_workspace_to_screen 3 "${1}"
|
|
||||||
move_workspace_to_screen 4 "${1}"
|
|
||||||
move_workspace_to_screen 5 "${2}"
|
|
||||||
move_workspace_to_screen 6 "${2}"
|
|
||||||
move_workspace_to_screen 7 "${2}"
|
|
||||||
move_workspace_to_screen 8 "${2}"
|
|
||||||
move_workspace_to_screen 9 "${3}"
|
|
||||||
move_workspace_to_screen 10 "${3}"
|
|
||||||
move_workspace_to_screen 11 "${3}"
|
|
||||||
move_workspace_to_screen 12 "${3}"
|
|
||||||
|
|
||||||
i3-msg reload
|
|
||||||
|
|
||||||
i3-msg workspace 9
|
|
||||||
i3-msg workspace 5
|
|
||||||
i3-msg workspace 1
|
|
||||||
|
|
||||||
bash ${HOME}/.config/polybar/launch.sh
|
|
||||||
}
|
|
||||||
|
|
||||||
function set_screens_with_xppen() {
|
|
||||||
|
|
||||||
move_workspace_to_screen 1 "${1}"
|
|
||||||
move_workspace_to_screen 3 "${1}"
|
|
||||||
move_workspace_to_screen 4 "${1}"
|
|
||||||
move_workspace_to_screen 5 "${2}"
|
|
||||||
move_workspace_to_screen 6 "${2}"
|
|
||||||
move_workspace_to_screen 7 "${2}"
|
|
||||||
move_workspace_to_screen 8 "${2}"
|
|
||||||
move_workspace_to_screen 9 "${2}"
|
|
||||||
move_workspace_to_screen 10 "${2}"
|
|
||||||
move_workspace_to_screen 11 "${2}"
|
|
||||||
move_workspace_to_screen 12 "${3}"
|
|
||||||
|
|
||||||
i3-msg reload
|
|
||||||
|
|
||||||
i3-msg workspace 12
|
|
||||||
i3-msg workspace 5
|
|
||||||
i3-msg workspace 1
|
|
||||||
|
|
||||||
bash ${HOME}/.config/polybar/launch.sh
|
|
||||||
}
|
|
||||||
|
|
||||||
function main() {
|
|
||||||
|
|
||||||
case $(autorandr --detected) in
|
|
||||||
"home")
|
|
||||||
set_screens "eDP1" "DP2-1" "DP2-1"
|
|
||||||
pacmd set-card-profile 0 HiFi: Default
|
|
||||||
;;
|
|
||||||
|
|
||||||
"home1")
|
|
||||||
set_screens "eDP1" "DP1-1" "DP1-1"
|
|
||||||
pacmd set-card-profile 0 HiFi: Default
|
|
||||||
;;
|
|
||||||
|
|
||||||
"home2")
|
|
||||||
set_screens "eDP1" "DP1-1" "DP1-1"
|
|
||||||
pacmd set-card-profile 0 HiFi: Default
|
|
||||||
;;
|
|
||||||
|
|
||||||
"work")
|
|
||||||
set_screens "eDP1" "DP1-1" "DP1-2"
|
|
||||||
pacmd set-card-profile 0 HiFi: Default
|
|
||||||
;;
|
|
||||||
|
|
||||||
"work2")
|
|
||||||
set_screens "eDP1" "DP2-1" "DP2-2"
|
|
||||||
pacmd set-card-profile 0 HiFi: Default
|
|
||||||
;;
|
|
||||||
|
|
||||||
"mobile")
|
|
||||||
set_screens "eDP1" "eDP1" "eDP1"
|
|
||||||
;;
|
|
||||||
|
|
||||||
"home+xppen")
|
|
||||||
set_screens_with_xppen "eDP1" "DP2-1" "DP2-3"
|
|
||||||
pacmd set-card-profile 0 HiFi: Default
|
|
||||||
;;
|
|
||||||
|
|
||||||
"home1+xppen")
|
|
||||||
set_screens_with_xppen "eDP1" "DP1-1" "DP1-3"
|
|
||||||
pacmd set-card-profile 0 HiFi: Default
|
|
||||||
;;
|
|
||||||
|
|
||||||
"home2+xppen")
|
|
||||||
set_screens_with_xppen "eDP1" "DP1-1" "DP1-3"
|
|
||||||
pacmd set-card-profile 0 HiFi: Default
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
notify-send -i display "Display profile" "CONFIGURATION NON RECONNUE"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
notify-send -i display "Display profile" "Bacule vers $(autorandr --detected)"
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
output DP1
|
|
||||||
off
|
|
||||||
output DP1-3
|
|
||||||
off
|
|
||||||
output DP2
|
|
||||||
off
|
|
||||||
output HDMI1
|
|
||||||
off
|
|
||||||
output HDMI2
|
|
||||||
off
|
|
||||||
output HDMI3
|
|
||||||
off
|
|
||||||
output VIRTUAL1
|
|
||||||
off
|
|
||||||
output eDP1
|
|
||||||
crtc 0
|
|
||||||
mode 1920x1080
|
|
||||||
pos 0x0
|
|
||||||
primary
|
|
||||||
rate 60.00
|
|
||||||
output DP1-1
|
|
||||||
crtc 1
|
|
||||||
mode 1920x1080
|
|
||||||
pos 1920x0
|
|
||||||
rate 60.00
|
|
||||||
output DP1-2
|
|
||||||
crtc 2
|
|
||||||
mode 1920x1080
|
|
||||||
pos 3840x0
|
|
||||||
rate 60.00
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
DP1-1 00ffffffffffff0010acd9d04c475530091d0104a5351e783a0565a756529c270f5054a54b00714f8180a9c0d1c00101010101010101023a801871382d40582c45000f282100001e000000ff00313835375a54320a2020202020000000fc0044454c4c205032343139480a20000000fd00384c1e5311010a20202020202000ae
|
|
||||||
DP1-2 00ffffffffffff0010acd9d04c4b5530091d0104a5351e783a0565a756529c270f5054a54b00714f8180a9c0d1c00101010101010101023a801871382d40582c45000f282100001e000000ff00484a34375a54320a2020202020000000fc0044454c4c205032343139480a20000000fd00384c1e5311010a2020202020200082
|
|
||||||
eDP1 00ffffffffffff003870560000000000121e0104951f1178027535955c578f281d5054000000010101010101010101010101010101012a3680a070381f403020350035ae1000001a522b80a070381f403020350035ae1000001a000000fe004a34594b4780313430354c3031000000000000412199001100000a010a2020000c
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
output DP1
|
|
||||||
off
|
|
||||||
output DP2
|
|
||||||
off
|
|
||||||
output DP2-3
|
|
||||||
off
|
|
||||||
output HDMI1
|
|
||||||
off
|
|
||||||
output HDMI2
|
|
||||||
off
|
|
||||||
output HDMI3
|
|
||||||
off
|
|
||||||
output VIRTUAL1
|
|
||||||
off
|
|
||||||
output eDP1
|
|
||||||
crtc 0
|
|
||||||
mode 1920x1080
|
|
||||||
pos 0x0
|
|
||||||
primary
|
|
||||||
rate 60.00
|
|
||||||
output DP2-1
|
|
||||||
crtc 1
|
|
||||||
mode 1920x1080
|
|
||||||
pos 1920x0
|
|
||||||
rate 60.00
|
|
||||||
output DP2-2
|
|
||||||
crtc 2
|
|
||||||
mode 1920x1080
|
|
||||||
pos 3840x0
|
|
||||||
rate 60.00
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
DP2-1 00ffffffffffff0010acd9d04c475530091d0104a5351e783a0565a756529c270f5054a54b00714f8180a9c0d1c00101010101010101023a801871382d40582c45000f282100001e000000ff00313835375a54320a2020202020000000fc0044454c4c205032343139480a20000000fd00384c1e5311010a20202020202000ae
|
|
||||||
DP2-2 00ffffffffffff0010acd9d04c4b5530091d0104a5351e783a0565a756529c270f5054a54b00714f8180a9c0d1c00101010101010101023a801871382d40582c45000f282100001e000000ff00484a34375a54320a2020202020000000fc0044454c4c205032343139480a20000000fd00384c1e5311010a2020202020200082
|
|
||||||
eDP1 00ffffffffffff003870560000000000121e0104951f1178027535955c578f281d5054000000010101010101010101010101010101012a3680a070381f403020350035ae1000001a522b80a070381f403020350035ae1000001a000000fe004a34594b4780313430354c3031000000000000412199001100000a010a2020000c
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
complete -c fisher -x -l help -d "print usage help"
|
|
||||||
complete -c fisher -x -l version -d "print fisher version"
|
|
||||||
complete -c fisher -x -n "__fish_use_subcommand" -a install -d "install plugins"
|
|
||||||
complete -c fisher -x -n "__fish_use_subcommand" -a update -d "update installed plugins"
|
|
||||||
complete -c fisher -x -n "__fish_use_subcommand" -a remove -d "remove installed plugins"
|
|
||||||
complete -c fisher -x -n "__fish_use_subcommand" -a list -d "list installed plugins matching <regex>"
|
|
||||||
complete -c fisher -x -n "__fish_seen_subcommand_from update remove" -a "(fisher list)"
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
set PATH $PATH $HOME/.gem/ruby/2.6.0/bin
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
set -x -U GOPATH $HOME/build/go
|
|
||||||
set PATH $PATH $HOME/build/go/bin
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
# name: purify
|
|
||||||
# base on: theme-clearance (https://github.com/oh-my-fish/theme-clearance)
|
|
||||||
|
|
||||||
# Set fish global colors
|
|
||||||
set -l normal fafafa
|
|
||||||
set -l selection 3e4452
|
|
||||||
set -l comment 5f5f87
|
|
||||||
|
|
||||||
set -l red ff6059
|
|
||||||
set -l green 5fff87
|
|
||||||
set -l blue 5fafff
|
|
||||||
set -l yellow ffff87
|
|
||||||
set -l pink ff79c6
|
|
||||||
set -l salmon ff875f
|
|
||||||
|
|
||||||
set -g fish_color_autosuggestion $selection
|
|
||||||
set -g fish_color_command $green
|
|
||||||
set -g fish_color_comment $comment
|
|
||||||
set -g fish_color_end $salmon
|
|
||||||
set -g fish_color_error $red
|
|
||||||
set -g fish_color_escape $pink
|
|
||||||
set -g fish_color_normal $normal
|
|
||||||
set -g fish_color_operator $green
|
|
||||||
set -g fish_color_param $normal
|
|
||||||
set -g fish_color_quote $yellow
|
|
||||||
set -g fish_color_redirection $foreground
|
|
||||||
set -g fish_color_search_match --background=$selection
|
|
||||||
set -g fish_color_selection --background=$selection
|
|
||||||
|
|
||||||
# Function to support git
|
|
||||||
#function _git_branch_name
|
|
||||||
# echo (command git symbolic-ref HEAD 2> /dev/null | sed -e 's|^refs/heads/||')
|
|
||||||
#end
|
|
||||||
|
|
||||||
#function _git_is_dirty
|
|
||||||
# echo (command git status -s --ignore-submodules=dirty 2> /dev/null)
|
|
||||||
#end
|
|
||||||
|
|
||||||
#function fish_prompt
|
|
||||||
# set -l last_status $status
|
|
||||||
|
|
||||||
# Define required colors
|
|
||||||
# set -l cyan (set_color 88fcfc)
|
|
||||||
# set -l pink (set_color ff79c6)
|
|
||||||
# set -l red (set_color ff6059)
|
|
||||||
# set -l blue (set_color 5fafff)
|
|
||||||
# set -l green (set_color 5fff87)
|
|
||||||
# set -l normal (set_color fafafa)
|
|
||||||
|
|
||||||
# set -l cwd $blue(pwd | sed "s:^$HOME:~:")
|
|
||||||
|
|
||||||
# Add a newline before new prompts
|
|
||||||
# echo -e ''
|
|
||||||
|
|
||||||
# Display [venvname] if in a virtualenv
|
|
||||||
# if set -q VIRTUAL_ENV
|
|
||||||
# echo -n -s (set_color -b blue black) '[' (basename "$VIRTUAL_ENV") ']' $normal ' '
|
|
||||||
# end
|
|
||||||
|
|
||||||
# Print pwd or full path
|
|
||||||
# echo -n -s $cwd $normal
|
|
||||||
|
|
||||||
# Show git branch and status
|
|
||||||
# if [ (_git_branch_name) ]
|
|
||||||
# set -l git_branch (_git_branch_name)
|
|
||||||
#
|
|
||||||
# if [ (_git_is_dirty) ]
|
|
||||||
# set git_info $cyan $git_branch $red " !"
|
|
||||||
# else
|
|
||||||
# set git_info $cyan $git_branch $green " √"
|
|
||||||
# end
|
|
||||||
|
|
||||||
# echo -n -s $cyan ' ⇢ ' $git_info
|
|
||||||
# end
|
|
||||||
|
|
||||||
# Terminate with a nice prompt char
|
|
||||||
# echo -e ''
|
|
||||||
# echo -e -n -s $pink '❯ '
|
|
||||||
#end
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# Start X at login
|
# Start X at login
|
||||||
if status --is-login
|
if status --is-login
|
||||||
if test -z "$DISPLAY" -a $XDG_VTNR = 1
|
if test -z "$DISPLAY" -a $XDG_VTNR = 1
|
||||||
exec startx
|
exec start-hyprland
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
if status is-interactive
|
fzf_configure_bindings
|
||||||
# Commands to run in interactive sessions can go here
|
|
||||||
|
if test -f "/home/brdw/.bitwarden-ssh-agent.sock"
|
||||||
|
set -g SSH_AUTH_SOCK "/home/brdw/.bitwarden-ssh-agent.sock"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
jorgebucaran/fisher
|
jorgebucaran/fisher
|
||||||
|
danhper/fish-ssh-agent
|
||||||
|
patrickf1/fzf.fish
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
# This file contains fish universal variable definitions.
|
|
||||||
# VERSION: 3.0
|
|
||||||
SETUVAR --export --path GOPATH:/home/bredow/build/go
|
|
||||||
SETUVAR __fish_initialized:3400
|
|
||||||
SETUVAR _fisher_jorgebucaran_2F_fisher_files:/home/bredow/\x2econfig/fish/functions/fisher\x2efish\x1e/home/bredow/\x2econfig/fish/completions/fisher\x2efish
|
|
||||||
SETUVAR _fisher_plugins:jorgebucaran/fisher
|
|
||||||
SETUVAR fish_color_autosuggestion:555\x1ebrblack
|
|
||||||
SETUVAR fish_color_cancel:\x2dr
|
|
||||||
SETUVAR fish_color_command:005fd7
|
|
||||||
SETUVAR fish_color_comment:990000
|
|
||||||
SETUVAR fish_color_cwd:green
|
|
||||||
SETUVAR fish_color_cwd_root:red
|
|
||||||
SETUVAR fish_color_end:009900
|
|
||||||
SETUVAR fish_color_error:ff0000
|
|
||||||
SETUVAR fish_color_escape:00a6b2
|
|
||||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
|
||||||
SETUVAR fish_color_host:normal
|
|
||||||
SETUVAR fish_color_host_remote:yellow
|
|
||||||
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
|
|
||||||
SETUVAR fish_color_normal:normal
|
|
||||||
SETUVAR fish_color_operator:00a6b2
|
|
||||||
SETUVAR fish_color_param:00afff
|
|
||||||
SETUVAR fish_color_quote:999900
|
|
||||||
SETUVAR fish_color_redirection:00afff
|
|
||||||
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
|
|
||||||
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
|
||||||
SETUVAR fish_color_status:red
|
|
||||||
SETUVAR fish_color_user:brgreen
|
|
||||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
|
||||||
SETUVAR fish_greeting:Bienvenue\x20dans\x20fish\x2c\x20le\x20shell\x20amical\x20et\x20interactif\x0aType\x20\x60help\x60\x20for\x20instructions\x20on\x20how\x20to\x20use\x20fish
|
|
||||||
SETUVAR fish_key_bindings:fish_vi_key_bindings
|
|
||||||
SETUVAR fish_pager_color_completion:\x1d
|
|
||||||
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
|
|
||||||
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
|
||||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
|
||||||
SETUVAR fish_pager_color_selected_background:\x2dr
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function docker-restart-all-containers
|
|
||||||
bash "$HOME/.bin/docker-restart-all-containers"
|
|
||||||
end
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function docker-upgrade-all-containers
|
|
||||||
bash "$HOME/.bin/docker-upgrade-all-containers"
|
|
||||||
end
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Defined in - @ line 1
|
# Defined in - @ line 1
|
||||||
function dotfiles
|
function dot
|
||||||
/usr/bin/git --git-dir=$HOME/.config/dotfiles/ --work-tree=$HOME $argv
|
/usr/bin/git --git-dir=$HOME/.config/dotfiles/ --work-tree=$HOME $argv
|
||||||
end
|
end
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
|
|
||||||
function fish_user_key_bindings
|
|
||||||
fish_vi_key_bindings
|
|
||||||
end
|
|
||||||
@@ -1,206 +0,0 @@
|
|||||||
set -g fisher_version 4.1.0
|
|
||||||
|
|
||||||
function fisher -a cmd -d "fish plugin manager"
|
|
||||||
set -q fisher_path || set -l fisher_path $__fish_config_dir
|
|
||||||
set -l fish_plugins $__fish_config_dir/fish_plugins
|
|
||||||
|
|
||||||
switch "$cmd"
|
|
||||||
case -v --version
|
|
||||||
echo "fisher, version $fisher_version"
|
|
||||||
case "" -h --help
|
|
||||||
echo "usage: fisher install <plugins...> install plugins"
|
|
||||||
echo " fisher remove <plugins...> remove installed plugins"
|
|
||||||
echo " fisher update <plugins...> update installed plugins"
|
|
||||||
echo " fisher update update all installed plugins"
|
|
||||||
echo " fisher list [<regex>] list installed plugins matching regex"
|
|
||||||
echo "options:"
|
|
||||||
echo " -v or --version print fisher version"
|
|
||||||
echo " -h or --help print this help message"
|
|
||||||
case ls list
|
|
||||||
string match --entire --regex -- "$argv[2]" $_fisher_plugins
|
|
||||||
case install update remove
|
|
||||||
isatty || read -laz stdin && set -a argv $stdin
|
|
||||||
set -l install_plugins
|
|
||||||
set -l update_plugins
|
|
||||||
set -l remove_plugins
|
|
||||||
set -l arg_plugins $argv[2..-1]
|
|
||||||
set -l old_plugins $_fisher_plugins
|
|
||||||
set -l new_plugins
|
|
||||||
|
|
||||||
if not set -q argv[2]
|
|
||||||
if test "$cmd" != update || test ! -e $fish_plugins
|
|
||||||
echo "fisher: not enough arguments for command: \"$cmd\"" >&2 && return 1
|
|
||||||
end
|
|
||||||
set arg_plugins (string trim <$fish_plugins)
|
|
||||||
end
|
|
||||||
|
|
||||||
for plugin in $arg_plugins
|
|
||||||
test -e "$plugin" && set plugin (realpath $plugin)
|
|
||||||
contains -- "$plugin" $new_plugins || set -a new_plugins $plugin
|
|
||||||
end
|
|
||||||
|
|
||||||
if set -q argv[2]
|
|
||||||
for plugin in $new_plugins
|
|
||||||
if contains -- "$plugin" $old_plugins
|
|
||||||
if test "$cmd" = remove
|
|
||||||
set -a remove_plugins $plugin
|
|
||||||
else
|
|
||||||
set -a update_plugins $plugin
|
|
||||||
end
|
|
||||||
else if test "$cmd" != install
|
|
||||||
echo "fisher: plugin not installed: \"$plugin\"" >&2 && return 1
|
|
||||||
else
|
|
||||||
set -a install_plugins $plugin
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
for plugin in $new_plugins
|
|
||||||
if contains -- "$plugin" $old_plugins
|
|
||||||
set -a update_plugins $plugin
|
|
||||||
else
|
|
||||||
set -a install_plugins $plugin
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for plugin in $old_plugins
|
|
||||||
if not contains -- "$plugin" $new_plugins
|
|
||||||
set -a remove_plugins $plugin
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l pid_list
|
|
||||||
set -l source_plugins
|
|
||||||
set -l fetch_plugins $update_plugins $install_plugins
|
|
||||||
echo -e "\x1b[1mfisher $cmd version $fisher_version\x1b[22m"
|
|
||||||
|
|
||||||
for plugin in $fetch_plugins
|
|
||||||
set -l source (command mktemp -d)
|
|
||||||
set -a source_plugins $source
|
|
||||||
|
|
||||||
command mkdir -p $source/{completions,conf.d,functions}
|
|
||||||
|
|
||||||
fish -c "
|
|
||||||
if test -e $plugin
|
|
||||||
command cp -Rf $plugin/* $source
|
|
||||||
else
|
|
||||||
set temp (command mktemp -d)
|
|
||||||
set name (string split \@ $plugin) || set name[2] HEAD
|
|
||||||
set url https://codeload.github.com/\$name[1]/tar.gz/\$name[2]
|
|
||||||
set -q fisher_user_api_token && set opts -u $fisher_user_api_token
|
|
||||||
|
|
||||||
echo -e \"fetching \x1b[4m\$url\x1b[24m\"
|
|
||||||
if command curl $opts -Ss -w \"\" \$url 2>&1 | command tar -xzf- -C \$temp 2>/dev/null
|
|
||||||
command cp -Rf \$temp/*/* $source
|
|
||||||
else
|
|
||||||
echo fisher: invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
|
|
||||||
command rm -rf $source
|
|
||||||
end
|
|
||||||
command rm -rf \$temp
|
|
||||||
end
|
|
||||||
|
|
||||||
test ! -e $source && exit
|
|
||||||
command mv -f (string match --entire --regex -- \.fish\\\$ $source/*) $source/functions 2>/dev/null" &
|
|
||||||
|
|
||||||
set -a pid_list (jobs --last --pid)
|
|
||||||
end
|
|
||||||
|
|
||||||
wait $pid_list 2>/dev/null
|
|
||||||
|
|
||||||
for plugin in $fetch_plugins
|
|
||||||
if set -l source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
|
|
||||||
if set -l index (contains --index -- "$plugin" $install_plugins)
|
|
||||||
set -e install_plugins[$index]
|
|
||||||
else
|
|
||||||
set -e update_plugins[(contains --index -- "$plugin" $update_plugins)]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for plugin in $update_plugins $remove_plugins
|
|
||||||
if set -l index (contains --index -- "$plugin" $_fisher_plugins)
|
|
||||||
set -l plugin_files_var _fisher_(string escape --style=var $plugin)_files
|
|
||||||
|
|
||||||
if contains -- "$plugin" $remove_plugins && set --erase _fisher_plugins[$index]
|
|
||||||
for file in (string match --entire --regex -- "conf\.d/" $$plugin_files_var)
|
|
||||||
emit (string replace --all --regex -- '^.*/|\.fish$' "" $file)_uninstall
|
|
||||||
end
|
|
||||||
echo -es "removing \x1b[1m$plugin\x1b[22m" \n" "$$plugin_files_var
|
|
||||||
end
|
|
||||||
|
|
||||||
command rm -rf $$plugin_files_var
|
|
||||||
functions --erase (string match --entire --regex -- "functions/" $$plugin_files_var \
|
|
||||||
| string replace --all --regex -- '^.*/|\.fish$' "")
|
|
||||||
set --erase $plugin_files_var
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if set -q update_plugins[1] || set -q install_plugins[1]
|
|
||||||
command mkdir -p $fisher_path/{functions,conf.d,completions}
|
|
||||||
end
|
|
||||||
|
|
||||||
for plugin in $update_plugins $install_plugins
|
|
||||||
set -l source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
|
|
||||||
set -l files $source/{functions,conf.d,completions}/*
|
|
||||||
set -l plugin_files_var _fisher_(string escape --style=var $plugin)_files
|
|
||||||
set -q files[1] && set -U $plugin_files_var (string replace $source $fisher_path $files)
|
|
||||||
|
|
||||||
for file in (string replace -- $source "" $files)
|
|
||||||
command cp -Rf $source/$file $fisher_path/$file
|
|
||||||
end
|
|
||||||
|
|
||||||
contains -- $plugin $_fisher_plugins || set -Ua _fisher_plugins $plugin
|
|
||||||
contains -- $plugin $install_plugins && set -l event "install" || set -l event "update"
|
|
||||||
echo -es "installing \x1b[1m$plugin\x1b[22m" \n" "$$plugin_files_var
|
|
||||||
|
|
||||||
for file in (string match --entire --regex -- "[functions/|conf\.d/].*fish\$" $$plugin_files_var)
|
|
||||||
source $file
|
|
||||||
if string match --quiet --regex -- "conf\.d/" $file
|
|
||||||
emit (string replace --all --regex -- '^.*/|\.fish$' "" $file)_$event
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
command rm -rf $source_plugins
|
|
||||||
functions -q fish_prompt || source $__fish_data_dir/functions/fish_prompt.fish
|
|
||||||
|
|
||||||
set -q _fisher_plugins[1] || set -e _fisher_plugins
|
|
||||||
set -q _fisher_plugins && printf "%s\n" $_fisher_plugins >$fish_plugins || command rm -f $fish_plugins
|
|
||||||
|
|
||||||
set -l total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
|
|
||||||
test "$total" != "0 0 0" && echo (string join ", " (
|
|
||||||
test $total[1] = 0 || echo "installed $total[1]") (
|
|
||||||
test $total[2] = 0 || echo "updated $total[2]") (
|
|
||||||
test $total[3] = 0 || echo "removed $total[3]")
|
|
||||||
) "plugin/s"
|
|
||||||
case \*
|
|
||||||
echo "fisher: unknown flag or command: \"$cmd\" (see `fisher -h`)" >&2 && return 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
## Migrations ##
|
|
||||||
if functions -q _fisher_self_update || test -e $__fish_config_dir/fishfile # 3.x
|
|
||||||
function _fisher_migrate
|
|
||||||
function _fisher_complete
|
|
||||||
fisher install jorgebucaran/fisher >/dev/null 2>/dev/null
|
|
||||||
functions --erase _fisher_complete
|
|
||||||
end
|
|
||||||
set -q XDG_DATA_HOME || set XDG_DATA_HOME ~/.local/share
|
|
||||||
set -q XDG_CACHE_HOME || set XDG_CACHE_HOME ~/.cache
|
|
||||||
set -q XDG_CONFIG_HOME || set XDG_CONFIG_HOME ~/.config
|
|
||||||
set -q fisher_path || set fisher_path $__fish_config_dir
|
|
||||||
test -e $__fish_config_dir/fishfile && command awk '/#|^gitlab|^ *$/ { next } $0' <$__fish_config_dir/fishfile >>$__fish_config_dir/fish_plugins
|
|
||||||
command rm -rf $__fish_config_dir/fishfile $fisher_path/{conf.d,completions}/fisher.fish {$XDG_DATA_HOME,$XDG_CACHE_HOME,$XDG_CONFIG_HOME}/fisher
|
|
||||||
functions --erase _fisher_migrate _fisher_copy_user_key_bindings _fisher_ls _fisher_fmt _fisher_self_update _fisher_self_uninstall _fisher_commit _fisher_parse _fisher_fetch _fisher_add _fisher_rm _fisher_jobs _fisher_now _fisher_help
|
|
||||||
fisher update
|
|
||||||
end
|
|
||||||
echo "upgrading to fisher $fisher_version -- learn more at" (set_color --bold --underline)"https://git.io/fisher-4"(set_color normal)
|
|
||||||
_fisher_migrate >/dev/null 2>/dev/null
|
|
||||||
else if functions -q _fisher_list # 4.0
|
|
||||||
set -q XDG_DATA_HOME || set -l XDG_DATA_HOME ~/.local/share
|
|
||||||
test -e $XDG_DATA_HOME/fisher && command rm -rf $XDG_DATA_HOME/fisher
|
|
||||||
functions --erase _fisher_list _fisher_plugin_parse
|
|
||||||
echo -n "upgrading to fisher $fisher_version new in-memory state.."
|
|
||||||
fisher update >/dev/null 2>/dev/null
|
|
||||||
echo -ne "done\r\n"
|
|
||||||
end
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
function ip --description 'alias ip=ip -c'
|
||||||
|
command ip -c $argv
|
||||||
|
end
|
||||||
@@ -0,0 +1,291 @@
|
|||||||
|
# -*- conf -*-
|
||||||
|
|
||||||
|
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||||
|
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
||||||
|
# login-shell=no
|
||||||
|
|
||||||
|
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
|
||||||
|
# title=foot
|
||||||
|
# locked-title=no
|
||||||
|
|
||||||
|
font=Fira Code:size=11
|
||||||
|
# font-bold=<bold variant of regular font>
|
||||||
|
# font-italic=<italic variant of regular font>
|
||||||
|
# font-bold-italic=<bold+italic variant of regular font>
|
||||||
|
# font-size-adjustment=0.5
|
||||||
|
# line-height=<font metrics>
|
||||||
|
# letter-spacing=0
|
||||||
|
# horizontal-letter-offset=0
|
||||||
|
# vertical-letter-offset=0
|
||||||
|
# underline-offset=<font metrics>
|
||||||
|
# underline-thickness=<font underline thickness>
|
||||||
|
# strikeout-thickness=<font strikeout thickness>
|
||||||
|
# box-drawings-uses-font-glyphs=no
|
||||||
|
# dpi-aware=no
|
||||||
|
# gamma-correct-blending=no
|
||||||
|
|
||||||
|
# initial-color-theme=1
|
||||||
|
# initial-window-size-pixels=700x500 # Or,
|
||||||
|
# initial-window-size-chars=<COLSxROWS>
|
||||||
|
# initial-window-mode=windowed
|
||||||
|
pad=5x5 center-when-maximized-and-fullscreen
|
||||||
|
# resize-by-cells=yes
|
||||||
|
# resize-keep-grid=yes
|
||||||
|
# resize-delay-ms=100
|
||||||
|
|
||||||
|
# bold-text-in-bright=no
|
||||||
|
# word-delimiters=,│`|:"'()[]{}<>
|
||||||
|
# selection-target=primary
|
||||||
|
# workers=<number of logical CPUs>
|
||||||
|
# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux)
|
||||||
|
# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD)
|
||||||
|
|
||||||
|
# uppercase-regex-insert=yes
|
||||||
|
|
||||||
|
[main]
|
||||||
|
#include=/usr/share/foot/themes/paper-color-dark
|
||||||
|
|
||||||
|
[environment]
|
||||||
|
# name=value
|
||||||
|
|
||||||
|
[security]
|
||||||
|
# osc52=enabled # disabled|copy-enabled|paste-enabled|enabled
|
||||||
|
|
||||||
|
[bell]
|
||||||
|
# system=yes
|
||||||
|
# urgent=no
|
||||||
|
# notify=no
|
||||||
|
# visual=no
|
||||||
|
# command=
|
||||||
|
# command-focused=no
|
||||||
|
|
||||||
|
[desktop-notifications]
|
||||||
|
# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body}
|
||||||
|
# command-action-argument=--action ${action-name}=${action-label}
|
||||||
|
# close=""
|
||||||
|
# inhibit-when-focused=yes
|
||||||
|
|
||||||
|
|
||||||
|
[scrollback]
|
||||||
|
# lines=1000
|
||||||
|
# multiplier=3.0
|
||||||
|
# indicator-position=relative
|
||||||
|
# indicator-format=""
|
||||||
|
|
||||||
|
[url]
|
||||||
|
launch=xdg-open ${url}
|
||||||
|
# label-letters=sadfjklewcmpgh
|
||||||
|
# osc8-underline=url-mode
|
||||||
|
# regex=(((https?://|mailto:|ftp://|file:|ssh:|ssh://|git://|tel:|magnet:|ipfs://|ipns://|gemini://|gopher://|news:)|www\.)([0-9a-zA-Z:/?#@!$&*+,;=.~_%^\-]+|\([]\["0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\-]*\)|\[[\(\)"0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\-]*\]|"[]\[\(\)0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\-]*"|'[]\[\(\)0-9a-zA-Z:/?#@!$&*+,;=.~_%^\-]*')+([0-9a-zA-Z/#@$&*+=~_%^\-]|\([]\["0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\-]*\)|\[[\(\)"0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\-]*\]|"[]\[\(\)0-9a-zA-Z:/?#@!$&'*+,;=.~_%^\-]*"|'[]\[\(\)0-9a-zA-Z:/?#@!$&*+,;=.~_%^\-]*'))
|
||||||
|
|
||||||
|
# You can define your own regex's, by adding a section called
|
||||||
|
# 'regex:<ID>' with a 'regex' and 'launch' key. These can then be tied
|
||||||
|
# to a key-binding. See foot.ini(5) for details
|
||||||
|
|
||||||
|
# [regex:your-fancy-name]
|
||||||
|
# regex=<a POSIX-Extended Regular Expression>
|
||||||
|
# launch=<path to script or application> ${match}
|
||||||
|
#
|
||||||
|
# [key-bindings]
|
||||||
|
# regex-launch=[your-fancy-name] Control+Shift+q
|
||||||
|
# regex-copy=[your-fancy-name] Control+Alt+Shift+q
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
# style=block
|
||||||
|
# blink=no
|
||||||
|
# blink-rate=500
|
||||||
|
# beam-thickness=1.5
|
||||||
|
# underline-thickness=<font underline thickness>
|
||||||
|
|
||||||
|
[mouse]
|
||||||
|
# hide-when-typing=no
|
||||||
|
# alternate-scroll-mode=yes
|
||||||
|
|
||||||
|
[touch]
|
||||||
|
# long-press-delay=400
|
||||||
|
|
||||||
|
[colors-dark]
|
||||||
|
alpha=0.9
|
||||||
|
# alpha-mode=default # Can be `default`, `matching` or `all`
|
||||||
|
# background=242424
|
||||||
|
# foreground=ffffff
|
||||||
|
# flash=7f7f00
|
||||||
|
# flash-alpha=0.5
|
||||||
|
|
||||||
|
# cursor=<inverse foreground/background>
|
||||||
|
|
||||||
|
## Normal/regular colors (color palette 0-7)
|
||||||
|
# regular0=242424 # black
|
||||||
|
# regular1=f62b5a # red
|
||||||
|
# regular2=47b413 # green
|
||||||
|
# regular3=e3c401 # yellow
|
||||||
|
# regular4=24acd4 # blue
|
||||||
|
# regular5=f2affd # magenta
|
||||||
|
# regular6=13c299 # cyan
|
||||||
|
# regular7=e6e6e6 # white
|
||||||
|
|
||||||
|
## Bright colors (color palette 8-15)
|
||||||
|
# bright0=616161 # bright black
|
||||||
|
# bright1=ff4d51 # bright red
|
||||||
|
# bright2=35d450 # bright green
|
||||||
|
# bright3=e9e836 # bright yellow
|
||||||
|
# bright4=5dc5f8 # bright blue
|
||||||
|
# bright5=feabf2 # bright magenta
|
||||||
|
# bright6=24dfc4 # bright cyan
|
||||||
|
# bright7=ffffff # bright white
|
||||||
|
|
||||||
|
## dimmed colors (see foot.ini(5) man page)
|
||||||
|
# dim-blend-towards=black
|
||||||
|
# dim0=<not set>
|
||||||
|
# ...
|
||||||
|
# dim7=<not-set>
|
||||||
|
|
||||||
|
## The remaining 256-color palette
|
||||||
|
# 16 = <256-color palette #16>
|
||||||
|
# ...
|
||||||
|
# 255 = <256-color palette #255>
|
||||||
|
|
||||||
|
## Sixel colors
|
||||||
|
# sixel0 = 000000
|
||||||
|
# sixel1 = 3333cc
|
||||||
|
# sixel2 = cc2121
|
||||||
|
# sixel3 = 33cc33
|
||||||
|
# sixel4 = cc33cc
|
||||||
|
# sixel5 = 33cccc
|
||||||
|
# sixel6 = cccc33
|
||||||
|
# sixel7 = 878787
|
||||||
|
# sixel8 = 424242
|
||||||
|
# sixel9 = 545499
|
||||||
|
# sixel10 = 994242
|
||||||
|
# sixel11 = 549954
|
||||||
|
# sixel12 = 995499
|
||||||
|
# sixel13 = 549999
|
||||||
|
# sixel14 = 999954
|
||||||
|
# sixel15 = cccccc
|
||||||
|
|
||||||
|
## Misc colors
|
||||||
|
# selection-foreground=<inverse foreground/background>
|
||||||
|
# selection-background=<inverse foreground/background>
|
||||||
|
# jump-labels=<regular0> <regular3> # black-on-yellow
|
||||||
|
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
||||||
|
# search-box-no-match=<regular0> <regular1> # black-on-red
|
||||||
|
# search-box-match=<regular0> <regular3> # black-on-yellow
|
||||||
|
# urls=<regular3>
|
||||||
|
|
||||||
|
[colors2]
|
||||||
|
# Alternative color theme, see man page foot.ini(5)
|
||||||
|
# Same builtin defaults as [color], except for:
|
||||||
|
# dim-blend-towards=white
|
||||||
|
|
||||||
|
[csd]
|
||||||
|
# preferred=server
|
||||||
|
# size=26
|
||||||
|
# font=<primary font>
|
||||||
|
# color=<foreground color>
|
||||||
|
# hide-when-maximized=no
|
||||||
|
# double-click-to-maximize=yes
|
||||||
|
# border-width=0
|
||||||
|
# border-color=<csd.color>
|
||||||
|
# button-width=26
|
||||||
|
# button-color=<background color>
|
||||||
|
# button-minimize-color=<regular4>
|
||||||
|
# button-maximize-color=<regular2>
|
||||||
|
# button-close-color=<regular1>
|
||||||
|
|
||||||
|
[key-bindings]
|
||||||
|
# scrollback-up-page=Shift+Page_Up Shift+KP_Page_Up
|
||||||
|
# scrollback-up-half-page=none
|
||||||
|
# scrollback-up-line=none
|
||||||
|
# scrollback-down-page=Shift+Page_Down Shift+KP_Page_Down
|
||||||
|
# scrollback-down-half-page=none
|
||||||
|
# scrollback-down-line=none
|
||||||
|
# scrollback-home=none
|
||||||
|
# scrollback-end=none
|
||||||
|
# clipboard-copy=Control+Shift+c XF86Copy
|
||||||
|
# clipboard-paste=Control+Shift+v XF86Paste
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
# search-start=Control+Shift+r
|
||||||
|
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||||
|
# font-decrease=Control+minus Control+KP_Subtract
|
||||||
|
# font-reset=Control+0 Control+KP_0
|
||||||
|
# spawn-terminal=Control+Shift+n
|
||||||
|
# minimize=none
|
||||||
|
# maximize=none
|
||||||
|
# fullscreen=none
|
||||||
|
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||||
|
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||||
|
# pipe-selected=[xargs -r firefox] none
|
||||||
|
# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard
|
||||||
|
# show-urls-launch=Control+Shift+o
|
||||||
|
# show-urls-copy=none
|
||||||
|
# show-urls-persistent=none
|
||||||
|
# prompt-prev=Control+Shift+z
|
||||||
|
# prompt-next=Control+Shift+x
|
||||||
|
# unicode-input=Control+Shift+u
|
||||||
|
# color-theme-switch-1=none
|
||||||
|
# color-theme-switch-2=none
|
||||||
|
# color-theme-toggle=none
|
||||||
|
# noop=none
|
||||||
|
# quit=none
|
||||||
|
|
||||||
|
[search-bindings]
|
||||||
|
# cancel=Control+g Control+c Escape
|
||||||
|
# commit=Return KP_Enter
|
||||||
|
# find-prev=Control+r
|
||||||
|
# find-next=Control+s
|
||||||
|
# cursor-left=Left Control+b
|
||||||
|
# cursor-left-word=Control+Left Mod1+b
|
||||||
|
# cursor-right=Right Control+f
|
||||||
|
# cursor-right-word=Control+Right Mod1+f
|
||||||
|
# cursor-home=Home Control+a
|
||||||
|
# cursor-end=End Control+e
|
||||||
|
# delete-prev=BackSpace
|
||||||
|
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||||
|
# delete-next=Delete
|
||||||
|
# delete-next-word=Mod1+d Control+Delete
|
||||||
|
# delete-to-start=Control+u
|
||||||
|
# delete-to-end=Control+k
|
||||||
|
# extend-char=Shift+Right
|
||||||
|
# extend-to-word-boundary=Control+w Control+Shift+Right
|
||||||
|
# extend-to-next-whitespace=Control+Shift+w
|
||||||
|
# extend-line-down=Shift+Down
|
||||||
|
# extend-backward-char=Shift+Left
|
||||||
|
# extend-backward-to-word-boundary=Control+Shift+Left
|
||||||
|
# extend-backward-to-next-whitespace=none
|
||||||
|
# extend-line-up=Shift+Up
|
||||||
|
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
# unicode-input=none
|
||||||
|
# scrollback-up-page=Shift+Page_Up Shift+KP_Page_Up
|
||||||
|
# scrollback-up-half-page=none
|
||||||
|
# scrollback-up-line=none
|
||||||
|
# scrollback-down-page=Shift+Page_Down Shift+KP_Page_Down
|
||||||
|
# scrollback-down-half-page=none
|
||||||
|
# scrollback-down-line=none
|
||||||
|
# scrollback-home=none
|
||||||
|
# scrollback-end=none
|
||||||
|
|
||||||
|
[url-bindings]
|
||||||
|
# cancel=Control+g Control+c Control+d Escape
|
||||||
|
# toggle-url-visible=t
|
||||||
|
|
||||||
|
[text-bindings]
|
||||||
|
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
||||||
|
|
||||||
|
[mouse-bindings]
|
||||||
|
# scrollback-up-mouse=BTN_WHEEL_BACK
|
||||||
|
# scrollback-down-mouse=BTN_WHEEL_FORWARD
|
||||||
|
# font-increase=Control+BTN_WHEEL_BACK
|
||||||
|
# font-decrease=Control+BTN_WHEEL_FORWARD
|
||||||
|
# selection-override-modifiers=Shift
|
||||||
|
# primary-paste=BTN_MIDDLE
|
||||||
|
# select-begin=BTN_LEFT
|
||||||
|
# select-begin-block=Control+BTN_LEFT
|
||||||
|
# select-extend=BTN_RIGHT
|
||||||
|
# select-extend-character-wise=Control+BTN_RIGHT
|
||||||
|
# select-word=BTN_LEFT-2
|
||||||
|
# select-word-whitespace=Control+BTN_LEFT-2
|
||||||
|
# select-quote = BTN_LEFT-3
|
||||||
|
# select-row=BTN_LEFT-4
|
||||||
|
|
||||||
|
# vim: ft=dosini
|
||||||
@@ -0,0 +1,452 @@
|
|||||||
|
|
||||||
|
# #######################################################################################
|
||||||
|
# AUTOGENERATED HYPRLAND CONFIG.
|
||||||
|
# EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||||
|
# #######################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# This is an example Hyprland config file.
|
||||||
|
# Refer to the wiki for more information.
|
||||||
|
# https://wiki.hypr.land/Configuring/
|
||||||
|
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
|
||||||
|
# You can split this configuration into multiple files
|
||||||
|
# Create your files separately and then link them to this file like this:
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
|
||||||
|
################
|
||||||
|
### MONITORS ###
|
||||||
|
################
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Monitors/
|
||||||
|
monitor=,preferred,auto,auto
|
||||||
|
|
||||||
|
###################
|
||||||
|
### MY PROGRAMS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Keywords/
|
||||||
|
|
||||||
|
# Set programs that you use
|
||||||
|
$terminal = /usr/bin/footclient
|
||||||
|
$fileManager = /usr/bin/nemo
|
||||||
|
$menu = pgrep -x wofi >/dev/null 2>&1 || wofi --gtk-dark --show drun
|
||||||
|
|
||||||
|
#############################
|
||||||
|
### ENVIRONMENT VARIABLES ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Environment-variables/
|
||||||
|
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = HYPRCURSOR_SIZE,24
|
||||||
|
env = LIBVA_DRIVER_NAME,nvidia
|
||||||
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
|
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||||
|
env = XDG_SESSION_DESKTOP,Hyprland
|
||||||
|
|
||||||
|
# lspci -d ::03xx
|
||||||
|
# ls -l /dev/dri/by-path
|
||||||
|
|
||||||
|
env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0
|
||||||
|
|
||||||
|
|
||||||
|
#################
|
||||||
|
### AUTOSTART ###
|
||||||
|
#################
|
||||||
|
|
||||||
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||||
|
# Or execute your favorite apps at launch like this:
|
||||||
|
|
||||||
|
exec-once = hyprpaper
|
||||||
|
exec-once = waybar --config ~/.config/waybar/config.hyprland
|
||||||
|
exec-once = foot --server
|
||||||
|
exec-once = blueman-applet
|
||||||
|
exec-once = nm-applet --indicator
|
||||||
|
exec-once = nextcloud --background
|
||||||
|
exec-once = keepassxc
|
||||||
|
exec-once = hyprpm reload -n
|
||||||
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
|
||||||
|
###################
|
||||||
|
### PERMISSIONS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Permissions/
|
||||||
|
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||||
|
# for security reasons
|
||||||
|
|
||||||
|
# ecosystem {
|
||||||
|
# enforce_permissions = 1
|
||||||
|
# }
|
||||||
|
|
||||||
|
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
|
||||||
|
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
|
||||||
|
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
|
||||||
|
|
||||||
|
|
||||||
|
#####################
|
||||||
|
### LOOK AND FEEL ###
|
||||||
|
#####################
|
||||||
|
|
||||||
|
# Refer to https://wiki.hypr.land/Configuring/Variables/
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#general
|
||||||
|
general {
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 10
|
||||||
|
|
||||||
|
border_size = 2
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
|
||||||
|
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||||
|
col.inactive_border = rgba(595959aa)
|
||||||
|
|
||||||
|
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||||
|
resize_on_border = false
|
||||||
|
|
||||||
|
# Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
|
||||||
|
resize_on_border = true
|
||||||
|
|
||||||
|
#layout = scrolling
|
||||||
|
layout = hy3
|
||||||
|
#layout = master
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
allow_small_split = true
|
||||||
|
special_scale_factor = .80
|
||||||
|
mfact = .34
|
||||||
|
orientation = center
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
split_width_multiplier = .33
|
||||||
|
}
|
||||||
|
|
||||||
|
#scrolling {
|
||||||
|
# column_width = .33
|
||||||
|
# fullscreen_on_one_column = false
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Pro monitors
|
||||||
|
# hyperctrl monitors
|
||||||
|
monitorv2 {
|
||||||
|
output = desc:Najing CEC Panda FPD Technology CO. ltd 0x0056
|
||||||
|
mode = 1920x1080@60.00
|
||||||
|
position = auto
|
||||||
|
scale = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
monitorv2 {
|
||||||
|
output = desc:Iiyama North America PL3481WQ 1242550210951
|
||||||
|
mode = 3440x1440@60
|
||||||
|
position = auto
|
||||||
|
scale = auto
|
||||||
|
}
|
||||||
|
|
||||||
|
# Personnals monitors
|
||||||
|
|
||||||
|
monitorv2 {
|
||||||
|
output = desc:BOE 0x090F
|
||||||
|
mode = 1920x1080@144.00
|
||||||
|
position = auto
|
||||||
|
scale = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
monitorv2 {
|
||||||
|
output = desc:Samsung Electric Company LC34G55T HNTW606264
|
||||||
|
mode = 3440x1440@60
|
||||||
|
position = auto
|
||||||
|
scale = auto
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#decoration
|
||||||
|
decoration {
|
||||||
|
rounding = 0
|
||||||
|
rounding_power = 2
|
||||||
|
|
||||||
|
# Change transparency of focused and unfocused windows
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 1.0
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = true
|
||||||
|
range = 4
|
||||||
|
render_power = 3
|
||||||
|
color = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#blur
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
|
||||||
|
vibrancy = 0.1696
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#animations
|
||||||
|
animations {
|
||||||
|
enabled = yes, please :)
|
||||||
|
|
||||||
|
# Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
|
||||||
|
# NAME, X0, Y0, X1, Y1
|
||||||
|
bezier = easeOutQuint, 0.23, 1, 0.32, 1
|
||||||
|
bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1
|
||||||
|
bezier = linear, 0, 0, 1, 1
|
||||||
|
bezier = almostLinear, 0.5, 0.5, 0.75, 1
|
||||||
|
bezier = quick, 0.15, 0, 0.1, 1
|
||||||
|
|
||||||
|
# Default animations, see https://wiki.hypr.land/Configuring/Animations/
|
||||||
|
# NAME, ONOFF, SPEED, CURVE, [STYLE]
|
||||||
|
animation = global, 1, 10, default
|
||||||
|
animation = border, 1, 5.39, easeOutQuint
|
||||||
|
animation = windows, 1, 4.79, easeOutQuint
|
||||||
|
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
||||||
|
animation = windowsOut, 1, 1.49, linear, popin 87%
|
||||||
|
animation = fadeIn, 1, 1.73, almostLinear
|
||||||
|
animation = fadeOut, 1, 1.46, almostLinear
|
||||||
|
animation = fade, 1, 3.03, quick
|
||||||
|
animation = layers, 1, 3.81, easeOutQuint
|
||||||
|
animation = layersIn, 1, 4, easeOutQuint, fade
|
||||||
|
animation = layersOut, 1, 1.5, linear, fade
|
||||||
|
animation = fadeLayersIn, 1, 1.79, almostLinear
|
||||||
|
animation = fadeLayersOut, 1, 1.39, almostLinear
|
||||||
|
animation = workspaces, 1, 1.94, almostLinear, fade
|
||||||
|
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
||||||
|
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
||||||
|
animation = zoomFactor, 1, 7, quick
|
||||||
|
}
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
|
||||||
|
dwindle {
|
||||||
|
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = true # You probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
plugin {
|
||||||
|
hy3 {
|
||||||
|
no_gaps_when_only = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Master-Layout/ for more
|
||||||
|
master {
|
||||||
|
new_status = master
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#misc
|
||||||
|
misc {
|
||||||
|
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
|
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#############
|
||||||
|
### INPUT ###
|
||||||
|
#############
|
||||||
|
|
||||||
|
# https://wiki.hypr.land/Configuring/Variables/#input
|
||||||
|
input {
|
||||||
|
kb_layout = fr
|
||||||
|
kb_variant = oss
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Gestures
|
||||||
|
gesture = 3, horizontal, workspace
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
|
||||||
|
device {
|
||||||
|
name = epic-mouse-v1
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
###################
|
||||||
|
### KEYBINDINGS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Keywords/
|
||||||
|
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, return, exec, $terminal
|
||||||
|
bind = $mainMod SHIFT, Q, killactive,
|
||||||
|
bind = $mainMod SHIFT, E, exit,
|
||||||
|
bind = $mainMod, E, exec, $fileManager
|
||||||
|
#bind = $mainMod, space, togglefloating,
|
||||||
|
bind = $mainMod, D, exec, $menu
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
bind = $mainMod, F, fullscreenstate, 3 # toggle fullescreen
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
#bind = $mainMod, left, movefocus, l
|
||||||
|
#bind = $mainMod, right, movefocus, r
|
||||||
|
#bind = $mainMod, up, movefocus, u
|
||||||
|
#bind = $mainMod, down, movefocus, d
|
||||||
|
bind = , PRINT, exec, hyprshot -m window
|
||||||
|
bind = SHIFT, PRINT, exec, hyprshot -m region
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, code:10, workspace, 1
|
||||||
|
bind = $mainMod, code:11, workspace, 2
|
||||||
|
bind = $mainMod, code:12, workspace, 3
|
||||||
|
bind = $mainMod, code:13, workspace, 4
|
||||||
|
bind = $mainMod, code:14, workspace, 5
|
||||||
|
bind = $mainMod, code:15, workspace, 6
|
||||||
|
bind = $mainMod, code:16, workspace, 7
|
||||||
|
bind = $mainMod, code:17, workspace, 8
|
||||||
|
bind = $mainMod, code:18, workspace, 9
|
||||||
|
bind = $mainMod, code:19, workspace, 10
|
||||||
|
bind = $mainMod, code:20, workspace, 11
|
||||||
|
bind = $mainMod, code:21, workspace, 12
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, code:10, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, code:11, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, code:12, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, code:13, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, code:14, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, code:15, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, code:16, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, code:17, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, code:18, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, code:19, movetoworkspace, 10
|
||||||
|
bind = $mainMod SHIFT, code:20, movetoworkspace, 11
|
||||||
|
bind = $mainMod SHIFT, code:21, movetoworkspace, 12
|
||||||
|
|
||||||
|
bind = $mainMod, left, hy3:movefocus, l
|
||||||
|
bind = $mainMod, right, hy3:movefocus, r
|
||||||
|
bind = $mainMod, up, hy3:movefocus, u
|
||||||
|
bind = $mainMod, down, hy3:movefocus, d
|
||||||
|
|
||||||
|
bind = $mainMod SHIFT, left, hy3:movewindow, l
|
||||||
|
bind = $mainMod SHIFT, right, hy3:movewindow, r
|
||||||
|
bind = $mainMod SHIFT, up, hy3:movewindow, u
|
||||||
|
bind = $mainMod SHIFT, down, hy3:movewindow, d
|
||||||
|
|
||||||
|
#bind = $mainMod, left, movefocus, l
|
||||||
|
#bind = $mainMod, right, movefocus, r
|
||||||
|
#bind = $mainMod, up, movefocus, u
|
||||||
|
#bind = $mainMod, down, movefocus, d
|
||||||
|
#
|
||||||
|
#bind = $mainMod SHIFT, left, movewindow, l
|
||||||
|
#bind = $mainMod SHIFT, right, movewindow, r
|
||||||
|
#bind = $mainMod SHIFT, up, movewindow, u
|
||||||
|
#bind = $mainMod SHIFT, down, movewindow, d
|
||||||
|
|
||||||
|
bind = $mainMod SHIFT CTRL, right, movecurrentworkspacetomonitor, r
|
||||||
|
bind = $mainMod SHIFT CTRL, left, movecurrentworkspacetomonitor, l
|
||||||
|
bind = $mainMod SHIFT CTRL, up, movecurrentworkspacetomonitor, u
|
||||||
|
bind = $mainMod SHIFT CTRL, down, movecurrentworkspacetomonitor, r
|
||||||
|
|
||||||
|
bind = $mainMod, L, exec, hyprlock
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
bind = $mainMod, V, hy3:makegroup, v
|
||||||
|
bind = $mainMod, H, hy3:makegroup, h
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
rindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Laptop multimedia keys for volume and LCD brightness
|
||||||
|
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||||
|
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||||
|
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
|
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||||
|
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
|
||||||
|
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
|
||||||
|
|
||||||
|
# Requires playerctl
|
||||||
|
bindl = , XF86AudioNext, exec, playerctl next
|
||||||
|
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||||
|
|
||||||
|
bind = $mainMod, R,submap,resize
|
||||||
|
submap=resize
|
||||||
|
binde = , right, resizeactive, 10 0
|
||||||
|
binde = , left, resizeactive, -10 0
|
||||||
|
binde = , up, resizeactive, 0 -10
|
||||||
|
binde = , down, resizeactive, 0 10
|
||||||
|
bind = , Escape,submap,reset
|
||||||
|
submap=reset
|
||||||
|
|
||||||
|
|
||||||
|
# Moving floating windows with the Super key + Mouse
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
##############################
|
||||||
|
### WINDOWS AND WORKSPACES ###
|
||||||
|
##############################
|
||||||
|
|
||||||
|
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
|
||||||
|
# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
|
||||||
|
|
||||||
|
# Example windowrules that are useful
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
# Ignore maximize requests from all apps. You'll probably like this.
|
||||||
|
name = suppress-maximize-events
|
||||||
|
match:class = .*
|
||||||
|
|
||||||
|
suppress_event = maximize
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
# Fix some dragging issues with XWayland
|
||||||
|
name = fix-xwayland-drags
|
||||||
|
match:class = ^$
|
||||||
|
match:title = ^$
|
||||||
|
match:xwayland = true
|
||||||
|
match:float = true
|
||||||
|
match:fullscreen = false
|
||||||
|
match:pin = false
|
||||||
|
|
||||||
|
no_focus = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# Hyprland-run windowrule
|
||||||
|
windowrule {
|
||||||
|
name = move-hyprland-run
|
||||||
|
|
||||||
|
match:class = hyprland-run
|
||||||
|
|
||||||
|
move = 20 monitor_h-120
|
||||||
|
float = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
workspace = 1, layout:dwindle
|
||||||
@@ -0,0 +1,448 @@
|
|||||||
|
-- This is an example Hyprland Lua config file.
|
||||||
|
-- Refer to the wiki for more information.
|
||||||
|
-- https://wiki.hypr.land/Configuring/Start/
|
||||||
|
|
||||||
|
-- Please note not all available settings / options are set here.
|
||||||
|
-- For a full list, see the wiki
|
||||||
|
|
||||||
|
-- You can (and should!!) split this configuration into multiple files
|
||||||
|
-- Create your files separately and then require them like this:
|
||||||
|
-- require("myColors")
|
||||||
|
|
||||||
|
|
||||||
|
------------------
|
||||||
|
---- MONITORS ----
|
||||||
|
------------------
|
||||||
|
|
||||||
|
--- See https://wiki.hypr.land/Configuring/Basics/Monitors/
|
||||||
|
|
||||||
|
--- Pro monitors
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
--hl.monitor({
|
||||||
|
-- output = "",
|
||||||
|
-- mode = "preferred",
|
||||||
|
-- position = "auto",
|
||||||
|
-- scale = "auto",
|
||||||
|
--})
|
||||||
|
|
||||||
|
hl.monitor({
|
||||||
|
output = "desc:Najing CEC Panda FPD Technology CO. ltd 0x0056",
|
||||||
|
mode = "1920x1080@60.00",
|
||||||
|
position = "auto",
|
||||||
|
scale = "1",
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.monitor({
|
||||||
|
output = "desc:Iiyama North America PL3481WQ 1242550210951",
|
||||||
|
mode = "3440x1440@60",
|
||||||
|
position = "auto",
|
||||||
|
scale = "1",
|
||||||
|
})
|
||||||
|
|
||||||
|
-- paperboard
|
||||||
|
hl.monitor({
|
||||||
|
output = "desc:Samsung Electric Company SyncMaster H1AK500000",
|
||||||
|
mode = "3840x2160@30",
|
||||||
|
position = "auto",
|
||||||
|
scale = "2",
|
||||||
|
})
|
||||||
|
|
||||||
|
--- Personnals monitors
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
hl.monitor({
|
||||||
|
output = "desc:BOE 0x090F",
|
||||||
|
mode = "1920x1080@144.00",
|
||||||
|
position = "auto",
|
||||||
|
scale = "1",
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.monitor({
|
||||||
|
output = "desc:Samsung Electric Company LC34G55T HNTW606264",
|
||||||
|
mode = "3440x1440@60",
|
||||||
|
position = "auto",
|
||||||
|
scale = "1",
|
||||||
|
})
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
---- MY PROGRAMS ----
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
-- Set programs that you use
|
||||||
|
local terminal = "/usr/bin/footclient"
|
||||||
|
local fileManager = "/usr/bin/nemo"
|
||||||
|
local menu = "pgrep -x wofi >/dev/null 2>&1 || wofi --gtk-dark --show drun"
|
||||||
|
|
||||||
|
|
||||||
|
-------------------
|
||||||
|
---- AUTOSTART ----
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Basics/Autostart/
|
||||||
|
|
||||||
|
-- Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||||
|
-- Or execute your favorite apps at launch like this:
|
||||||
|
--
|
||||||
|
hl.on("hyprland.start", function ()
|
||||||
|
hl.exec_cmd("waybar")
|
||||||
|
hl.exec_cmd("foot --server")
|
||||||
|
hl.exec_cmd("blueman-applet")
|
||||||
|
hl.exec_cmd("nm-applet --indicator")
|
||||||
|
hl.exec_cmd("nextcloud --background")
|
||||||
|
hl.exec_cmd("hyprpm reload -n")
|
||||||
|
hl.exec_cmd("hyprpaper")
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
|
||||||
|
|
||||||
|
-------------------------------
|
||||||
|
---- ENVIRONMENT VARIABLES ----
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Environment-variables/
|
||||||
|
|
||||||
|
hl.env("XCURSOR_SIZE", "24")
|
||||||
|
hl.env("HYPRCURSOR_SIZE", "24")
|
||||||
|
hl.env("LIBVA_DRIVER_NAME", "nvidia")
|
||||||
|
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
|
||||||
|
hl.env("XDG_SESSION_TYPE", "wayland")
|
||||||
|
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
|
||||||
|
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
|
||||||
|
hl.env("AQ_DRM_DEVICES", "/dev/dri/card1:/dev/dri/card0")
|
||||||
|
|
||||||
|
-----------------------
|
||||||
|
----- PERMISSIONS -----
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Permissions/
|
||||||
|
-- Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||||
|
-- for security reasons
|
||||||
|
|
||||||
|
-- hl.config({
|
||||||
|
-- ecosystem = {
|
||||||
|
-- enforce_permissions = true,
|
||||||
|
-- },
|
||||||
|
-- })
|
||||||
|
|
||||||
|
-- hl.permission("/usr/(bin|local/bin)/grim", "screencopy", "allow")
|
||||||
|
-- hl.permission("/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", "screencopy", "allow")
|
||||||
|
-- hl.permission("/usr/(bin|local/bin)/hyprpm", "plugin", "allow")
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------
|
||||||
|
---- LOOK AND FEEL ----
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
-- Refer to https://wiki.hypr.land/Configuring/Basics/Variables/
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
gaps_in = 5,
|
||||||
|
gaps_out = 10,
|
||||||
|
|
||||||
|
border_size = 2,
|
||||||
|
|
||||||
|
col = {
|
||||||
|
active_border = { colors = {"rgba(33ccffee)", "rgba(00ff99ee)"}, angle = 45 },
|
||||||
|
inactive_border = "rgba(595959aa)",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Set to true to enable resizing windows by clicking and dragging on borders and gaps
|
||||||
|
-- resize_on_border = false,
|
||||||
|
|
||||||
|
-- Please see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false,
|
||||||
|
resize_on_border = true,
|
||||||
|
layout = "hy3",
|
||||||
|
},
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 0,
|
||||||
|
rounding_power = 2,
|
||||||
|
|
||||||
|
-- Change transparency of focused and unfocused windows
|
||||||
|
active_opacity = 1.0,
|
||||||
|
inactive_opacity = 1.0,
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
enabled = true,
|
||||||
|
range = 4,
|
||||||
|
render_power = 3,
|
||||||
|
color = 0xee1a1a1a,
|
||||||
|
},
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = true,
|
||||||
|
size = 3,
|
||||||
|
passes = 1,
|
||||||
|
vibrancy = 0.1696,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Default curves and animations, see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Animations/
|
||||||
|
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
|
||||||
|
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
|
||||||
|
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
|
||||||
|
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } })
|
||||||
|
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
|
||||||
|
|
||||||
|
-- Default springs
|
||||||
|
hl.curve("easy", { type = "spring", mass = 1, stiffness = 71.2633, dampening = 15.8273644 })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" })
|
||||||
|
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
|
||||||
|
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
|
||||||
|
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
|
||||||
|
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
|
||||||
|
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
|
||||||
|
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
||||||
|
hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" })
|
||||||
|
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
||||||
|
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
|
||||||
|
|
||||||
|
-- Ref https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
|
||||||
|
-- "Smart gaps" / "No gaps when only"
|
||||||
|
-- uncomment all if you wish to use that.
|
||||||
|
-- hl.workspace_rule({ workspace = "w[tv1]", gaps_out = 0, gaps_in = 0 })
|
||||||
|
-- hl.workspace_rule({ workspace = "f[1]", gaps_out = 0, gaps_in = 0 })
|
||||||
|
-- hl.window_rule({
|
||||||
|
-- name = "no-gaps-wtv1",
|
||||||
|
-- match = { float = false, workspace = "w[tv1]" },
|
||||||
|
-- border_size = 0,
|
||||||
|
-- rounding = 0,
|
||||||
|
-- })
|
||||||
|
-- hl.window_rule({
|
||||||
|
-- name = "no-gaps-f1",
|
||||||
|
-- match = { float = false, workspace = "f[1]" },
|
||||||
|
-- border_size = 0,
|
||||||
|
-- rounding = 0,
|
||||||
|
-- })
|
||||||
|
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Layouts/Dwindle-Layout/ for more
|
||||||
|
hl.config({
|
||||||
|
dwindle = {
|
||||||
|
preserve_split = true, -- You probably want this
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Layouts/Master-Layout/ for more
|
||||||
|
hl.config({
|
||||||
|
master = {
|
||||||
|
new_status = "master",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Layouts/Scrolling-Layout/ for more
|
||||||
|
hl.config({
|
||||||
|
scrolling = {
|
||||||
|
fullscreen_on_one_column = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
--local hl.plugin.hy3 = hl.plugin.hl.plugin.hy3
|
||||||
|
--- TODO
|
||||||
|
--hl.config({
|
||||||
|
-- plugin = {
|
||||||
|
-- hy3 = {
|
||||||
|
-- no_gaps_when_only = true,
|
||||||
|
-- }
|
||||||
|
-- }
|
||||||
|
--})
|
||||||
|
|
||||||
|
----------------
|
||||||
|
---- MISC ----
|
||||||
|
----------------
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
misc = {
|
||||||
|
force_default_wallpaper = 0, -- Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
|
disable_hyprland_logo = false, -- If true disables the random hyprland logo / anime girl background. :(
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
---------------
|
||||||
|
---- INPUT ----
|
||||||
|
---------------
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
input = {
|
||||||
|
kb_layout = "fr",
|
||||||
|
kb_variant = "oss",
|
||||||
|
kb_model = "",
|
||||||
|
kb_options = "",
|
||||||
|
kb_rules = "",
|
||||||
|
|
||||||
|
follow_mouse = 1,
|
||||||
|
|
||||||
|
sensitivity = 0, -- -1.0 - 1.0, 0 means no modification.
|
||||||
|
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.gesture({
|
||||||
|
fingers = 3,
|
||||||
|
direction = "horizontal",
|
||||||
|
action = "workspace"
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Example per-device config
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Devices/ for more
|
||||||
|
hl.device({
|
||||||
|
name = "epic-mouse-v1",
|
||||||
|
sensitivity = -0.5,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
---- KEYBINDINGS ----
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
local mainMod = "SUPER" -- Sets "Windows" key as main modifier
|
||||||
|
-- local hl.plugin.hy3 = hl.plugin.hl.plugin.hy3
|
||||||
|
|
||||||
|
-- Example binds, see y for more
|
||||||
|
hl.bind(mainMod .. " + return", hl.dsp.exec_cmd(terminal))
|
||||||
|
|
||||||
|
hl.bind(mainMod .. " + SHIFT + Q", hl.dsp.window.close())
|
||||||
|
hl.bind(mainMod .. " + SHIFT + E", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'"))
|
||||||
|
hl.bind(mainMod .. " + L", hl.dsp.exec_cmd("hyprlock"))
|
||||||
|
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
|
||||||
|
hl.bind(mainMod .. " + space", hl.dsp.window.float({ action = "toggle" }))
|
||||||
|
hl.bind(mainMod .. " + D", hl.dsp.exec_cmd(menu))
|
||||||
|
--hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())
|
||||||
|
--hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit")) -- dwindle only
|
||||||
|
|
||||||
|
-- Move focus with mainMod + arrow keys
|
||||||
|
-- hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" }))
|
||||||
|
-- hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "right" }))
|
||||||
|
-- hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "up" }))
|
||||||
|
-- hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "down" }))
|
||||||
|
|
||||||
|
hl.bind(mainMod .. "+ F", hl.dsp.window.fullscreen({action = "toggle"}))
|
||||||
|
|
||||||
|
-- Move focus with mainMod + arrow keys
|
||||||
|
hl.bind(mainMod .. " + left", hl.plugin.hy3.move_focus("left"))
|
||||||
|
hl.bind(mainMod .. " + right", hl.plugin.hy3.move_focus("right"))
|
||||||
|
hl.bind(mainMod .. " + up", hl.plugin.hy3.move_focus("up"))
|
||||||
|
hl.bind(mainMod .. " + down", hl.plugin.hy3.move_focus("down"))
|
||||||
|
|
||||||
|
-- Move windows
|
||||||
|
hl.bind(mainMod .. " + SHIFT + left", hl.plugin.hy3.move_window("left"))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + right", hl.plugin.hy3.move_window("right"))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + up", hl.plugin.hy3.move_window("up"))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + down", hl.plugin.hy3.move_window("down"))
|
||||||
|
|
||||||
|
-- Move workspace
|
||||||
|
hl.bind(mainMod .. " + CTRL + SHIFT + left", hl.dsp.workspace.move({ monitor = "l" }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + SHIFT + right", hl.dsp.workspace.move({ monitor = "r" }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + SHIFT + up", hl.dsp.workspace.move({ monitor = "u" }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + SHIFT + down", hl.dsp.workspace.move({ monitor = "d" }))
|
||||||
|
|
||||||
|
-- Change split direction
|
||||||
|
hl.bind(mainMod .. " + V", hl.plugin.hy3.make_group("v"))
|
||||||
|
hl.bind(mainMod .. " + H", hl.plugin.hy3.make_group("h"))
|
||||||
|
|
||||||
|
-- Switch workspaces with mainMod + [0-9]
|
||||||
|
-- Move active window to aa workspace with mainMod + SHIFT + [0-9]
|
||||||
|
for key = 10, 21 do
|
||||||
|
local ws = key - 9 -- 10 maps to key 0
|
||||||
|
hl.bind(mainMod .. " + code:" .. key, hl.dsp.focus({ workspace = ws}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + code:" .. key, hl.dsp.window.move({ workspace = ws }))
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Example special workspace (scratchpad)
|
||||||
|
--hl.bind(mainMod .. " + S", hl.dsp.workspace.toggle_special("magic"))
|
||||||
|
--hl.bind(mainMod .. " + SHIFT + S", hl.dsp.window.move({ workspace = "special:magic" }))
|
||||||
|
|
||||||
|
-- Scroll through existing workspaces with mainMod + scroll
|
||||||
|
--hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
|
||||||
|
--hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
|
||||||
|
|
||||||
|
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||||
|
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||||
|
|
||||||
|
-- Laptop multimedia keys for volume and LCD brightness
|
||||||
|
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), { locked = true, repeating = true })
|
||||||
|
hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), { locked = true, repeating = true })
|
||||||
|
|
||||||
|
-- Requires playerctl
|
||||||
|
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
|
||||||
|
|
||||||
|
-- Screenshot
|
||||||
|
hl.bind("PRINT", hl.dsp.exec_cmd("hyprshot -m window"))
|
||||||
|
hl.bind("SHIFT + PRINT", hl.dsp.exec_cmd("hyprshot -m region"))
|
||||||
|
|
||||||
|
|
||||||
|
--------------------------------
|
||||||
|
---- WINDOWS AND WORKSPACES ----
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
-- See https://wiki.hypr.land/Configuring/Basics/Window-Rules/
|
||||||
|
-- and https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
|
||||||
|
|
||||||
|
-- Example window rules that are useful
|
||||||
|
|
||||||
|
local suppressMaximizeRule = hl.window_rule({
|
||||||
|
-- Ignore maximize requests from all apps. You'll probably like this.
|
||||||
|
name = "suppress-maximize-events",
|
||||||
|
match = { class = ".*" },
|
||||||
|
|
||||||
|
suppress_event = "maximize",
|
||||||
|
})
|
||||||
|
-- suppressMaximizeRule:set_enabled(false)
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
-- Fix some dragging issues with XWayland
|
||||||
|
name = "fix-xwayland-drags",
|
||||||
|
match = {
|
||||||
|
class = "^$",
|
||||||
|
title = "^$",
|
||||||
|
xwayland = true,
|
||||||
|
float = true,
|
||||||
|
fullscreen = false,
|
||||||
|
pin = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
no_focus = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Layer rules also return a handle.
|
||||||
|
-- local overlayLayerRule = hl.layer_rule({
|
||||||
|
-- name = "no-anim-overlay",
|
||||||
|
-- match = { namespace = "^my-overlay$" },
|
||||||
|
-- no_anim = true,
|
||||||
|
-- })
|
||||||
|
-- overlayLayerRule:set_enabled(false)
|
||||||
|
|
||||||
|
-- Hyprland-run windowrule
|
||||||
|
hl.window_rule({
|
||||||
|
name = "move-hyprland-run",
|
||||||
|
match = { class = "hyprland-run" },
|
||||||
|
|
||||||
|
move = "20 monitor_h-120",
|
||||||
|
float = true,
|
||||||
|
})
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
background {
|
||||||
|
monitor =
|
||||||
|
blur_passes = 3
|
||||||
|
contrast = 0.8916
|
||||||
|
brightness = 0.8172
|
||||||
|
vibrancy = 0.1696
|
||||||
|
vibrancy_darkness = 0.0
|
||||||
|
}
|
||||||
|
|
||||||
|
input-field {
|
||||||
|
monitor =
|
||||||
|
size = 280, 55
|
||||||
|
outline_thickness = 2
|
||||||
|
dots_size = 0.2
|
||||||
|
dots_spacing = 0.2
|
||||||
|
dots_center = true
|
||||||
|
outer_color = rgba(0, 0, 0, 0)
|
||||||
|
inner_color = rgba(255, 255, 255, 0.1)
|
||||||
|
font_color = rgb(200, 200, 200)
|
||||||
|
fade_on_empty = false
|
||||||
|
font_family = FiraCode Nerd Font
|
||||||
|
placeholder_text = <i><span foreground="##ffffff99">Enter Pass</span></i>
|
||||||
|
hide_input = false
|
||||||
|
position = 0, -210
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
splash = off
|
||||||
|
|
||||||
|
wallpaper {
|
||||||
|
monitor =
|
||||||
|
path = ~/nextcloud/perso/images/wallpapers/travelling-through-galaxies-scifi-27.jpg
|
||||||
|
fit_mode = cover
|
||||||
|
}
|
||||||
@@ -1,238 +0,0 @@
|
|||||||
|
|
||||||
# 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).
|
|
||||||
#
|
|
||||||
|
|
||||||
workspace "1" output "eDP1"
|
|
||||||
workspace "2" output "eDP1"
|
|
||||||
workspace "3" output "eDP1"
|
|
||||||
workspace "4" output "eDP1"
|
|
||||||
workspace "5" output "eDP1"
|
|
||||||
workspace "6" output "eDP1"
|
|
||||||
workspace "7" output "eDP1"
|
|
||||||
workspace "8" output "eDP1"
|
|
||||||
workspace "9" output "eDP1"
|
|
||||||
workspace "10" output "eDP1"
|
|
||||||
workspace "11" output "eDP1"
|
|
||||||
workspace "12" output "eDP1"
|
|
||||||
|
|
||||||
focus_follows_mouse no
|
|
||||||
|
|
||||||
# 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:DejaVu Sans 6
|
|
||||||
|
|
||||||
# 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:Hack 8
|
|
||||||
|
|
||||||
# Before i3 v4.8, we used to recommend this one as the default:
|
|
||||||
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
|
||||||
# The font above is very space-efficient, that is, it looks good, sharp and
|
|
||||||
# clear in small sizes. However, its unicode glyph coverage is limited, the old
|
|
||||||
# X core fonts rendering does not support right-to-left and this being a bitmap
|
|
||||||
# font, it doesn’t scale on retina/hidpi displays.
|
|
||||||
|
|
||||||
gaps inner 10
|
|
||||||
gaps outer 0
|
|
||||||
|
|
||||||
smart_gaps on
|
|
||||||
smart_borders on
|
|
||||||
|
|
||||||
for_window [class="^.*"] border pixel 2
|
|
||||||
|
|
||||||
#gaps inner all set 40
|
|
||||||
#gaps outer current plus 20
|
|
||||||
|
|
||||||
|
|
||||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
|
||||||
floating_modifier $mod
|
|
||||||
|
|
||||||
# start a terminal
|
|
||||||
#bindsym $mod+Return exec i3-sensible-terminal
|
|
||||||
bindsym $mod+Return exec alacritty
|
|
||||||
|
|
||||||
# kill focused window
|
|
||||||
bindsym $mod+Shift+A kill
|
|
||||||
|
|
||||||
# start dmenu (a program launcher)
|
|
||||||
#bindsym $mod+d exec dmenu_run
|
|
||||||
# There also is the (new) i3-dmenu-desktop which only displays applications
|
|
||||||
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
|
||||||
# installed.
|
|
||||||
#bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
|
||||||
bindsym $mod+d exec rofi -show drun
|
|
||||||
|
|
||||||
# change focus
|
|
||||||
#bindsym $mod+j focus left
|
|
||||||
#bindsym $mod+k focus down
|
|
||||||
#bindsym $mod+l focus up
|
|
||||||
#bindsym $mod+m focus right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Left focus left
|
|
||||||
bindsym $mod+Down focus down
|
|
||||||
bindsym $mod+Up focus up
|
|
||||||
bindsym $mod+Right focus right
|
|
||||||
|
|
||||||
# move focused window
|
|
||||||
#bindsym $mod+Shift+j move left
|
|
||||||
#bindsym $mod+Shift+k move down
|
|
||||||
#bindsym $mod+Shift+l move up
|
|
||||||
#bindsym $mod+Shift+M move right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Shift+Left move left
|
|
||||||
bindsym $mod+Shift+Down move down
|
|
||||||
bindsym $mod+Shift+Up move up
|
|
||||||
bindsym $mod+Shift+Right move right
|
|
||||||
|
|
||||||
# split in horizontal orientation
|
|
||||||
bindsym $mod+h split h
|
|
||||||
|
|
||||||
# split in vertical orientation
|
|
||||||
bindsym $mod+v split v
|
|
||||||
|
|
||||||
# enter fullscreen mode for the focused container
|
|
||||||
bindsym $mod+f fullscreen toggle
|
|
||||||
|
|
||||||
# change container layout (stacked, tabbed, toggle split)
|
|
||||||
bindsym $mod+s layout stacking
|
|
||||||
bindsym $mod+z layout tabbed
|
|
||||||
bindsym $mod+e layout toggle split
|
|
||||||
|
|
||||||
# toggle tiling / floating
|
|
||||||
bindsym $mod+Shift+space floating toggle
|
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
|
||||||
bindsym $mod+space focus mode_toggle
|
|
||||||
|
|
||||||
# focus the parent container
|
|
||||||
bindsym $mod+q focus parent
|
|
||||||
|
|
||||||
# focus the child container
|
|
||||||
#bindsym $mod+d focus child
|
|
||||||
|
|
||||||
# switch to workspace
|
|
||||||
bindsym $mod+ampersand workspace 1
|
|
||||||
bindsym $mod+eacute workspace 2
|
|
||||||
bindsym $mod+quotedbl workspace 3
|
|
||||||
bindsym $mod+apostrophe workspace 4
|
|
||||||
bindsym $mod+parenleft workspace 5
|
|
||||||
bindsym $mod+minus workspace 6
|
|
||||||
bindsym $mod+egrave workspace 7
|
|
||||||
bindsym $mod+underscore workspace 8
|
|
||||||
bindsym $mod+ccedilla workspace 9
|
|
||||||
bindsym $mod+agrave workspace 10
|
|
||||||
bindsym $mod+parenright workspace 11
|
|
||||||
bindsym $mod+equal workspace 12
|
|
||||||
|
|
||||||
# move focused container to workspace
|
|
||||||
bindsym $mod+Shift+1 move container to workspace 1
|
|
||||||
bindsym $mod+Shift+eacute move container to workspace 2
|
|
||||||
bindsym $mod+Shift+3 move container to workspace 3
|
|
||||||
bindsym $mod+Shift+4 move container to workspace 4
|
|
||||||
bindsym $mod+Shift+5 move container to workspace 5
|
|
||||||
bindsym $mod+Shift+6 move container to workspace 6
|
|
||||||
bindsym $mod+Shift+egrave move container to workspace 7
|
|
||||||
bindsym $mod+Shift+8 move container to workspace 8
|
|
||||||
bindsym $mod+Shift+ccedilla move container to workspace 9
|
|
||||||
bindsym $mod+Shift+agrave move container to workspace 10
|
|
||||||
bindsym $mod+Shift+degree move container to workspace 11
|
|
||||||
bindsym $mod+Shift+plus move container to workspace 12
|
|
||||||
|
|
||||||
# move current workspace between monitors
|
|
||||||
bindsym $mod+Control+left move workspace to output left
|
|
||||||
bindsym $mod+Control+right move workspace to output down
|
|
||||||
bindsym $mod+Control+up move workspace to output up
|
|
||||||
bindsym $mod+Control+down move workspace to output right
|
|
||||||
|
|
||||||
# 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'"
|
|
||||||
bindsym $mod+Shift+e exit
|
|
||||||
bindsym $mod+l exec i3lock -f -c 222222
|
|
||||||
|
|
||||||
|
|
||||||
# resize window (you can also use the mouse for that)
|
|
||||||
mode "resize" {
|
|
||||||
# These bindings trigger as soon as you enter the resize mode
|
|
||||||
|
|
||||||
# Pressing left will shrink the window’s width.
|
|
||||||
# Pressing right will grow the window’s width.
|
|
||||||
# Pressing up will shrink the window’s height.
|
|
||||||
# Pressing down will grow the window’s height.
|
|
||||||
bindsym j resize shrink width 10 px or 10 ppt
|
|
||||||
bindsym k resize grow height 10 px or 10 ppt
|
|
||||||
bindsym l resize shrink height 10 px or 10 ppt
|
|
||||||
bindsym m resize grow width 10 px or 10 ppt
|
|
||||||
|
|
||||||
# same bindings, but for the arrow keys
|
|
||||||
bindsym Left resize shrink width 10 px or 10 ppt
|
|
||||||
bindsym Down resize grow height 10 px or 10 ppt
|
|
||||||
bindsym Up resize shrink height 10 px or 10 ppt
|
|
||||||
bindsym Right resize grow width 10 px or 10 ppt
|
|
||||||
|
|
||||||
# back to normal: Enter or Escape
|
|
||||||
bindsym Return mode "default"
|
|
||||||
bindsym Escape mode "default"
|
|
||||||
}
|
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
|
||||||
|
|
||||||
bindsym $mod+w sticky toggle
|
|
||||||
|
|
||||||
# Color scheme night owl
|
|
||||||
#client.focused #a2bffc #a2bffc #282828 #282828
|
|
||||||
#client.focused_inactive #1d2021 #1d2021 #928374 #282828
|
|
||||||
#client.unfocused #32302f #32302f #928374 #282828
|
|
||||||
#client.urgent #cc241d #cc241d #ebdbb2 #282828
|
|
||||||
|
|
||||||
# Theme
|
|
||||||
#
|
|
||||||
# Note: I only really need border for the current focused window, so the inactive broder is set to background color. If you want a more visible vorder, replace #000b1e with #0abdc6 (for example) on client.[focused_inactive|unfocused]
|
|
||||||
default_border pixel 1
|
|
||||||
default_floating_border pixel 1
|
|
||||||
|
|
||||||
client.focused #ea00d9 #ea00d9 #000b1e #ea00d9 #ea00d9
|
|
||||||
client.focused_inactive #000b1e #000b1e #0abdc6 #000b1e #000b1e
|
|
||||||
client.unfocused #000b1e #000b1e #0abdc6 #000b1e #000b1e
|
|
||||||
client.urgent #ff0000 #ff0000 #000b1e #ff0000 #ff0000
|
|
||||||
client.placeholder #000b1e #000b1e #0abdc6 #000b1e #000b1e
|
|
||||||
|
|
||||||
exec xsetroot -solid "#222222"
|
|
||||||
|
|
||||||
#exec "setxkbmap -option 'grp:alt_shift_toggle' -layout fr,fr -variant oss,bepo"
|
|
||||||
|
|
||||||
# Pulse Audio controls
|
|
||||||
bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume 0 +5%; pactl set-sink-volume 1 +5%"
|
|
||||||
bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume 0 -5%; pactl set-sink-volume 1 -5%"
|
|
||||||
bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute 0 toggle" # mute sound
|
|
||||||
|
|
||||||
# gestion de la luminosité
|
|
||||||
bindsym XF86MonBrightnessUp exec brightnessctl set +10% # increase screen brightness
|
|
||||||
bindsym XF86MonBrightnessDown exec brightnessctl set 10%- # decrease screen brightness
|
|
||||||
|
|
||||||
exec_always --no-startup-id autorandr -c
|
|
||||||
|
|
||||||
exec_always --no-startup-id bash ~/.config/polybar/launch.sh
|
|
||||||
|
|
||||||
exec --no-startup-id pulseaudio -k && pulseaudio --start
|
|
||||||
|
|
||||||
exec --no-startup-id nm-applet
|
|
||||||
exec --no-startup-id blueman-applet
|
|
||||||
exec --no-startup-id nextcloud
|
|
||||||
#exec --no-startup-id rofi
|
|
||||||
#exec --no-startup-id secret-tool lookup "KeePass Perso" | keepassxc --pw-stdin "$HOME/nextcloud/perso/db.kdbx"
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
locations:
|
||||||
|
florac:
|
||||||
|
altitude: 522
|
||||||
|
latitude: 44.3245
|
||||||
|
longitude: 3.5925
|
||||||
|
mafresié:
|
||||||
|
altitude: 360
|
||||||
|
latitude: 44.1230
|
||||||
|
longitude: 2.0200
|
||||||
|
calvernais:
|
||||||
|
altitude: 100
|
||||||
|
latitude: 47.5756
|
||||||
|
longitude: -1.7111
|
||||||
+158
-97
@@ -1,67 +1,36 @@
|
|||||||
" vim-plug: Vim plugin manager
|
" vim-plug: Vim plugin manager
|
||||||
" ============================
|
" ============================
|
||||||
"
|
"
|
||||||
" Download plug.vim and put it in ~/.vim/autoload
|
" 1. Download plug.vim and put it in 'autoload' directory
|
||||||
"
|
"
|
||||||
|
" # Vim
|
||||||
" curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
|
" curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
|
||||||
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
"
|
"
|
||||||
" Edit your .vimrc
|
" # Neovim
|
||||||
|
" sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
|
||||||
|
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
||||||
"
|
"
|
||||||
" call plug#begin('~/.vim/plugged')
|
" 2. Add a vim-plug section to your ~/.vimrc (or ~/.config/nvim/init.vim for Neovim)
|
||||||
"
|
"
|
||||||
" " Make sure you use single quotes
|
" call plug#begin()
|
||||||
"
|
"
|
||||||
" " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align
|
" " List your plugins here
|
||||||
" Plug 'junegunn/vim-easy-align'
|
" Plug 'tpope/vim-sensible'
|
||||||
"
|
"
|
||||||
" " Any valid git URL is allowed
|
|
||||||
" Plug 'https://github.com/junegunn/vim-github-dashboard.git'
|
|
||||||
"
|
|
||||||
" " Multiple Plug commands can be written in a single line using | separators
|
|
||||||
" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
|
|
||||||
"
|
|
||||||
" " On-demand loading
|
|
||||||
" Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
|
|
||||||
" Plug 'tpope/vim-fireplace', { 'for': 'clojure' }
|
|
||||||
"
|
|
||||||
" " Using a non-default branch
|
|
||||||
" Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }
|
|
||||||
"
|
|
||||||
" " Using a tagged release; wildcard allowed (requires git 1.9.2 or above)
|
|
||||||
" Plug 'fatih/vim-go', { 'tag': '*' }
|
|
||||||
"
|
|
||||||
" " Plugin options
|
|
||||||
" Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }
|
|
||||||
"
|
|
||||||
" " Plugin outside ~/.vim/plugged with post-update hook
|
|
||||||
" Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
|
|
||||||
"
|
|
||||||
" " Unmanaged plugin (manually installed and updated)
|
|
||||||
" Plug '~/my-prototype-plugin'
|
|
||||||
"
|
|
||||||
" " Initialize plugin system
|
|
||||||
" call plug#end()
|
" call plug#end()
|
||||||
"
|
"
|
||||||
" Then reload .vimrc and :PlugInstall to install plugins.
|
" 3. Reload the file or restart Vim, then you can,
|
||||||
"
|
"
|
||||||
" Plug options:
|
" :PlugInstall to install plugins
|
||||||
|
" :PlugUpdate to update plugins
|
||||||
|
" :PlugDiff to review the changes from the last update
|
||||||
|
" :PlugClean to remove plugins no longer in the list
|
||||||
"
|
"
|
||||||
"| Option | Description |
|
" For more information, see https://github.com/junegunn/vim-plug
|
||||||
"| ----------------------- | ------------------------------------------------ |
|
|
||||||
"| `branch`/`tag`/`commit` | Branch/tag/commit of the repository to use |
|
|
||||||
"| `rtp` | Subdirectory that contains Vim plugin |
|
|
||||||
"| `dir` | Custom directory for the plugin |
|
|
||||||
"| `as` | Use different name for the plugin |
|
|
||||||
"| `do` | Post-update hook (string or funcref) |
|
|
||||||
"| `on` | On-demand loading: Commands or `<Plug>`-mappings |
|
|
||||||
"| `for` | On-demand loading: File types |
|
|
||||||
"| `frozen` | Do not update unless explicitly specified |
|
|
||||||
"
|
|
||||||
" More information: https://github.com/junegunn/vim-plug
|
|
||||||
"
|
"
|
||||||
"
|
"
|
||||||
" Copyright (c) 2017 Junegunn Choi
|
" Copyright (c) 2024 Junegunn Choi
|
||||||
"
|
"
|
||||||
" MIT License
|
" MIT License
|
||||||
"
|
"
|
||||||
@@ -238,10 +207,11 @@ endfunction
|
|||||||
|
|
||||||
function! plug#begin(...)
|
function! plug#begin(...)
|
||||||
if a:0 > 0
|
if a:0 > 0
|
||||||
let s:plug_home_org = a:1
|
|
||||||
let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p'))
|
let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p'))
|
||||||
elseif exists('g:plug_home')
|
elseif exists('g:plug_home')
|
||||||
let home = s:path(g:plug_home)
|
let home = s:path(g:plug_home)
|
||||||
|
elseif has('nvim')
|
||||||
|
let home = stdpath('data') . '/plugged'
|
||||||
elseif !empty(&rtp)
|
elseif !empty(&rtp)
|
||||||
let home = s:path(split(&rtp, ',')[0]) . '/plugged'
|
let home = s:path(split(&rtp, ',')[0]) . '/plugged'
|
||||||
else
|
else
|
||||||
@@ -350,7 +320,7 @@ function! plug#end()
|
|||||||
endif
|
endif
|
||||||
let lod = { 'ft': {}, 'map': {}, 'cmd': {} }
|
let lod = { 'ft': {}, 'map': {}, 'cmd': {} }
|
||||||
|
|
||||||
if exists('g:did_load_filetypes')
|
if get(g:, 'did_load_filetypes', 0)
|
||||||
filetype off
|
filetype off
|
||||||
endif
|
endif
|
||||||
for name in g:plugs_order
|
for name in g:plugs_order
|
||||||
@@ -389,6 +359,9 @@ function! plug#end()
|
|||||||
if !empty(types)
|
if !empty(types)
|
||||||
augroup filetypedetect
|
augroup filetypedetect
|
||||||
call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim')
|
call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim')
|
||||||
|
if has('nvim-0.5.0')
|
||||||
|
call s:source(s:rtp(plug), 'ftdetect/**/*.lua', 'after/ftdetect/**/*.lua')
|
||||||
|
endif
|
||||||
augroup END
|
augroup END
|
||||||
endif
|
endif
|
||||||
for type in types
|
for type in types
|
||||||
@@ -405,7 +378,7 @@ function! plug#end()
|
|||||||
|
|
||||||
for [map, names] in items(lod.map)
|
for [map, names] in items(lod.map)
|
||||||
for [mode, map_prefix, key_prefix] in
|
for [mode, map_prefix, key_prefix] in
|
||||||
\ [['i', '<C-O>', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']]
|
\ [['i', '<C-\><C-O>', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']]
|
||||||
execute printf(
|
execute printf(
|
||||||
\ '%snoremap <silent> %s %s:<C-U>call <SID>lod_map(%s, %s, %s, "%s")<CR>',
|
\ '%snoremap <silent> %s %s:<C-U>call <SID>lod_map(%s, %s, %s, "%s")<CR>',
|
||||||
\ mode, map, map_prefix, string(map), string(names), mode != 'i', key_prefix)
|
\ mode, map, map_prefix, string(map), string(names), mode != 'i', key_prefix)
|
||||||
@@ -436,6 +409,9 @@ endfunction
|
|||||||
|
|
||||||
function! s:load_plugin(spec)
|
function! s:load_plugin(spec)
|
||||||
call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim')
|
call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim')
|
||||||
|
if has('nvim-0.5.0')
|
||||||
|
call s:source(s:rtp(a:spec), 'plugin/**/*.lua', 'after/plugin/**/*.lua')
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:reload_plugins()
|
function! s:reload_plugins()
|
||||||
@@ -653,6 +629,9 @@ function! s:lod(names, types, ...)
|
|||||||
let rtp = s:rtp(g:plugs[name])
|
let rtp = s:rtp(g:plugs[name])
|
||||||
for dir in a:types
|
for dir in a:types
|
||||||
call s:source(rtp, dir.'/**/*.vim')
|
call s:source(rtp, dir.'/**/*.vim')
|
||||||
|
if has('nvim-0.5.0') " see neovim#14686
|
||||||
|
call s:source(rtp, dir.'/**/*.lua')
|
||||||
|
endif
|
||||||
endfor
|
endfor
|
||||||
if a:0
|
if a:0
|
||||||
if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2))
|
if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2))
|
||||||
@@ -804,10 +783,11 @@ endfunction
|
|||||||
function! s:syntax()
|
function! s:syntax()
|
||||||
syntax clear
|
syntax clear
|
||||||
syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber
|
syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber
|
||||||
syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX
|
syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX,plugAbort
|
||||||
syn match plugNumber /[0-9]\+[0-9.]*/ contained
|
syn match plugNumber /[0-9]\+[0-9.]*/ contained
|
||||||
syn match plugBracket /[[\]]/ contained
|
syn match plugBracket /[[\]]/ contained
|
||||||
syn match plugX /x/ contained
|
syn match plugX /x/ contained
|
||||||
|
syn match plugAbort /\~/ contained
|
||||||
syn match plugDash /^-\{1}\ /
|
syn match plugDash /^-\{1}\ /
|
||||||
syn match plugPlus /^+/
|
syn match plugPlus /^+/
|
||||||
syn match plugStar /^*/
|
syn match plugStar /^*/
|
||||||
@@ -832,6 +812,7 @@ function! s:syntax()
|
|||||||
hi def link plug2 Repeat
|
hi def link plug2 Repeat
|
||||||
hi def link plugH2 Type
|
hi def link plugH2 Type
|
||||||
hi def link plugX Exception
|
hi def link plugX Exception
|
||||||
|
hi def link plugAbort Ignore
|
||||||
hi def link plugBracket Structure
|
hi def link plugBracket Structure
|
||||||
hi def link plugNumber Number
|
hi def link plugNumber Number
|
||||||
|
|
||||||
@@ -867,7 +848,7 @@ function! s:lastline(msg)
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:new_window()
|
function! s:new_window()
|
||||||
execute get(g:, 'plug_window', 'vertical topleft new')
|
execute get(g:, 'plug_window', '-tabnew')
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:plug_window_exists()
|
function! s:plug_window_exists()
|
||||||
@@ -929,7 +910,7 @@ function! s:prepare(...)
|
|||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
call s:job_abort()
|
call s:job_abort(0)
|
||||||
if s:switch_in()
|
if s:switch_in()
|
||||||
if b:plug_preview == 1
|
if b:plug_preview == 1
|
||||||
pc
|
pc
|
||||||
@@ -965,6 +946,8 @@ function! s:close_pane()
|
|||||||
if b:plug_preview == 1
|
if b:plug_preview == 1
|
||||||
pc
|
pc
|
||||||
let b:plug_preview = -1
|
let b:plug_preview = -1
|
||||||
|
elseif exists('s:jobs') && !empty(s:jobs)
|
||||||
|
call s:job_abort(1)
|
||||||
else
|
else
|
||||||
bd
|
bd
|
||||||
endif
|
endif
|
||||||
@@ -1029,6 +1012,11 @@ function! s:is_updated(dir)
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:do(pull, force, todo)
|
function! s:do(pull, force, todo)
|
||||||
|
if has('nvim')
|
||||||
|
" Reset &rtp to invalidate Neovim cache of loaded Lua modules
|
||||||
|
" See https://github.com/junegunn/vim-plug/pull/1157#issuecomment-1809226110
|
||||||
|
let &rtp = &rtp
|
||||||
|
endif
|
||||||
for [name, spec] in items(a:todo)
|
for [name, spec] in items(a:todo)
|
||||||
if !isdirectory(spec.dir)
|
if !isdirectory(spec.dir)
|
||||||
continue
|
continue
|
||||||
@@ -1090,12 +1078,14 @@ endfunction
|
|||||||
function! s:checkout(spec)
|
function! s:checkout(spec)
|
||||||
let sha = a:spec.commit
|
let sha = a:spec.commit
|
||||||
let output = s:git_revision(a:spec.dir)
|
let output = s:git_revision(a:spec.dir)
|
||||||
|
let error = 0
|
||||||
if !empty(output) && !s:hash_match(sha, s:lines(output)[0])
|
if !empty(output) && !s:hash_match(sha, s:lines(output)[0])
|
||||||
let credential_helper = s:git_version_requirement(2) ? '-c credential.helper= ' : ''
|
let credential_helper = s:git_version_requirement(2) ? '-c credential.helper= ' : ''
|
||||||
let output = s:system(
|
let output = s:system(
|
||||||
\ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir)
|
\ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir)
|
||||||
|
let error = v:shell_error
|
||||||
endif
|
endif
|
||||||
return output
|
return [output, error]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:finish(pull)
|
function! s:finish(pull)
|
||||||
@@ -1156,7 +1146,7 @@ function! s:update_impl(pull, force, args) abort
|
|||||||
let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ?
|
let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ?
|
||||||
\ remove(args, -1) : get(g:, 'plug_threads', 16)
|
\ remove(args, -1) : get(g:, 'plug_threads', 16)
|
||||||
|
|
||||||
let managed = filter(copy(g:plugs), 's:is_managed(v:key)')
|
let managed = filter(deepcopy(g:plugs), 's:is_managed(v:key)')
|
||||||
let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') :
|
let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') :
|
||||||
\ filter(managed, 'index(args, v:key) >= 0')
|
\ filter(managed, 'index(args, v:key) >= 0')
|
||||||
|
|
||||||
@@ -1290,9 +1280,11 @@ function! s:update_finish()
|
|||||||
if !pos
|
if !pos
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
|
let out = ''
|
||||||
|
let error = 0
|
||||||
if has_key(spec, 'commit')
|
if has_key(spec, 'commit')
|
||||||
call s:log4(name, 'Checking out '.spec.commit)
|
call s:log4(name, 'Checking out '.spec.commit)
|
||||||
let out = s:checkout(spec)
|
let [out, error] = s:checkout(spec)
|
||||||
elseif has_key(spec, 'tag')
|
elseif has_key(spec, 'tag')
|
||||||
let tag = spec.tag
|
let tag = spec.tag
|
||||||
if tag =~ '\*'
|
if tag =~ '\*'
|
||||||
@@ -1305,19 +1297,16 @@ function! s:update_finish()
|
|||||||
endif
|
endif
|
||||||
call s:log4(name, 'Checking out '.tag)
|
call s:log4(name, 'Checking out '.tag)
|
||||||
let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir)
|
let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir)
|
||||||
else
|
let error = v:shell_error
|
||||||
let branch = s:git_origin_branch(spec)
|
|
||||||
call s:log4(name, 'Merging origin/'.s:esc(branch))
|
|
||||||
let out = s:system('git checkout -q '.plug#shellescape(branch).' -- 2>&1'
|
|
||||||
\. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only '.plug#shellescape('origin/'.branch).' 2>&1')), spec.dir)
|
|
||||||
endif
|
endif
|
||||||
if !v:shell_error && filereadable(spec.dir.'/.gitmodules') &&
|
if !error && filereadable(spec.dir.'/.gitmodules') &&
|
||||||
\ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir))
|
\ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir))
|
||||||
call s:log4(name, 'Updating submodules. This may take a while.')
|
call s:log4(name, 'Updating submodules. This may take a while.')
|
||||||
let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir)
|
let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir)
|
||||||
|
let error = v:shell_error
|
||||||
endif
|
endif
|
||||||
let msg = s:format_message(v:shell_error ? 'x': '-', name, out)
|
let msg = s:format_message(v:shell_error ? 'x': '-', name, out)
|
||||||
if v:shell_error
|
if error
|
||||||
call add(s:update.errors, name)
|
call add(s:update.errors, name)
|
||||||
call s:regress_bar()
|
call s:regress_bar()
|
||||||
silent execute pos 'd _'
|
silent execute pos 'd _'
|
||||||
@@ -1341,7 +1330,12 @@ function! s:update_finish()
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:job_abort()
|
function! s:mark_aborted(name, message)
|
||||||
|
let attrs = { 'running': 0, 'error': 1, 'abort': 1, 'lines': [a:message] }
|
||||||
|
let s:jobs[a:name] = extend(get(s:jobs, a:name, {}), attrs)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:job_abort(cancel)
|
||||||
if (!s:nvim && !s:vim8) || !exists('s:jobs')
|
if (!s:nvim && !s:vim8) || !exists('s:jobs')
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@@ -1355,8 +1349,18 @@ function! s:job_abort()
|
|||||||
if j.new
|
if j.new
|
||||||
call s:rm_rf(g:plugs[name].dir)
|
call s:rm_rf(g:plugs[name].dir)
|
||||||
endif
|
endif
|
||||||
|
if a:cancel
|
||||||
|
call s:mark_aborted(name, 'Aborted')
|
||||||
|
endif
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
|
if a:cancel
|
||||||
|
for todo in values(s:update.todo)
|
||||||
|
let todo.abort = 1
|
||||||
|
endfor
|
||||||
|
else
|
||||||
let s:jobs = {}
|
let s:jobs = {}
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:last_non_empty_line(lines)
|
function! s:last_non_empty_line(lines)
|
||||||
@@ -1370,6 +1374,16 @@ function! s:last_non_empty_line(lines)
|
|||||||
return ''
|
return ''
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:bullet_for(job, ...)
|
||||||
|
if a:job.running
|
||||||
|
return a:job.new ? '+' : '*'
|
||||||
|
endif
|
||||||
|
if get(a:job, 'abort', 0)
|
||||||
|
return '~'
|
||||||
|
endif
|
||||||
|
return a:job.error ? 'x' : get(a:000, 0, '-')
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! s:job_out_cb(self, data) abort
|
function! s:job_out_cb(self, data) abort
|
||||||
let self = a:self
|
let self = a:self
|
||||||
let data = remove(self.lines, -1) . a:data
|
let data = remove(self.lines, -1) . a:data
|
||||||
@@ -1378,9 +1392,10 @@ function! s:job_out_cb(self, data) abort
|
|||||||
" To reduce the number of buffer updates
|
" To reduce the number of buffer updates
|
||||||
let self.tick = get(self, 'tick', -1) + 1
|
let self.tick = get(self, 'tick', -1) + 1
|
||||||
if !self.running || self.tick % len(s:jobs) == 0
|
if !self.running || self.tick % len(s:jobs) == 0
|
||||||
let bullet = self.running ? (self.new ? '+' : '*') : (self.error ? 'x' : '-')
|
|
||||||
let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines)
|
let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines)
|
||||||
call s:log(bullet, self.name, result)
|
if len(result)
|
||||||
|
call s:log(s:bullet_for(self), self.name, result)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -1393,7 +1408,7 @@ endfunction
|
|||||||
|
|
||||||
function! s:job_cb(fn, job, ch, data)
|
function! s:job_cb(fn, job, ch, data)
|
||||||
if !s:plug_window_exists() " plug window closed
|
if !s:plug_window_exists() " plug window closed
|
||||||
return s:job_abort()
|
return s:job_abort(0)
|
||||||
endif
|
endif
|
||||||
call call(a:fn, [a:job, a:data])
|
call call(a:fn, [a:job, a:data])
|
||||||
endfunction
|
endfunction
|
||||||
@@ -1404,16 +1419,17 @@ function! s:nvim_cb(job_id, data, event) dict abort
|
|||||||
\ s:job_cb('s:job_exit_cb', self, 0, a:data)
|
\ s:job_cb('s:job_exit_cb', self, 0, a:data)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:spawn(name, cmd, opts)
|
function! s:spawn(name, spec, queue, opts)
|
||||||
let job = { 'name': a:name, 'running': 1, 'error': 0, 'lines': [''],
|
let job = { 'name': a:name, 'spec': a:spec, 'running': 1, 'error': 0, 'lines': [''],
|
||||||
\ 'new': get(a:opts, 'new', 0) }
|
\ 'new': get(a:opts, 'new', 0), 'queue': copy(a:queue) }
|
||||||
|
let Item = remove(job.queue, 0)
|
||||||
|
let argv = type(Item) == s:TYPE.funcref ? call(Item, [a:spec]) : Item
|
||||||
let s:jobs[a:name] = job
|
let s:jobs[a:name] = job
|
||||||
|
|
||||||
if s:nvim
|
if s:nvim
|
||||||
if has_key(a:opts, 'dir')
|
if has_key(a:opts, 'dir')
|
||||||
let job.cwd = a:opts.dir
|
let job.cwd = a:opts.dir
|
||||||
endif
|
endif
|
||||||
let argv = a:cmd
|
|
||||||
call extend(job, {
|
call extend(job, {
|
||||||
\ 'on_stdout': function('s:nvim_cb'),
|
\ 'on_stdout': function('s:nvim_cb'),
|
||||||
\ 'on_stderr': function('s:nvim_cb'),
|
\ 'on_stderr': function('s:nvim_cb'),
|
||||||
@@ -1429,7 +1445,7 @@ function! s:spawn(name, cmd, opts)
|
|||||||
\ 'Invalid arguments (or job table is full)']
|
\ 'Invalid arguments (or job table is full)']
|
||||||
endif
|
endif
|
||||||
elseif s:vim8
|
elseif s:vim8
|
||||||
let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"script": 0})'))
|
let cmd = join(map(copy(argv), 'plug#shellescape(v:val, {"script": 0})'))
|
||||||
if has_key(a:opts, 'dir')
|
if has_key(a:opts, 'dir')
|
||||||
let cmd = s:with_cd(cmd, a:opts.dir, 0)
|
let cmd = s:with_cd(cmd, a:opts.dir, 0)
|
||||||
endif
|
endif
|
||||||
@@ -1449,27 +1465,33 @@ function! s:spawn(name, cmd, opts)
|
|||||||
let job.lines = ['Failed to start job']
|
let job.lines = ['Failed to start job']
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
let job.lines = s:lines(call('s:system', has_key(a:opts, 'dir') ? [a:cmd, a:opts.dir] : [a:cmd]))
|
let job.lines = s:lines(call('s:system', has_key(a:opts, 'dir') ? [argv, a:opts.dir] : [argv]))
|
||||||
let job.error = v:shell_error != 0
|
let job.error = v:shell_error != 0
|
||||||
let job.running = 0
|
let job.running = 0
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:reap(name)
|
function! s:reap(name)
|
||||||
let job = s:jobs[a:name]
|
let job = remove(s:jobs, a:name)
|
||||||
if job.error
|
if job.error
|
||||||
call add(s:update.errors, a:name)
|
call add(s:update.errors, a:name)
|
||||||
elseif get(job, 'new', 0)
|
elseif get(job, 'new', 0)
|
||||||
let s:update.new[a:name] = 1
|
let s:update.new[a:name] = 1
|
||||||
endif
|
endif
|
||||||
let s:update.bar .= job.error ? 'x' : '='
|
|
||||||
|
|
||||||
let bullet = job.error ? 'x' : '-'
|
let more = len(get(job, 'queue', []))
|
||||||
let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines)
|
let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines)
|
||||||
call s:log(bullet, a:name, empty(result) ? 'OK' : result)
|
if len(result)
|
||||||
call s:bar()
|
call s:log(s:bullet_for(job), a:name, result)
|
||||||
|
endif
|
||||||
|
|
||||||
call remove(s:jobs, a:name)
|
if !job.error && more
|
||||||
|
let job.spec.queue = job.queue
|
||||||
|
let s:update.todo[a:name] = job.spec
|
||||||
|
else
|
||||||
|
let s:update.bar .= s:bullet_for(job, '=')
|
||||||
|
call s:bar()
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:bar()
|
function! s:bar()
|
||||||
@@ -1522,6 +1544,16 @@ function! s:update_vim()
|
|||||||
call s:tick()
|
call s:tick()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:checkout_command(spec)
|
||||||
|
let a:spec.branch = s:git_origin_branch(a:spec)
|
||||||
|
return ['git', 'checkout', '-q', a:spec.branch, '--']
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:merge_command(spec)
|
||||||
|
let a:spec.branch = s:git_origin_branch(a:spec)
|
||||||
|
return ['git', 'merge', '--ff-only', 'origin/'.a:spec.branch]
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! s:tick()
|
function! s:tick()
|
||||||
let pull = s:update.pull
|
let pull = s:update.pull
|
||||||
let prog = s:progress_opt(s:nvim || s:vim8)
|
let prog = s:progress_opt(s:nvim || s:vim8)
|
||||||
@@ -1536,13 +1568,24 @@ while 1 " Without TCO, Vim stack is bound to explode
|
|||||||
|
|
||||||
let name = keys(s:update.todo)[0]
|
let name = keys(s:update.todo)[0]
|
||||||
let spec = remove(s:update.todo, name)
|
let spec = remove(s:update.todo, name)
|
||||||
|
if get(spec, 'abort', 0)
|
||||||
|
call s:mark_aborted(name, 'Skipped')
|
||||||
|
call s:reap(name)
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
|
||||||
|
let queue = get(spec, 'queue', [])
|
||||||
let new = empty(globpath(spec.dir, '.git', 1))
|
let new = empty(globpath(spec.dir, '.git', 1))
|
||||||
|
|
||||||
|
if empty(queue)
|
||||||
call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...')
|
call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...')
|
||||||
redraw
|
redraw
|
||||||
|
endif
|
||||||
|
|
||||||
let has_tag = has_key(spec, 'tag')
|
let has_tag = has_key(spec, 'tag')
|
||||||
if !new
|
if len(queue)
|
||||||
|
call s:spawn(name, spec, queue, { 'dir': spec.dir })
|
||||||
|
elseif !new
|
||||||
let [error, _] = s:git_validate(spec, 0)
|
let [error, _] = s:git_validate(spec, 0)
|
||||||
if empty(error)
|
if empty(error)
|
||||||
if pull
|
if pull
|
||||||
@@ -1553,7 +1596,11 @@ while 1 " Without TCO, Vim stack is bound to explode
|
|||||||
if !empty(prog)
|
if !empty(prog)
|
||||||
call add(cmd, prog)
|
call add(cmd, prog)
|
||||||
endif
|
endif
|
||||||
call s:spawn(name, cmd, { 'dir': spec.dir })
|
let queue = [cmd, split('git remote set-head origin -a')]
|
||||||
|
if !has_tag && !has_key(spec, 'commit')
|
||||||
|
call extend(queue, [function('s:checkout_command'), function('s:merge_command')])
|
||||||
|
endif
|
||||||
|
call s:spawn(name, spec, queue, { 'dir': spec.dir })
|
||||||
else
|
else
|
||||||
let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 }
|
let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 }
|
||||||
endif
|
endif
|
||||||
@@ -1568,7 +1615,7 @@ while 1 " Without TCO, Vim stack is bound to explode
|
|||||||
if !empty(prog)
|
if !empty(prog)
|
||||||
call add(cmd, prog)
|
call add(cmd, prog)
|
||||||
endif
|
endif
|
||||||
call s:spawn(name, extend(cmd, [spec.uri, s:trim(spec.dir)]), { 'new': 1 })
|
call s:spawn(name, spec, [extend(cmd, [spec.uri, s:trim(spec.dir)]), function('s:checkout_command'), function('s:merge_command')], { 'new': 1 })
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !s:jobs[name].running
|
if !s:jobs[name].running
|
||||||
@@ -2267,7 +2314,10 @@ endfunction
|
|||||||
|
|
||||||
function! s:with_cd(cmd, dir, ...)
|
function! s:with_cd(cmd, dir, ...)
|
||||||
let script = a:0 > 0 ? a:1 : 1
|
let script = a:0 > 0 ? a:1 : 1
|
||||||
return printf('cd%s %s && %s', s:is_win ? ' /d' : '', plug#shellescape(a:dir, {'script': script}), a:cmd)
|
let pwsh = s:is_powershell(&shell)
|
||||||
|
let cd = s:is_win && !pwsh ? 'cd /d' : 'cd'
|
||||||
|
let sep = pwsh ? ';' : '&&'
|
||||||
|
return printf('%s %s %s %s', cd, plug#shellescape(a:dir, {'script': script, 'shell': &shell}), sep, a:cmd)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:system(cmd, ...)
|
function! s:system(cmd, ...)
|
||||||
@@ -2344,18 +2394,21 @@ function! s:git_validate(spec, check_branch)
|
|||||||
\ current_branch, origin_branch)
|
\ current_branch, origin_branch)
|
||||||
endif
|
endif
|
||||||
if empty(err)
|
if empty(err)
|
||||||
let [ahead, behind] = split(s:lastline(s:system([
|
let ahead_behind = split(s:lastline(s:system([
|
||||||
\ 'git', 'rev-list', '--count', '--left-right',
|
\ 'git', 'rev-list', '--count', '--left-right',
|
||||||
\ printf('HEAD...origin/%s', origin_branch)
|
\ printf('HEAD...origin/%s', origin_branch)
|
||||||
\ ], a:spec.dir)), '\t')
|
\ ], a:spec.dir)), '\t')
|
||||||
if !v:shell_error && ahead
|
if v:shell_error || len(ahead_behind) != 2
|
||||||
if behind
|
let err = "Failed to compare with the origin. The default branch might have changed.\nPlugClean required."
|
||||||
|
else
|
||||||
|
let [ahead, behind] = ahead_behind
|
||||||
|
if ahead && behind
|
||||||
" Only mention PlugClean if diverged, otherwise it's likely to be
|
" Only mention PlugClean if diverged, otherwise it's likely to be
|
||||||
" pushable (and probably not that messed up).
|
" pushable (and probably not that messed up).
|
||||||
let err = printf(
|
let err = printf(
|
||||||
\ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n"
|
\ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n"
|
||||||
\ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', origin_branch, ahead, behind)
|
\ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', origin_branch, ahead, behind)
|
||||||
else
|
elseif ahead
|
||||||
let err = printf("Ahead of origin/%s by %d commit(s).\n"
|
let err = printf("Ahead of origin/%s by %d commit(s).\n"
|
||||||
\ .'Cannot update until local changes are pushed.',
|
\ .'Cannot update until local changes are pushed.',
|
||||||
\ origin_branch, ahead)
|
\ origin_branch, ahead)
|
||||||
@@ -2387,7 +2440,7 @@ function! s:clean(force)
|
|||||||
let errs = {}
|
let errs = {}
|
||||||
let [cnt, total] = [0, len(g:plugs)]
|
let [cnt, total] = [0, len(g:plugs)]
|
||||||
for [name, spec] in items(g:plugs)
|
for [name, spec] in items(g:plugs)
|
||||||
if !s:is_managed(name)
|
if !s:is_managed(name) || get(spec, 'frozen', 0)
|
||||||
call add(dirs, spec.dir)
|
call add(dirs, spec.dir)
|
||||||
else
|
else
|
||||||
let [err, clean] = s:git_validate(spec, 1)
|
let [err, clean] = s:git_validate(spec, 1)
|
||||||
@@ -2619,26 +2672,34 @@ function! s:preview_commit()
|
|||||||
|
|
||||||
let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}')
|
let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}')
|
||||||
if empty(sha)
|
if empty(sha)
|
||||||
|
let name = matchstr(getline('.'), '^- \zs[^:]*\ze:$')
|
||||||
|
if empty(name)
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
let title = 'HEAD@{1}..'
|
||||||
|
let command = 'git diff --no-color HEAD@{1}'
|
||||||
|
else
|
||||||
|
let title = sha
|
||||||
|
let command = 'git show --no-color --pretty=medium '.sha
|
||||||
let name = s:find_name(line('.'))
|
let name = s:find_name(line('.'))
|
||||||
|
endif
|
||||||
|
|
||||||
if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir)
|
if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir)
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if exists('g:plug_pwindow') && !s:is_preview_window_open()
|
if !s:is_preview_window_open()
|
||||||
execute g:plug_pwindow
|
execute get(g:, 'plug_pwindow', 'vertical rightbelow new')
|
||||||
execute 'e' sha
|
execute 'e' title
|
||||||
else
|
else
|
||||||
execute 'pedit' sha
|
execute 'pedit' title
|
||||||
wincmd P
|
wincmd P
|
||||||
endif
|
endif
|
||||||
setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable
|
setlocal previewwindow filetype=git buftype=nofile bufhidden=wipe nobuflisted modifiable
|
||||||
let batchfile = ''
|
let batchfile = ''
|
||||||
try
|
try
|
||||||
let [sh, shellcmdflag, shrd] = s:chsh(1)
|
let [sh, shellcmdflag, shrd] = s:chsh(1)
|
||||||
let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha
|
let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && '.command
|
||||||
if s:is_win
|
if s:is_win
|
||||||
let [batchfile, cmd] = s:batchfile(cmd)
|
let [batchfile, cmd] = s:batchfile(cmd)
|
||||||
endif
|
endif
|
||||||
@@ -2764,9 +2825,9 @@ function! s:snapshot(force, ...) abort
|
|||||||
1
|
1
|
||||||
let anchor = line('$') - 3
|
let anchor = line('$') - 3
|
||||||
let names = sort(keys(filter(copy(g:plugs),
|
let names = sort(keys(filter(copy(g:plugs),
|
||||||
\'has_key(v:val, "uri") && !has_key(v:val, "commit") && isdirectory(v:val.dir)')))
|
\'has_key(v:val, "uri") && isdirectory(v:val.dir)')))
|
||||||
for name in reverse(names)
|
for name in reverse(names)
|
||||||
let sha = s:git_revision(g:plugs[name].dir)
|
let sha = has_key(g:plugs[name], 'commit') ? g:plugs[name].commit : s:git_revision(g:plugs[name].dir)
|
||||||
if !empty(sha)
|
if !empty(sha)
|
||||||
call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha))
|
call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha))
|
||||||
redraw
|
redraw
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+32
-65
@@ -2,40 +2,41 @@ syntax on
|
|||||||
set nocompatible
|
set nocompatible
|
||||||
set encoding=utf8
|
set encoding=utf8
|
||||||
|
|
||||||
set mouse=a
|
"set mouse=a
|
||||||
set hidden
|
set hidden
|
||||||
|
|
||||||
set updatetime=300
|
set updatetime=300
|
||||||
|
|
||||||
" -- Initialisation de Plug
|
" -- Initialisation de Plug
|
||||||
call plug#begin('~/.config/nvim/plugged')
|
call plug#begin('~/.config/nvim/plugged')
|
||||||
Plug 'crusoexia/vim-monokai'
|
Plug 'loctvl842/monokai-pro.nvim'
|
||||||
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
|
||||||
Plug 'junegunn/fzf.vim'
|
Plug 'junegunn/fzf.vim'
|
||||||
Plug 'StanAngeloff/php.vim'
|
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
|
||||||
" Plug 'vim-airline/vim-airline'
|
|
||||||
Plug 'famiu/feline.nvim'
|
|
||||||
Plug 'cakebaker/scss-syntax.vim'
|
|
||||||
" Plug 'plasticboy/vim-markdown'
|
|
||||||
" Plug 'tpope/vim-fugitive'
|
|
||||||
Plug 'rust-lang/rust.vim'
|
|
||||||
Plug 'jiangmiao/auto-pairs' " Ferme automatiquement les parenthèses, crochets…
|
|
||||||
Plug 'lukas-reineke/indent-blankline.nvim' " Affiche les indentations.
|
|
||||||
Plug 'terrortylor/nvim-comment' " Permet de basculer les commentaires sur une ligne
|
|
||||||
Plug 'kyazdani42/nvim-web-devicons' " requis pas bufferline
|
Plug 'kyazdani42/nvim-web-devicons' " requis pas bufferline
|
||||||
Plug 'akinsho/bufferline.nvim',
|
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||||||
|
Plug 'pappasam/coc-jedi', { 'do': 'yarn install --frozen-lockfile && yarn build', 'branch': 'main' }
|
||||||
|
" Plug 'akinsho/bufferline.nvim'
|
||||||
|
" Plug 'ms-jpq/chadtree', {'branch': 'chad', 'do': 'python3 -m chadtree deps'}
|
||||||
call plug#end()
|
call plug#end()
|
||||||
|
|
||||||
silent! colorscheme cyberpunk-neon
|
|
||||||
set background=dark
|
set background=dark
|
||||||
|
|
||||||
set ruler " Affiche la position du curseur
|
set ruler " Affiche la position du curseur
|
||||||
set number " Affiche le numéro des lignes
|
set number " Affiche le numéro des lignes
|
||||||
"set cursorline " Surligne la ligne en cours
|
set relativenumber
|
||||||
|
set cursorline " Surligne la ligne en cours
|
||||||
|
set wrap
|
||||||
|
|
||||||
|
set scrolloff=5
|
||||||
|
|
||||||
|
set confirm
|
||||||
|
|
||||||
|
set ignorecase
|
||||||
|
set smartcase
|
||||||
|
set incsearch
|
||||||
set hlsearch " Surligne les résultats d'une recherche
|
set hlsearch " Surligne les résultats d'une recherche
|
||||||
|
|
||||||
" -- Indentation
|
" -- Indentation:w
|
||||||
set expandtab " Les tabulations deviennent des espaces
|
set expandtab " Les tabulations deviennent des espaces
|
||||||
set tabstop=4 " Nombre d'espace pour une tabulation
|
set tabstop=4 " Nombre d'espace pour une tabulation
|
||||||
set smartindent
|
set smartindent
|
||||||
@@ -44,75 +45,41 @@ set autoindent
|
|||||||
|
|
||||||
set wildmenu " Autocomplete les commandes via un menu
|
set wildmenu " Autocomplete les commandes via un menu
|
||||||
|
|
||||||
|
|
||||||
if (has("termguicolors"))
|
if (has("termguicolors"))
|
||||||
set termguicolors
|
set termguicolors
|
||||||
endif
|
endif
|
||||||
|
|
||||||
"Coc configuration
|
|
||||||
inoremap <silent><expr> <TAB>
|
|
||||||
\ coc#pum#visible() ? coc#pum#next(1) :
|
|
||||||
\ CheckBackspace() ? "\<Tab>" :
|
|
||||||
\ coc#refresh()
|
|
||||||
inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>"
|
|
||||||
|
|
||||||
inoremap <silent><expr> <c-space> coc#refresh()
|
|
||||||
|
|
||||||
function! CheckBackspace() abort
|
|
||||||
let col = col('.') - 1
|
|
||||||
return !col || getline('.')[col - 1] =~# '\s'
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
"Tous les fichiers du repertoire courant
|
"Tous les fichiers du repertoire courant
|
||||||
nnoremap <silent> <C-p> :Files<CR>
|
nnoremap <silent> <C-p> :Files<CR>
|
||||||
" Tous les fichiers du repertoire courant suivis par GIT
|
" Tous les fichiers du repertoire courant suivis par GIT
|
||||||
nnoremap <silent> <C-g> :GFiles<CR>
|
nnoremap <silent> <C-g> :GFiles<CR>
|
||||||
|
|
||||||
nnoremap <silent> <C-o> :Buffers<CR>
|
nnoremap <silent> <C-o> :Buffers<CR>
|
||||||
nnoremap <C-f> :Rg!
|
|
||||||
|
|
||||||
nnoremap <C-n> :bn<CR>
|
"nnoremap <C-f> :Rg!
|
||||||
nnoremap <C-b> :bp<CR>
|
"nnoremap <C-n> :bn<CR>
|
||||||
|
"nnoremap <C-b> :bp<CR>
|
||||||
|
|
||||||
" -- Les modifications de .vimrc sont prises en compte immédiatement
|
"COC Make Enter accept the autocomplete suggestion
|
||||||
"if has("autocmd")
|
inoremap <silent><expr> <CR> pumvisible() ? coc#_select_confirm() : "\<CR>"
|
||||||
" autocmd! bufwritepost .vimrc source ~/.vimrc
|
|
||||||
"endif
|
|
||||||
"
|
|
||||||
"" --Nerdtree
|
|
||||||
""map <C-n> :NERDTreeToggle<CR>
|
|
||||||
""let NERDTreeQuitOnOpen=0
|
|
||||||
""let NERDTreeMinimalUI = 1
|
|
||||||
""let NERDTreeDirArrows = 1
|
|
||||||
""let NERDTreeQuitOnOpen = 1
|
|
||||||
""let g:NERDTreeDirArrowExpandable = '▸'
|
|
||||||
""let g:NERDTreeDirArrowCollapsible = '▾'
|
|
||||||
"
|
|
||||||
"
|
|
||||||
"
|
|
||||||
"" -- vim airline
|
|
||||||
"let g:airline#extensions#tabline#enabled = 1
|
|
||||||
"
|
|
||||||
"" -- Autocompletion avec coc
|
|
||||||
"inoremap <silent><expr> <c-space> coc#refresh()
|
|
||||||
"
|
|
||||||
"" -- Utiliser les tabulations
|
|
||||||
"" Tabultation précedente
|
|
||||||
"map <C-left> :tabp<cr>
|
|
||||||
"" Tabulation suivante
|
|
||||||
"map <C-right> :tabn<cr>" Ferme tabulation courante
|
|
||||||
"map <C-t><c> :tabc<cr>
|
|
||||||
|
|
||||||
set shiftwidth=4
|
set shiftwidth=4
|
||||||
set softtabstop=4
|
set softtabstop=4
|
||||||
set tabstop=4
|
set tabstop=4
|
||||||
|
|
||||||
|
|
||||||
autocmd Filetype html setlocal ts=2 sw=2 expandtab
|
autocmd Filetype html setlocal ts=2 sw=2 expandtab
|
||||||
autocmd Filetype css setlocal ts=2 sw=2 expandtab
|
autocmd Filetype css setlocal ts=2 sw=2 expandtab
|
||||||
autocmd Filetype scss setlocal ts=2 sw=2 expandtab
|
autocmd Filetype scss setlocal ts=2 sw=2 expandtab
|
||||||
autocmd Filetype python setlocal ts=2 sw=2 expandtab
|
autocmd Filetype python setlocal ts=2 sw=2 expandtab
|
||||||
|
|
||||||
|
set termguicolors
|
||||||
lua << EOF
|
lua << EOF
|
||||||
require("bufferline").setup{}
|
-- require("bufferline").setup{}
|
||||||
require('feline').setup()
|
require("monokai-pro").setup({
|
||||||
|
-- ... your config
|
||||||
|
filter = "spectrum"
|
||||||
|
})
|
||||||
|
vim.cmd([[colorscheme monokai-pro]])
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
Submodule .config/nvim/plugged/auto-pairs deleted from 39f06b873a
Submodule .config/nvim/plugged/bufferline.nvim deleted from f5791fdd56
Submodule .config/nvim/plugged/coc.nvim deleted from 8b64d47d45
Submodule .config/nvim/plugged/feline.nvim deleted from b7391bbfcb
Submodule .config/nvim/plugged/fzf.vim deleted from c491d702b7
Submodule .config/nvim/plugged/indent-blankline.nvim deleted from c15bbe9f23
Submodule .config/nvim/plugged/nvim-comment deleted from e9ac16ab05
Submodule .config/nvim/plugged/nvim-web-devicons deleted from 2d02a56189
Submodule .config/nvim/plugged/php.vim deleted from 930aec5c70
Submodule .config/nvim/plugged/rust.vim deleted from 4aa69b84c8
Submodule .config/nvim/plugged/scss-syntax.vim deleted from bda22a93d1
Submodule .config/nvim/plugged/vim-monokai deleted from 66f7dc9c63
@@ -1,407 +0,0 @@
|
|||||||
;==========================================================
|
|
||||||
;
|
|
||||||
;
|
|
||||||
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
|
||||||
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
|
||||||
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
|
||||||
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
|
|
||||||
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
|
|
||||||
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
|
||||||
;
|
|
||||||
;
|
|
||||||
; 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 = #000b1e
|
|
||||||
background-alt = #133e7c
|
|
||||||
;foreground = ${xrdb:color7:#222}
|
|
||||||
foreground = #0abdc6
|
|
||||||
foreground-alt = #ea00d9
|
|
||||||
primary = #ffff00
|
|
||||||
secondary = #ea00d9
|
|
||||||
alert = #ea00d9
|
|
||||||
|
|
||||||
[bar/main]
|
|
||||||
monitor = ${env:MONITOR:eDP1}
|
|
||||||
width = 100%
|
|
||||||
height = 27
|
|
||||||
;offset-x = 1%
|
|
||||||
;offset-y = 1%
|
|
||||||
radius = 0.0
|
|
||||||
fixed-center = true
|
|
||||||
|
|
||||||
background = ${colors.background}
|
|
||||||
foreground = ${colors.foreground}
|
|
||||||
|
|
||||||
line-size = 3
|
|
||||||
line-color = #f00
|
|
||||||
|
|
||||||
border-size = 2
|
|
||||||
border-color = ${colors.background}
|
|
||||||
|
|
||||||
padding-left = 0
|
|
||||||
padding-right = 2
|
|
||||||
|
|
||||||
module-margin-left = 1
|
|
||||||
module-margin-right = 2
|
|
||||||
|
|
||||||
font-0 = Inconsolata:size=10:antialias=true
|
|
||||||
font-1 = unifont:size=8:antialias=true
|
|
||||||
|
|
||||||
modules-left = i3
|
|
||||||
modules-center = date
|
|
||||||
modules-right = battery pulseaudio
|
|
||||||
|
|
||||||
tray-position = right
|
|
||||||
tray-padding = 2
|
|
||||||
;tray-transparent = true
|
|
||||||
;tray-background = #0063ff
|
|
||||||
|
|
||||||
;wm-restack = bspwm
|
|
||||||
wm-restack = i3
|
|
||||||
|
|
||||||
;override-redirect = true
|
|
||||||
|
|
||||||
;scroll-up = bspwm-desknext
|
|
||||||
;scroll-down = bspwm-deskprev
|
|
||||||
|
|
||||||
;scroll-up = i3wm-wsnext
|
|
||||||
;scroll-down = i3wm-wsprev
|
|
||||||
|
|
||||||
cursor-click = pointer
|
|
||||||
cursor-scroll = ns-resize
|
|
||||||
|
|
||||||
[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
|
|
||||||
|
|
||||||
; Separator in between workspaces
|
|
||||||
; label-separator = |
|
|
||||||
|
|
||||||
[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}
|
|
||||||
|
|
||||||
; Separator in between workspaces
|
|
||||||
; label-separator = |
|
|
||||||
|
|
||||||
|
|
||||||
[module/mpd]
|
|
||||||
type = internal/mpd
|
|
||||||
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 = #fff
|
|
||||||
;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:2%%
|
|
||||||
|
|
||||||
;[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 = ens1
|
|
||||||
;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 = " %Y-%m-%d"
|
|
||||||
date-alt = " %Y-%m-%d"
|
|
||||||
|
|
||||||
time = "%H:%M "
|
|
||||||
time-alt = "%H:%M "
|
|
||||||
|
|
||||||
;format-prefix =
|
|
||||||
;format-prefix-foreground = ${colors.foreground-alt}
|
|
||||||
format-underline = #ea00d9
|
|
||||||
|
|
||||||
label = %date% %time%
|
|
||||||
|
|
||||||
[module/pulseaudio]
|
|
||||||
type = internal/pulseaudio
|
|
||||||
sink = alsa_output.pci-0000_24_00.3.analog-stereo
|
|
||||||
|
|
||||||
format-volume = <label-volume>
|
|
||||||
label-volume = vol %percentage%%
|
|
||||||
label-volume-foreground = ${root.foreground}
|
|
||||||
label-muted = "muted"
|
|
||||||
label-muted-foreground = #ea00d9
|
|
||||||
|
|
||||||
use-ui-max = true
|
|
||||||
|
|
||||||
[module/alsa]
|
|
||||||
type = internal/alsa
|
|
||||||
|
|
||||||
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 = <animation-discharging> <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
|
|
||||||
|
|
||||||
animation-discharging-0 =
|
|
||||||
animation-discharging-1 =
|
|
||||||
animation-discharging-2 =
|
|
||||||
animation-discharging-foreground = ${colors.foreground-alt}
|
|
||||||
animation-discharging-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-c%
|
|
||||||
label-warn = %temperature-c%
|
|
||||||
label-warn-foreground = ${colors.secondary}
|
|
||||||
|
|
||||||
ramp-0 =
|
|
||||||
ramp-1 =
|
|
||||||
ramp-2 =
|
|
||||||
ramp-foreground = ${colors.foreground-alt}
|
|
||||||
|
|
||||||
[module/powermenu]
|
|
||||||
type = custom/menu
|
|
||||||
|
|
||||||
expand-right = true
|
|
||||||
|
|
||||||
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 = power off
|
|
||||||
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
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# Terminate already running bar instances
|
|
||||||
killall -q polybar
|
|
||||||
|
|
||||||
readonly MAINSCREEN="eDP1"
|
|
||||||
|
|
||||||
# Wait until the processes have been shut down
|
|
||||||
while pgrep -x polybar >/dev/null; do sleep 1; done
|
|
||||||
|
|
||||||
# Launch polybar
|
|
||||||
MONITOR="${MAINSCREEN}" polybar main &
|
|
||||||
|
|
||||||
for m in $(polybar --list-monitors | cut -d":" -f1); do
|
|
||||||
if [ ${m} != "${MAINSCREEN}" ]; then
|
|
||||||
MONITOR=$m polybar --reload main &
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
@@ -1,141 +0,0 @@
|
|||||||
configuration {
|
|
||||||
/* modi: "window,run,ssh";*/
|
|
||||||
/* width: 50;*/
|
|
||||||
/* lines: 15;*/
|
|
||||||
/* columns: 1;*/
|
|
||||||
/* font: "mono 12";*/
|
|
||||||
/* bw: 1;*/
|
|
||||||
/* location: 0;*/
|
|
||||||
/* padding: 5;*/
|
|
||||||
/* yoffset: 0;*/
|
|
||||||
/* xoffset: 0;*/
|
|
||||||
/* fixed-num-lines: true;*/
|
|
||||||
/* show-icons: false;*/
|
|
||||||
/* terminal: "rofi-sensible-terminal";*/
|
|
||||||
/* ssh-client: "ssh";*/
|
|
||||||
/* ssh-command: "{terminal} -e {ssh-client} {host}";*/
|
|
||||||
/* run-command: "{cmd}";*/
|
|
||||||
/* run-list-command: "";*/
|
|
||||||
/* run-shell-command: "{terminal} -e {cmd}";*/
|
|
||||||
/* window-command: "xkill -id {window}";*/
|
|
||||||
/* window-match-fields: "all";*/
|
|
||||||
/* drun-icon-theme: ;*/
|
|
||||||
/* drun-match-fields: "name,generic,exec,categories";*/
|
|
||||||
/* disable-history: false;*/
|
|
||||||
/* sort: false;*/
|
|
||||||
/* levenshtein-sort: false;*/
|
|
||||||
/* case-sensitive: false;*/
|
|
||||||
/* cycle: true;*/
|
|
||||||
/* sidebar-mode: false;*/
|
|
||||||
/* eh: 1;*/
|
|
||||||
/* auto-select: false;*/
|
|
||||||
/* parse-hosts: false;*/
|
|
||||||
/* parse-known-hosts: true;*/
|
|
||||||
/* combi-modi: "window,run";*/
|
|
||||||
/* matching: "normal";*/
|
|
||||||
/* tokenize: true;*/
|
|
||||||
/* m: "-5";*/
|
|
||||||
/* line-margin: 2;*/
|
|
||||||
/* line-padding: 1;*/
|
|
||||||
/* filter: ;*/
|
|
||||||
/* separator-style: "dash";*/
|
|
||||||
/* hide-scrollbar: false;*/
|
|
||||||
/* fullscreen: false;*/
|
|
||||||
/* fake-transparency: false;*/
|
|
||||||
/* dpi: -1;*/
|
|
||||||
/* threads: 0;*/
|
|
||||||
/* scrollbar-width: 8;*/
|
|
||||||
/* scroll-method: 0;*/
|
|
||||||
/* fake-background: "screenshot";*/
|
|
||||||
/* window-format: "{w} {i}{c} {t}";*/
|
|
||||||
/* click-to-exit: true;*/
|
|
||||||
/* show-match: true;*/
|
|
||||||
/* color-normal: ;*/
|
|
||||||
/* color-urgent: ;*/
|
|
||||||
/* color-active: ;*/
|
|
||||||
/* color-window: ;*/
|
|
||||||
/* max-history-size: 25;*/
|
|
||||||
/* combi-hide-mode-prefix: false;*/
|
|
||||||
/* pid: "/run/user/1000/rofi.pid";*/
|
|
||||||
/* display-window: ;*/
|
|
||||||
/* display-windowcd: ;*/
|
|
||||||
/* display-run: ;*/
|
|
||||||
/* display-ssh: ;*/
|
|
||||||
/* display-drun: ;*/
|
|
||||||
/* display-combi: ;*/
|
|
||||||
/* display-keys: ;*/
|
|
||||||
/* kb-primary-paste: "Control+V,Shift+Insert";*/
|
|
||||||
/* kb-secondary-paste: "Control+v,Insert";*/
|
|
||||||
/* kb-clear-line: "Control+w";*/
|
|
||||||
/* kb-move-front: "Control+a";*/
|
|
||||||
/* kb-move-end: "Control+e";*/
|
|
||||||
/* kb-move-word-back: "Alt+b";*/
|
|
||||||
/* kb-move-word-forward: "Alt+f";*/
|
|
||||||
/* kb-move-char-back: "Left,Control+b";*/
|
|
||||||
/* kb-move-char-forward: "Right,Control+f";*/
|
|
||||||
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
|
|
||||||
/* kb-remove-word-forward: "Control+Alt+d";*/
|
|
||||||
/* kb-remove-char-forward: "Delete,Control+d";*/
|
|
||||||
/* kb-remove-char-back: "BackSpace,Control+h";*/
|
|
||||||
/* kb-remove-to-eol: "Control+k";*/
|
|
||||||
/* kb-remove-to-sol: "Control+u";*/
|
|
||||||
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
|
|
||||||
/* kb-accept-custom: "Control+Return";*/
|
|
||||||
/* kb-accept-alt: "Shift+Return";*/
|
|
||||||
/* kb-delete-entry: "Shift+Delete";*/
|
|
||||||
/* kb-mode-next: "Shift+Right,Control+Tab";*/
|
|
||||||
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
|
|
||||||
/* kb-row-left: "Control+Page_Up";*/
|
|
||||||
/* kb-row-right: "Control+Page_Down";*/
|
|
||||||
/* kb-row-up: "Up,Control+p,ISO_Left_Tab";*/
|
|
||||||
/* kb-row-down: "Down,Control+n";*/
|
|
||||||
/* kb-row-tab: "Tab";*/
|
|
||||||
/* kb-page-prev: "Page_Up";*/
|
|
||||||
/* kb-page-next: "Page_Down";*/
|
|
||||||
/* kb-row-first: "Home,KP_Home";*/
|
|
||||||
/* kb-row-last: "End,KP_End";*/
|
|
||||||
/* kb-row-select: "Control+space";*/
|
|
||||||
/* kb-screenshot: "Alt+S";*/
|
|
||||||
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
|
|
||||||
/* kb-toggle-sort: "Alt+grave";*/
|
|
||||||
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
|
|
||||||
/* kb-custom-1: "Alt+1";*/
|
|
||||||
/* kb-custom-2: "Alt+2";*/
|
|
||||||
/* kb-custom-3: "Alt+3";*/
|
|
||||||
/* kb-custom-4: "Alt+4";*/
|
|
||||||
/* kb-custom-5: "Alt+5";*/
|
|
||||||
/* kb-custom-6: "Alt+6";*/
|
|
||||||
/* kb-custom-7: "Alt+7";*/
|
|
||||||
/* kb-custom-8: "Alt+8";*/
|
|
||||||
/* kb-custom-9: "Alt+9";*/
|
|
||||||
/* kb-custom-10: "Alt+0";*/
|
|
||||||
/* kb-custom-11: "Alt+exclam";*/
|
|
||||||
/* kb-custom-12: "Alt+at";*/
|
|
||||||
/* kb-custom-13: "Alt+numbersign";*/
|
|
||||||
/* kb-custom-14: "Alt+dollar";*/
|
|
||||||
/* kb-custom-15: "Alt+percent";*/
|
|
||||||
/* kb-custom-16: "Alt+dead_circumflex";*/
|
|
||||||
/* kb-custom-17: "Alt+ampersand";*/
|
|
||||||
/* kb-custom-18: "Alt+asterisk";*/
|
|
||||||
/* kb-custom-19: "Alt+parenleft";*/
|
|
||||||
/* kb-select-1: "Super+1";*/
|
|
||||||
/* kb-select-2: "Super+2";*/
|
|
||||||
/* kb-select-3: "Super+3";*/
|
|
||||||
/* kb-select-4: "Super+4";*/
|
|
||||||
/* kb-select-5: "Super+5";*/
|
|
||||||
/* kb-select-6: "Super+6";*/
|
|
||||||
/* kb-select-7: "Super+7";*/
|
|
||||||
/* kb-select-8: "Super+8";*/
|
|
||||||
/* kb-select-9: "Super+9";*/
|
|
||||||
/* kb-select-10: "Super+0";*/
|
|
||||||
/* ml-row-left: "ScrollLeft";*/
|
|
||||||
/* ml-row-right: "ScrollRight";*/
|
|
||||||
/* ml-row-up: "ScrollUp";*/
|
|
||||||
/* ml-row-down: "ScrollDown";*/
|
|
||||||
/* me-select-entry: "MousePrimary";*/
|
|
||||||
/* me-accept-entry: "MouseDPrimary";*/
|
|
||||||
/* me-accept-custom: "Control+MouseDPrimary";*/
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@theme "cyberpunk-neon"
|
|
||||||
@@ -1,111 +0,0 @@
|
|||||||
* {
|
|
||||||
darkpurple: #711c91;
|
|
||||||
purple: #ea00d9;
|
|
||||||
lightblue: #0abdc6;
|
|
||||||
blue: #133E7C;
|
|
||||||
darkblue: #091833;
|
|
||||||
green: #60ff60;
|
|
||||||
yellow: #FFFF00;
|
|
||||||
orange: #f09C02;
|
|
||||||
pink: #ffa0a0;
|
|
||||||
red: #FF0000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window {
|
|
||||||
location: center;
|
|
||||||
anchor: center;
|
|
||||||
border: 2px;
|
|
||||||
border-color: @purple;
|
|
||||||
spacing: 0;
|
|
||||||
children: [mainbox];
|
|
||||||
orientation: horizontal;
|
|
||||||
background-color: @darkblue;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mainbox {
|
|
||||||
spacing: 0;
|
|
||||||
children: [ inputbar, listview ];
|
|
||||||
background-color: @darkblue;
|
|
||||||
}
|
|
||||||
|
|
||||||
#message {
|
|
||||||
border-color: @red;
|
|
||||||
border: 5px;
|
|
||||||
padding: 8;
|
|
||||||
background-color: @green;
|
|
||||||
}
|
|
||||||
|
|
||||||
#message {
|
|
||||||
color: @black;
|
|
||||||
}
|
|
||||||
|
|
||||||
#inputbar {
|
|
||||||
color: @purple;
|
|
||||||
padding: 12px;
|
|
||||||
background-color: @darkblue;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry,prompt,case-indicator {
|
|
||||||
text-font: inherit;
|
|
||||||
text-color:inherit;
|
|
||||||
background-color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry {
|
|
||||||
color: @lightblue;
|
|
||||||
}
|
|
||||||
|
|
||||||
#prompt {
|
|
||||||
margin: 0px 0.3em 0em 0em ;
|
|
||||||
}
|
|
||||||
|
|
||||||
#listview {
|
|
||||||
padding: 0px;
|
|
||||||
border-color: @pink;
|
|
||||||
dynamic: false;
|
|
||||||
lines: 10;
|
|
||||||
background-color: @darkblue;
|
|
||||||
}
|
|
||||||
|
|
||||||
#element,element-icon,element-text {
|
|
||||||
color: inherit;
|
|
||||||
background-color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
#element {
|
|
||||||
padding: 5px;
|
|
||||||
margin: 0 5px;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
border-color: @magenta;
|
|
||||||
color: @lightblue;
|
|
||||||
font:inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
#element selected.normal {
|
|
||||||
color: @darkblue;
|
|
||||||
background-color: @yellow;
|
|
||||||
}
|
|
||||||
|
|
||||||
#element-text {
|
|
||||||
highlight: bold #711c91;
|
|
||||||
}
|
|
||||||
|
|
||||||
#element alternate active {
|
|
||||||
foreground: @blue;
|
|
||||||
}
|
|
||||||
|
|
||||||
#element alternate urgent {
|
|
||||||
foreground: @red;
|
|
||||||
}
|
|
||||||
|
|
||||||
#element selected active {
|
|
||||||
background-color: @blue;
|
|
||||||
foreground: @lightblue;
|
|
||||||
}
|
|
||||||
|
|
||||||
#element selected urgent {
|
|
||||||
background-color: @red;
|
|
||||||
foreground: @dark;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=GNOME Keyring daemon
|
||||||
|
|
||||||
|
Requires=gnome-keyring-daemon.socket
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
StandardError=journal
|
||||||
|
ExecStart=/usr/bin/gnome-keyring-daemon --foreground --components="pkcs11,secrets,ssh" --control-directory=%t/keyring
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
Also=gnome-keyring-daemon.socket
|
||||||
|
WantedBy=default.target
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"font-familly": "FiraCode Nerd Font",
|
||||||
|
"height": 30, // Waybar height (to be removed for auto height)
|
||||||
|
"spacing": 1, // Gaps between modules (4px)
|
||||||
|
"modules-left": ["hyprland/workspaces"],
|
||||||
|
"modules-center": ["clock"],
|
||||||
|
"modules-right": ["tray", "pulseaudio", "battery"],
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 16,
|
||||||
|
"spacing": 4
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"timezone": "Europe/Paris",
|
||||||
|
"format": "{:%d-%m-%Y - %H:%M}",
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-charging": "{capacity}% ",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
"format-alt": "{time} {icon}",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery#bat2": {
|
||||||
|
"bat": "BAT2"
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||||
|
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||||
|
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||||
|
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||||
|
"format-linked": "{ifname} (No IP) ",
|
||||||
|
"format-disconnected": "Disconnected ⚠",
|
||||||
|
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
// "scroll-step": 1, // %, can be a float
|
||||||
|
"format": "{volume}% {icon}",
|
||||||
|
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth-muted": " {icon} {format_source}",
|
||||||
|
"format-muted": " {format_source}",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"height": 30, // Waybar height (to be removed for auto height)
|
||||||
|
"spacing": 1, // Gaps between modules (4px)
|
||||||
|
"modules-left": ["sway/workspaces"],
|
||||||
|
"modules-center": ["clock"],
|
||||||
|
"modules-right": ["tray", "pulseaudio", "battery"],
|
||||||
|
"sway/scratchpad": {
|
||||||
|
"format": "{icon} {count}",
|
||||||
|
"show-empty": false,
|
||||||
|
"format-icons": ["", ""],
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{app}: {title}"
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 16,
|
||||||
|
"spacing": 4
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"timezone": "Europe/Paris",
|
||||||
|
"format": "{:%d-%m-%Y - %H:%M}",
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-charging": "{capacity}% ",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
"format-alt": "{time} {icon}",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery#bat2": {
|
||||||
|
"bat": "BAT2"
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||||
|
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||||
|
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||||
|
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||||
|
"format-linked": "{ifname} (No IP) ",
|
||||||
|
"format-disconnected": "Disconnected ⚠",
|
||||||
|
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
// "scroll-step": 1, // %, can be a float
|
||||||
|
"format": "{volume}% {icon}",
|
||||||
|
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth-muted": " {icon} {format_source}",
|
||||||
|
"format-muted": " {format_source}",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,283 @@
|
|||||||
|
* {
|
||||||
|
/* `otf-font-awesome` is required to be installed for icons */
|
||||||
|
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: rgba(0, 0, 0, 0.8);
|
||||||
|
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
||||||
|
color: #ffffff;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.hidden {
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
window#waybar.empty {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
window#waybar.solo {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
window#waybar.termite {
|
||||||
|
background-color: #3F3F3F;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.chromium {
|
||||||
|
background-color: #000000;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
/* Use box-shadow instead of border so the text isn't offset */
|
||||||
|
box-shadow: inset 0 -3px transparent;
|
||||||
|
/* Avoid rounded borders under each button name */
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||||
|
button:hover {
|
||||||
|
background: inherit;
|
||||||
|
box-shadow: inset 0 -3px #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 5px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
background-color: #64727D;
|
||||||
|
box-shadow: inset 0 -3px #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
border-bottom: 3px solid #3ec395;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background-color: #64727D;
|
||||||
|
border-bottom: 3px solid #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#temperature,
|
||||||
|
#backlight,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#wireplumber,
|
||||||
|
#custom-media,
|
||||||
|
#tray,
|
||||||
|
#mode,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#scratchpad,
|
||||||
|
#mpd {
|
||||||
|
padding: 0 10px;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window,
|
||||||
|
#workspaces {
|
||||||
|
margin: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the leftmost module, omit left margin */
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the rightmost module, omit right margin */
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
/* background-color: #64727D;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
/* background-color: #ffffff;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
/*#battery.charging, #battery.plugged {
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #26A65B;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
/*background-color: #ffffff;*/
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
/*background-color: #f53c3c;*/
|
||||||
|
color: yellow;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
label:focus {
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
background-color: #2ecc71;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
background-color: #9b59b6;
|
||||||
|
}
|
||||||
|
|
||||||
|
#disk {
|
||||||
|
background-color: #964B00;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
/*background-color: #2980b9;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
/*background-color: #f1c40f;*/
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.muted {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
color: #2a5c45;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wireplumber {
|
||||||
|
background-color: #fff0f5;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wireplumber.muted {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media {
|
||||||
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
|
min-width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-spotify {
|
||||||
|
background-color: #66cc99;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-media.custom-vlc {
|
||||||
|
background-color: #ffa000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature {
|
||||||
|
background-color: #f0932b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical {
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
/*background-color: #2980b9;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .passive {
|
||||||
|
-gtk-icon-effect: dim;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
-gtk-icon-effect: highlight;
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor {
|
||||||
|
background-color: #2d3436;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor.activated {
|
||||||
|
background-color: #ecf0f1;
|
||||||
|
color: #2d3436;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd {
|
||||||
|
background-color: #66cc99;
|
||||||
|
color: #2a5c45;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.disconnected {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.stopped {
|
||||||
|
background-color: #90b1b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpd.paused {
|
||||||
|
background-color: #51a37a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#language {
|
||||||
|
background: #00b093;
|
||||||
|
color: #740864;
|
||||||
|
padding: 0 5px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state {
|
||||||
|
background: #97e1ad;
|
||||||
|
color: #000000;
|
||||||
|
padding: 0 0px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label {
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label.locked {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#scratchpad {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#scratchpad.empty {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
+16
-6
@@ -1,13 +1,23 @@
|
|||||||
[push]
|
|
||||||
default = simple
|
|
||||||
[user]
|
[user]
|
||||||
email = florestan@bredow.fr
|
|
||||||
name = Florestan Bredow
|
name = Florestan Bredow
|
||||||
[core]
|
email = daiko@daiko.fr
|
||||||
editor = nvim
|
|
||||||
[pull]
|
[pull]
|
||||||
rebase = true
|
rebase = true
|
||||||
[credential]
|
[credential]
|
||||||
helper = /usr/lib/git-core/git-credential-libsecret
|
helper = /usr/lib/git-core/git-credential-libsecret
|
||||||
|
[http]
|
||||||
|
sslbackend = openssl
|
||||||
|
sslVerify = false
|
||||||
|
[safe]
|
||||||
|
directory = /home/bredow/ansible/src
|
||||||
|
directory = /home/bredow/ansible/inventaire
|
||||||
|
directory = /home/bredow/ansible/00_local
|
||||||
|
[core]
|
||||||
|
editor = nvim
|
||||||
|
[filter "lfs"]
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
process = git-lfs filter-process
|
||||||
|
required = true
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = master
|
defaultBranch = main
|
||||||
|
|||||||
Executable
+45
@@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
import textwrap
|
||||||
|
import argparse
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
from datetime import date
|
||||||
|
|
||||||
|
def load_args():
|
||||||
|
"""loads cli parameters"""
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description="Takes a snapshot of all pad contents"
|
||||||
|
)
|
||||||
|
parser.add_argument('all', nargs=argparse.REMAINDER)
|
||||||
|
args = parser.parse_args()
|
||||||
|
return vars(args)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
args = load_args()
|
||||||
|
name = ' '.join(args['all'])
|
||||||
|
today = date.today().strftime('%Y-%m-%d')
|
||||||
|
filename = f'/home/bredow/nextcloud/perso/notes/zettelkasten/inbox/{name}.md'
|
||||||
|
|
||||||
|
content = textwrap.dedent(f"""\
|
||||||
|
---
|
||||||
|
date: {today}
|
||||||
|
tags:
|
||||||
|
-
|
||||||
|
---
|
||||||
|
|
||||||
|
""")
|
||||||
|
|
||||||
|
if not os.path.exists(filename):
|
||||||
|
with open(filename, 'w') as file:
|
||||||
|
file.write(content)
|
||||||
|
|
||||||
|
subprocess.run(['nvim', '+normal G$', '+startinsert', filename])
|
||||||
|
os._exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Executable
+29
@@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
|
function get_latest_release
|
||||||
|
curl --silent "https://api.github.com/repos/$1/releases/latest" | grep -Po '"tag_name": "\K.*?(?=")'
|
||||||
|
end
|
||||||
|
|
||||||
|
function update_languagetool
|
||||||
|
cd "$HOME/vm/docker/languagetool"
|
||||||
|
docker compose pull
|
||||||
|
docker compose down
|
||||||
|
docker compose up -d
|
||||||
|
cd -
|
||||||
|
end
|
||||||
|
|
||||||
|
function main
|
||||||
|
|
||||||
|
# Mise à jour système
|
||||||
|
yay -Suy
|
||||||
|
|
||||||
|
# Mise à jour service languagetool
|
||||||
|
update_languagetool
|
||||||
|
|
||||||
|
# Mise à jour de l'environnement de neovim
|
||||||
|
nvim +":PlugInstall --sync" +"PlugUpdate" +"CocInstall coc-jedi" +qa
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
end
|
||||||
|
|
||||||
|
main
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
[D-BUS Service]
|
||||||
|
Name=org.freedesktop.secrets
|
||||||
|
Exec=/usr/bin/keepassxc
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user