init
|
@ -0,0 +1,730 @@
|
|||
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
||||
|
||||
# Import additional configuration files
|
||||
# import:
|
||||
# - /path/to/alacritty.yml
|
||||
# - ./shades-of-purple.yml
|
||||
#fps: false
|
||||
# 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: 0
|
||||
# lines: 0
|
||||
# Window position (changes require restart)
|
||||
#
|
||||
# Specified in number of pixels.
|
||||
# If the position is not set, the window manager will handle the placement.
|
||||
#position:
|
||||
# x: 0
|
||||
# y: 0
|
||||
# Window padding (changes require restart)
|
||||
#
|
||||
# Blank space added around the window in pixels. This padding is scaled
|
||||
# by DPI and the specified value is always added at both opposing sides.
|
||||
padding:
|
||||
x: 9
|
||||
y: 6
|
||||
|
||||
# Spread additional padding evenly around the terminal content.
|
||||
dynamic_padding: true
|
||||
# Window decorations
|
||||
#
|
||||
# Values for `decorations`:
|
||||
# - full: Borders and title bar
|
||||
# - none: Neither borders nor title bar
|
||||
#
|
||||
# Values for `decorations` (macOS only):
|
||||
# - transparent: Title bar, transparent background and title bar buttons
|
||||
# - buttonless: Title bar, transparent background, but no title bar buttons
|
||||
#decorations: full
|
||||
# Startup Mode (changes require restart)
|
||||
#
|
||||
# Values for `startup_mode`:
|
||||
# - Windowed
|
||||
# - Maximized
|
||||
# - Fullscreen
|
||||
#
|
||||
# Values for `startup_mode` (macOS only):
|
||||
# - SimpleFullscreen
|
||||
#startup_mode: Windowed
|
||||
# Window title
|
||||
#title: Alacritty
|
||||
# Allow terminal applications to change Alacritty's window title.
|
||||
#dynamic_title: true
|
||||
# Window class (Linux/BSD only):
|
||||
#class:
|
||||
# Application instance name
|
||||
#instance: Alacritty
|
||||
# General application class
|
||||
#general: Alacritty
|
||||
# GTK theme variant (Linux/BSD only)
|
||||
#
|
||||
# Override the variant of the GTK theme. Commonly supported values are `dark` and `light`.
|
||||
# Set this to `None` to use the default theme variant.
|
||||
#gtk_theme_variant: None
|
||||
#scrolling:
|
||||
# Maximum number of lines in the scrollback buffer.
|
||||
# Specifying '0' will disable scrolling.
|
||||
#history: 10000
|
||||
# Scrolling distance multiplier.
|
||||
#multiplier: 3
|
||||
|
||||
# Font configuration
|
||||
font:
|
||||
# Normal (roman) font face
|
||||
normal:
|
||||
# Font family
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) Menlo
|
||||
# - (Linux/BSD) monospace
|
||||
# - (Windows) Consolas
|
||||
#family: Fira Code
|
||||
family: Fira Code
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Regular
|
||||
|
||||
# Bold font face
|
||||
bold:
|
||||
# Font family
|
||||
#
|
||||
# If the bold family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
#family: monospace
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Bold
|
||||
|
||||
# Italic font face
|
||||
italic:
|
||||
# Font family
|
||||
#
|
||||
# If the italic family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
family: monospace
|
||||
# The `style` can be specified to pick a specific face.
|
||||
#style: Italic
|
||||
|
||||
# Bold italic font face
|
||||
bold_italic:
|
||||
# Font family
|
||||
#
|
||||
# If the bold italic family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
family: monospace
|
||||
# The `style` can be specified to pick a specific face.
|
||||
#style: Bold Italic
|
||||
|
||||
# Point size
|
||||
size: 6.0
|
||||
|
||||
# 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 upward.
|
||||
#glyph_offset:
|
||||
# x: 0
|
||||
# y: 0
|
||||
# Thin stroke font rendering (macOS only)
|
||||
#
|
||||
# Thin strokes are suitable for retina displays, but for non-retina screens
|
||||
# it is recommended to set `use_thin_strokes` to `false`.
|
||||
#use_thin_strokes: true
|
||||
# Choose whether to enable ligature (Currently only in Linux, may work in macOS)
|
||||
# by default it's true (enabled)
|
||||
#ligature: true
|
||||
# If `true`, bold text is drawn using the bright color variants.
|
||||
#draw_bold_text_with_bright_colors: false
|
||||
# Colors
|
||||
# Bright and dim foreground colors
|
||||
#
|
||||
# The dimmed foreground color is calculated automatically if it is not present.
|
||||
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
|
||||
# is `false`, the normal foreground color will be used.
|
||||
#dim_foreground: '#828482'
|
||||
#bright_foreground: '#eaeaea'
|
||||
# Cursor colors
|
||||
#
|
||||
# Colors which should be used to draw the terminal cursor.
|
||||
#
|
||||
# Allowed values are CellForeground and CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#cursor:
|
||||
# text: CellBackground
|
||||
# cursor: CellForeground
|
||||
# Vi mode cursor colors
|
||||
#
|
||||
# Colors for the cursor when the vi mode is active.
|
||||
#
|
||||
# Allowed values are CellForeground and CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#vi_mode_cursor:
|
||||
# text: CellBackground
|
||||
# cursor: CellForeground
|
||||
# Selection colors
|
||||
#
|
||||
# Colors which should be used to draw the selection area.
|
||||
#
|
||||
# Allowed values are CellForeground and CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#selection:
|
||||
# text: CellBackground
|
||||
# background: CellForeground
|
||||
# Search colors
|
||||
#
|
||||
# Colors used for the search bar and match highlighting.
|
||||
#search:
|
||||
# Allowed values are CellForeground and CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#matches:
|
||||
# foreground: '#000000'
|
||||
# background: '#ffffff'
|
||||
#bar:
|
||||
# background: '#c5c8c6'
|
||||
# foreground: '#1d1f21'
|
||||
draw_bold_text_with_bright_colors: true
|
||||
# Bell
|
||||
#
|
||||
# The bell is rung every time the BEL control character is received.
|
||||
#bell:
|
||||
# Visual Bell Animation
|
||||
#
|
||||
# Animation effect for flashing the screen when the visual bell is rung.
|
||||
#
|
||||
# Values for `animation`:
|
||||
# - Ease
|
||||
# - EaseOut
|
||||
# - EaseOutSine
|
||||
# - EaseOutQuad
|
||||
# - EaseOutCubic
|
||||
# - EaseOutQuart
|
||||
# - EaseOutQuint
|
||||
# - EaseOutExpo
|
||||
# - EaseOutCirc
|
||||
# - Linear
|
||||
#animation: EaseOutExpo
|
||||
# Duration of the visual bell flash. A `duration` of `0` will disable the
|
||||
# visual bell animation.
|
||||
#duration: 0
|
||||
# Visual bell animation color.
|
||||
#color: '#ffffff'
|
||||
# Bell Command
|
||||
#
|
||||
# This program is executed whenever the bell is rung.
|
||||
#
|
||||
# When set to `command: None`, no command will be executed.
|
||||
#
|
||||
# Example:
|
||||
# command:
|
||||
# program: notify-send
|
||||
# args: ["Hello, World!"]
|
||||
#
|
||||
#command: None
|
||||
|
||||
# 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.
|
||||
#background_opacity: 1.0
|
||||
background_opacity: 0.95
|
||||
|
||||
#selection:
|
||||
# This string contains all characters that are used as separators for "semantic words" in Alacritty.
|
||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||
#save_to_clipboard: false
|
||||
#cursor:
|
||||
# Cursor style
|
||||
#
|
||||
# Values for `style`:
|
||||
# - ▇ Block
|
||||
# - _ Underline
|
||||
# - | Beam
|
||||
#style: Block
|
||||
# Vi mode cursor style
|
||||
#
|
||||
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
||||
# the style of the active value of the normal cursor.
|
||||
#
|
||||
# See `cursor.style` for available options.
|
||||
#vi_mode_style: None
|
||||
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||
# window is not focused.
|
||||
#unfocused_hollow: true
|
||||
# Thickness of the cursor relative to the cell width as floating point number
|
||||
# from `0.0` to `1.0`.
|
||||
#thickness: 0.15
|
||||
# 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.
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) /bin/bash --login
|
||||
# - (Linux/BSD) user login shell
|
||||
# - (Windows) powershell
|
||||
shell:
|
||||
program: /usr/bin/zsh
|
||||
# args:
|
||||
# - --login
|
||||
# Startup directory
|
||||
#
|
||||
# Directory the shell is started in. If this is unset, or `None`, the working
|
||||
# directory of the parent process will be used.
|
||||
#working_directory: None
|
||||
# WinPTY backend (Windows only)
|
||||
#
|
||||
# Alacritty defaults to using the newer ConPTY backend if it is available,
|
||||
# since it resolves a lot of bugs and is quite a bit faster. If it is not
|
||||
# available, the WinPTY backend will be used instead.
|
||||
#
|
||||
# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
|
||||
# even if the ConPTY backend is available.
|
||||
#winpty_backend: false
|
||||
# Send ESC (\x1b) before characters when alt is pressed.
|
||||
#alt_send_esc: true
|
||||
#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 }
|
||||
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||
#hide_when_typing: false
|
||||
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.
|
||||
#
|
||||
# When set to `launcher: None`, URL launching will be disabled completely.
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) open
|
||||
# - (Linux/BSD) xdg-open
|
||||
# - (Windows) explorer
|
||||
launcher:
|
||||
program: xdg-open
|
||||
# args: []
|
||||
# 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: None
|
||||
# Mouse bindings
|
||||
#
|
||||
# Mouse bindings are specified as a list of objects, much like the key
|
||||
# bindings further below.
|
||||
#
|
||||
# To trigger mouse bindings when an application running within Alacritty captures the mouse, the
|
||||
# `Shift` modifier is automatically added as a requirement.
|
||||
#
|
||||
# Each mouse binding will specify a:
|
||||
#
|
||||
# - `mouse`:
|
||||
#
|
||||
# - Middle
|
||||
# - Left
|
||||
# - Right
|
||||
# - Numeric identifier such as `5`
|
||||
#
|
||||
# - `action` (see key bindings)
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods` (see key bindings)
|
||||
#mouse_bindings:
|
||||
# - { mouse: Middle, action: PasteSelection }
|
||||
# Key bindings
|
||||
#
|
||||
# Key bindings are specified as a list of objects. For example, this is the
|
||||
# default paste binding:
|
||||
#
|
||||
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||
#
|
||||
# Each key binding will specify a:
|
||||
#
|
||||
# - `key`: Identifier of the key pressed
|
||||
#
|
||||
# - A-Z
|
||||
# - F1-F24
|
||||
# - Key0-Key9
|
||||
#
|
||||
# A full list with available key codes can be found here:
|
||||
# https://docs.rs/glutin/*/glutin/event/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`.
|
||||
#
|
||||
# Then exactly one of:
|
||||
#
|
||||
# - `chars`: Send a byte sequence to the running application
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# - `action`: Execute a predefined action
|
||||
#
|
||||
# - ToggleViMode
|
||||
# - SearchForward
|
||||
# Start searching toward the right of the search origin.
|
||||
# - SearchBackward
|
||||
# Start searching toward the left of the search origin.
|
||||
# - Copy
|
||||
# - Paste
|
||||
# - IncreaseFontSize
|
||||
# - DecreaseFontSize
|
||||
# - ResetFontSize
|
||||
# - ScrollPageUp
|
||||
# - ScrollPageDown
|
||||
# - ScrollHalfPageUp
|
||||
# - ScrollHalfPageDown
|
||||
# - ScrollLineUp
|
||||
# - ScrollLineDown
|
||||
# - ScrollToTop
|
||||
# - ScrollToBottom
|
||||
# - ClearHistory
|
||||
# Remove the terminal's scrollback history.
|
||||
# - Hide
|
||||
# Hide the Alacritty window.
|
||||
# - Minimize
|
||||
# Minimize the Alacritty window.
|
||||
# - Quit
|
||||
# Quit Alacritty.
|
||||
# - ToggleFullscreen
|
||||
# - SpawnNewInstance
|
||||
# Spawn a new instance of Alacritty.
|
||||
# - ClearLogNotice
|
||||
# Clear Alacritty's UI warning and error notice.
|
||||
# - ClearSelection
|
||||
# Remove the active selection.
|
||||
# - ReceiveChar
|
||||
# - None
|
||||
#
|
||||
# (`mode: Vi` only):
|
||||
# - Open
|
||||
# Open URLs at the cursor location with the launcher configured in `url.launcher`.
|
||||
# - Up
|
||||
# Move the vi mode cursor up by one line.
|
||||
# - Down
|
||||
# Move the vi mode cursor down by one line.
|
||||
# - Left
|
||||
# Move the vi mode cursor left by one character.
|
||||
# - Right
|
||||
# Move the vi mode cursor right by one character.
|
||||
# - First
|
||||
# Move the vi mode cursor to the start of the line, searching across newlines if it is already at the beginning.
|
||||
# - Last
|
||||
# Move the vi mode cursor to the end of the line, searching across newlines if it is already at the end.
|
||||
# - FirstOccupied
|
||||
# Move the vi mode cursor to the first non-empty cell in this line, searching across newlines if it is already at the first one.
|
||||
# - High
|
||||
# Move the vi mode cursor to the top of the screen.
|
||||
# - Middle
|
||||
# Move the vi mode cursor to the middle of the screen.
|
||||
# - Low
|
||||
# Move the vi mode cursor to the bottom of the screen.
|
||||
# - SemanticLeft
|
||||
# Move the vi mode cursor to the start of the previous semantically separated word.
|
||||
# - SemanticRight
|
||||
# Move the vi mode cursor to the start of the next semantically separated word.
|
||||
# - SemanticLeftEnd
|
||||
# Move the vi mode cursor to the end of the previous semantically separated word.
|
||||
# - SemanticRightEnd
|
||||
# Move the vi mode cursor to the end of the next semantically separated word.
|
||||
# - WordLeft
|
||||
# Move the vi mode cursor to the start of the previous whitespace separated word.
|
||||
# - WordRight
|
||||
# Move the vi mode cursor to the start of the next whitespace separated word.
|
||||
# - WordLeftEnd
|
||||
# Move the vi mode cursor to the end of the previous whitespace separated word.
|
||||
# - WordRightEnd
|
||||
# Move the vi mode cursor to the end of the next whitespace separated word.
|
||||
# - Bracket
|
||||
# Move the vi mode cursor to the next character that matches the bracket at the cursor's
|
||||
# current location.
|
||||
# - ToggleNormalSelection
|
||||
# - ToggleLineSelection
|
||||
# - ToggleBlockSelection
|
||||
# - ToggleSemanticSelection
|
||||
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
||||
# - SearchNext
|
||||
# Jump to the beginning of the next match.
|
||||
# - SearchPrevious
|
||||
# Jump to the beginning of the previous match.
|
||||
# - SearchStart
|
||||
# Jump to the next start of a match to the left of the vi mode cursor.
|
||||
# - SearchEnd
|
||||
# Jump to the next end of a match to the left of the vi mode cursor.
|
||||
#
|
||||
# (macOS only):
|
||||
# - ToggleSimpleFullscreen
|
||||
# Enter fullscreen without occupying another space.
|
||||
#
|
||||
# (Linux/BSD only):
|
||||
# - CopySelection
|
||||
# Copy from the selection buffer.
|
||||
# - PasteSelection
|
||||
# Paste from the selection buffer.
|
||||
#
|
||||
# - `command`: Fork and execute a specified command plus arguments
|
||||
#
|
||||
# The `command` field must be a map containing a `program` string and an
|
||||
# `args` array of command line parameter strings. For example:
|
||||
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods`: Key modifiers to filter binding actions
|
||||
#
|
||||
# - Command
|
||||
# - Control
|
||||
# - Option
|
||||
# - Super
|
||||
# - Shift
|
||||
# - Alt
|
||||
#
|
||||
# Multiple `mods` can be combined using `|` like this:
|
||||
# `mods: Control|Shift`.
|
||||
# Whitespace and capitalization are relevant and must match the example.
|
||||
#
|
||||
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||
#
|
||||
# This is mainly used to send applications the correct escape sequences
|
||||
# when in different modes.
|
||||
#
|
||||
# - AppCursor
|
||||
# - AppKeypad
|
||||
# - Alt
|
||||
# - Vi
|
||||
#
|
||||
# A `~` operator can be used before a mode to apply the binding whenever
|
||||
# the mode is *not* active, e.g. `~Alt`.
|
||||
#
|
||||
# Bindings are always filled by default, but will be replaced when a new
|
||||
# binding with the same triggers is defined. To unset a default binding, it can
|
||||
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||
# a no-op if you do not wish to receive input characters for that binding.
|
||||
#
|
||||
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||
# in the order they were defined in.
|
||||
key_bindings:
|
||||
#- { key: Paste, action: Paste }
|
||||
#- { key: Copy, action: Copy }
|
||||
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||
#- { key: L, mods: Control, mode: ~Vi, chars: "\x0c" }
|
||||
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, }
|
||||
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
||||
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, }
|
||||
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
||||
# Vi Mode
|
||||
#- { key: Space, mods: Shift|Control, mode: Vi, action: ScrollToBottom }
|
||||
#- { key: Space, mods: Shift|Control, action: ToggleViMode }
|
||||
#- { key: Escape, mode: Vi, action: ClearSelection }
|
||||
#- { key: I, mode: Vi, action: ScrollToBottom }
|
||||
#- { key: I, mode: Vi, action: ToggleViMode }
|
||||
#- { key: C, mods: Control, mode: Vi, action: ToggleViMode }
|
||||
#- { key: Y, mods: Control, mode: Vi, action: ScrollLineUp }
|
||||
#- { key: E, mods: Control, mode: Vi, action: ScrollLineDown }
|
||||
#- { key: G, mode: Vi, action: ScrollToTop }
|
||||
#- { key: G, mods: Shift, mode: Vi, action: ScrollToBottom }
|
||||
#- { key: B, mods: Control, mode: Vi, action: ScrollPageUp }
|
||||
#- { key: F, mods: Control, mode: Vi, action: ScrollPageDown }
|
||||
#- { key: U, mods: Control, mode: Vi, action: ScrollHalfPageUp }
|
||||
#- { key: D, mods: Control, mode: Vi, action: ScrollHalfPageDown }
|
||||
#- { key: Y, mode: Vi, action: Copy }
|
||||
#- { key: Y, mode: Vi, action: ClearSelection }
|
||||
#- { key: Copy, mode: Vi, action: ClearSelection }
|
||||
#- { key: V, mode: Vi, action: ToggleNormalSelection }
|
||||
#- { key: V, mods: Shift, mode: Vi, action: ToggleLineSelection }
|
||||
#- { key: V, mods: Control, mode: Vi, action: ToggleBlockSelection }
|
||||
#- { key: V, mods: Alt, mode: Vi, action: ToggleSemanticSelection }
|
||||
#- { key: Return, mode: Vi, action: Open }
|
||||
#- { key: K, mode: Vi, action: Up }
|
||||
#- { key: J, mode: Vi, action: Down }
|
||||
#- { key: H, mode: Vi, action: Left }
|
||||
#- { key: L, mode: Vi, action: Right }
|
||||
#- { key: Up, mode: Vi, action: Up }
|
||||
#- { key: Down, mode: Vi, action: Down }
|
||||
#- { key: Left, mode: Vi, action: Left }
|
||||
#- { key: Right, mode: Vi, action: Right }
|
||||
#- { key: Key0, mode: Vi, action: First }
|
||||
#- { key: Key4, mods: Shift, mode: Vi, action: Last }
|
||||
#- { key: Key6, mods: Shift, mode: Vi, action: FirstOccupied }
|
||||
#- { key: H, mods: Shift, mode: Vi, action: High }
|
||||
#- { key: M, mods: Shift, mode: Vi, action: Middle }
|
||||
#- { key: L, mods: Shift, mode: Vi, action: Low }
|
||||
#- { key: B, mode: Vi, action: SemanticLeft }
|
||||
#- { key: W, mode: Vi, action: SemanticRight }
|
||||
#- { key: E, mode: Vi, action: SemanticRightEnd }
|
||||
#- { key: B, mods: Shift, mode: Vi, action: WordLeft }
|
||||
#- { key: W, mods: Shift, mode: Vi, action: WordRight }
|
||||
#- { key: E, mods: Shift, mode: Vi, action: WordRightEnd }
|
||||
#- { key: Key5, mods: Shift, mode: Vi, action: Bracket }
|
||||
#- { key: Slash, mode: Vi, action: SearchForward }
|
||||
#- { key: Slash, mods: Shift, mode: Vi, action: SearchBackward }
|
||||
#- { key: N, mode: Vi, action: SearchNext }
|
||||
#- { key: N, mods: Shift, mode: Vi, action: SearchPrevious }
|
||||
# (Windows, Linux, and BSD only)
|
||||
#- { key: V, mods: Control|Shift, action: Paste }
|
||||
#- { key: C, mods: Control|Shift, action: Copy }
|
||||
#- { key: F, mods: Control|Shift, action: SearchForward }
|
||||
#- { key: B, mods: Control|Shift, action: SearchBackward }
|
||||
#- { key: C, mods: Control|Shift, mode: Vi, action: ClearSelection }
|
||||
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Add, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Subtract, mods: Control, action: DecreaseFontSize }
|
||||
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||
# (Windows only)
|
||||
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||
# (macOS only)
|
||||
#- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" }
|
||||
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Add, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: K, mods: Command, action: ClearHistory }
|
||||
#- { key: V, mods: Command, action: Paste }
|
||||
#- { key: C, mods: Command, action: Copy }
|
||||
#- { key: C, mods: Command, mode: Vi, action: ClearSelection }
|
||||
#- { key: H, mods: Command, action: Hide }
|
||||
#- { key: M, mods: Command, action: Minimize }
|
||||
#- { key: Q, mods: Command, action: Quit }
|
||||
#- { key: W, mods: Command, action: Quit }
|
||||
- { key: Return, mods: Shift|Super, action: SpawnNewInstance }
|
||||
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||
#- { key: F, mods: Command, action: SearchForward }
|
||||
#- { key: B, mods: Command, action: SearchBackward }
|
||||
#debug:
|
||||
# Display the time it takes to redraw each frame.
|
||||
#render_timer: false
|
||||
# Keep the log file after quitting Alacritty.
|
||||
#persistent_logging: false
|
||||
# Log level
|
||||
#
|
||||
# Values for `log_level`:
|
||||
# - None
|
||||
# - Error
|
||||
# - Warn
|
||||
# - Info
|
||||
# - Debug
|
||||
# - Trace
|
||||
#log_level: Warn
|
||||
# Print all received window events.
|
||||
#print_events: false
|
||||
schemes:
|
||||
flinty_dark: &flinty_dark
|
||||
primary:
|
||||
background: '#282828' # gruvbox
|
||||
foreground: '#eff0eb'
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#282a36'
|
||||
red: '#ff5c57'
|
||||
green: '#5af78e'
|
||||
yellow: '#f3f99d'
|
||||
blue: '#57c7ff'
|
||||
magenta: '#ff6ac1'
|
||||
cyan: '#9aedfe'
|
||||
white: '#f1f1f0'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#686868'
|
||||
red: '#ff5c57'
|
||||
green: '#5af78e'
|
||||
yellow: '#f3f99d'
|
||||
blue: '#57c7ff'
|
||||
magenta: '#ff6ac1'
|
||||
cyan: '#9aedfe'
|
||||
white: '#f1f1f0'
|
||||
|
||||
snazzy_dark: &snazzy_dark
|
||||
primary:
|
||||
background: '#282a36'
|
||||
foreground: '#eff0eb'
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#282a36'
|
||||
red: '#ff5c57'
|
||||
green: '#5af78e'
|
||||
yellow: '#f3f99d'
|
||||
blue: '#57c7ff'
|
||||
magenta: '#ff6ac1'
|
||||
cyan: '#9aedfe'
|
||||
white: '#f1f1f0'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#686868'
|
||||
red: '#ff5c57'
|
||||
green: '#5af78e'
|
||||
yellow: '#f3f99d'
|
||||
blue: '#57c7ff'
|
||||
magenta: '#ff6ac1'
|
||||
cyan: '#9aedfe'
|
||||
white: '#f1f1f0'
|
||||
|
||||
# The definition of color schemes.
|
||||
gruvbox_dark: &gruvbox_dark
|
||||
primary:
|
||||
# hard contrast: background = '#1d2021'
|
||||
background: '#282828'
|
||||
# soft contrast: background = '#32302f'
|
||||
foreground: '#ebdbb2'
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#282828'
|
||||
red: '#cc241d'
|
||||
green: '#98971a'
|
||||
yellow: '#d79921'
|
||||
blue: '#458588'
|
||||
magenta: '#b16286'
|
||||
cyan: '#689d6a'
|
||||
white: '#a89984'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#928374'
|
||||
red: '#fb4934'
|
||||
green: '#b8bb26'
|
||||
yellow: '#fabd2f'
|
||||
blue: '#83a598'
|
||||
magenta: '#d3869b'
|
||||
cyan: '#8ec07c'
|
||||
white: '#ebdbb2'
|
||||
# Apply the color scheme.
|
||||
colors: *flinty_dark
|
|
@ -0,0 +1,8 @@
|
|||
! -----------------------------------------------------------------------------
|
||||
! File: gruvbox-dark.xresources
|
||||
! Description: Retro groove colorscheme generalized
|
||||
! Author: morhetz <morhetz@gmail.com>
|
||||
! Source: https://github.com/morhetz/gruvbox-generalized
|
||||
! Last Modified: 6 Sep 2014
|
||||
! -----------------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
# ~/.bashrc: executed by bash(1) for non-login shells.
|
||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
||||
# for examples
|
||||
TERM=xterm
|
||||
# If not running interactively, don't do anything
|
||||
case $- in
|
||||
*i*) ;;
|
||||
*) return;;
|
||||
esac
|
||||
|
||||
if [ -f ~/.config/sh_vars/variables.sh ]; then . $HOME/.config/sh_vars/variables.sh ;fi
|
||||
if [ -f ~/.config/sh_vars/aliases.sh ]; then . $HOME/.config/sh_vars/aliases.sh ;fi
|
||||
alias sc="zathura $HOME/schedule.pdf"
|
||||
|
||||
# don't put duplicate lines or lines starting with space in the history.
|
||||
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||
HISTCONTROL=ignoreboth
|
||||
HISTSIZE=1000
|
||||
HISTFILESIZE=2000
|
||||
|
||||
# check the window size after each command and, if necessary,
|
||||
# update the values of LINES and COLUMNS.
|
||||
shopt -s checkwinsize
|
||||
|
||||
# If set, the pattern "**" used in a pathname expansion context will
|
||||
# match all files and zero or more directories and subdirectories.
|
||||
#shopt -s globstar
|
||||
|
||||
|
||||
# set variable identifying the chroot you work in (used in the prompt below)
|
||||
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
|
||||
debian_chroot=$(cat /etc/debian_chroot)
|
||||
fi
|
||||
|
||||
# set a fancy prompt (non-color, unless we know we "want" color)
|
||||
case "$TERM" in
|
||||
xterm-color|*-256color) color_prompt=yes;;
|
||||
esac
|
||||
|
||||
# uncomment for a colored prompt, if the terminal has the capability; turned
|
||||
# off by default to not distract the user: the focus in a terminal window
|
||||
# should be on the output of commands, not on the prompt
|
||||
#force_color_prompt=yes
|
||||
|
||||
if [ -n "$force_color_prompt" ]; then
|
||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
||||
color_prompt=yes
|
||||
else
|
||||
color_prompt=
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$color_prompt" = yes ]; then
|
||||
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
||||
else
|
||||
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
||||
fi
|
||||
unset color_prompt force_color_prompt
|
||||
|
||||
# If this is an xterm set the title to user@host:dir
|
||||
case "$TERM" in
|
||||
xterm*|rxvt*)
|
||||
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
source /etc/profile
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases ; fi
|
||||
#eval "$(starship init bash)"
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
# ~/.profile: executed by the command interpreter for login shells.
|
||||
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
|
||||
# exists.
|
||||
# see /usr/share/doc/bash/examples/startup-files for examples.
|
||||
# the files are located in the bash-doc package.
|
||||
|
||||
# the default umask is set in /etc/profile; for setting the umask
|
||||
# for ssh logins, install and configure the libpam-umask package.
|
||||
#umask 022
|
||||
|
||||
# if running bash
|
||||
if [ -n "$BASH_VERSION" ]; then
|
||||
# include .bashrc if it exists
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
. "$HOME/.bashrc"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f ~/.config/sh_vars/variables.sh ]; then . $HOME/.config/sh_vars/variables.sh ;fi
|
||||
if [ -f ~/.config/sh_vars/aliases.sh ]; then . $HOME/.config/sh_vars/aliases.sh ;fi
|
||||
|
||||
# if running zsh
|
||||
if [ -f "$HOME/.zsh" ]; then
|
||||
. "$HOME/.zsh"
|
||||
fi
|
||||
|
||||
# set PATH so it includes user's private bin if it exists
|
||||
if [ -d "$HOME/bin" ] ; then
|
||||
PATH="$HOME/bin:$PATH"
|
||||
fi
|
||||
|
||||
# Japanese Input
|
||||
#export GTK_IM_MODULE=ibus
|
||||
#export XMODIFIERS=@im=ibus
|
||||
#export QT_IM_MODULE=ibus
|
||||
|
||||
#if [ -x /usr/bin/spice-vdagent ] ; then
|
||||
#/usr/bin/spice-vdagent
|
||||
##!/bin/sh
|
||||
|
||||
#sleep 2
|
||||
|
||||
#xrandr --output "$(xrandr | awk '/ connected/{print $1; exit; }')" --auto
|
||||
|
||||
#xev -root -event randr | \
|
||||
#grep --line-buffered 'subtype XRROutputChangeNotifyEvent' | \
|
||||
#while read foo ; do \
|
||||
#xrandr --output "$(xrandr | awk '/ connected/{print $1; exit; }')" --auto
|
||||
#done
|
||||
|
||||
|
||||
|
||||
#fi
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
# This is `bat`s configuration file. Each line either contains a comment or
|
||||
# a command-line option that you want to pass to `bat` by default. You can
|
||||
# run `bat --help` to get a list of all possible configuration options.
|
||||
|
||||
# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
|
||||
# for a list of all available themes
|
||||
#--theme="Solarized (light)"
|
||||
|
||||
# Enable this to use italic text on the terminal. This is not supported on all
|
||||
# terminal emulators (like tmux, by default):
|
||||
#--italic-text=always
|
||||
|
||||
# Uncomment the following line to disable automatic paging:
|
||||
#--paging=never
|
||||
|
||||
# Uncomment the following line if you are using less version >= 551 and want to
|
||||
# enable mouse scrolling support in `bat` when running inside tmux. This might
|
||||
# disable text selection, unless you press shift.
|
||||
#--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
|
||||
|
||||
# Syntax mappings: map a certain filename pattern to a language.
|
||||
# Example 1: use the C++ syntax for .ino files
|
||||
# Example 2: Use ".gitignore"-style highlighting for ".ignore" files
|
||||
#--map-syntax "*.ino:C++"
|
||||
#--map-syntax ".ignore:Git Ignore"
|
||||
--decorations=never
|
|
@ -0,0 +1,15 @@
|
|||
# configuration file for betterlockscreen
|
||||
|
||||
insidecolor=00000000
|
||||
ringcolor=ffffffff
|
||||
keyhlcolor=d23c3dff
|
||||
bshlcolor=d23c3dff
|
||||
separatorcolor=00000000
|
||||
insidevercolor=54e6f2ff
|
||||
insidewrongcolor=d23c3dff
|
||||
ringvercolor=ffffffff
|
||||
ringwrongcolor=ffffff00
|
||||
verifcolor=ffffff00
|
||||
timecolor=ffffffff
|
||||
datecolor=ffffffff
|
||||
loginbox=ffffff22
|
|
@ -0,0 +1,5 @@
|
|||
updpkgsums
|
||||
makepkg --printsrcinfo > .SRCINFO
|
||||
|
||||
git add .SRCINFO PKGBUILD
|
||||
git status
|
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
#xset r rate 400 100
|
||||
##emacs -fs &
|
||||
rm -rf ~/.cache/fontconfig
|
||||
|
||||
# dbus-launch sxhkd &
|
||||
|
||||
#gpg-agent --server &
|
||||
#feh --bg-fill ~/Pictures/monochrome.jpg
|
||||
|
||||
#single monitor wallpaper
|
||||
source ~/.fehbg
|
||||
#feh --randomize --bg-fill Pictures/wallpapers
|
||||
|
||||
|
||||
# dual monitor
|
||||
#feh --bg-scale ~/Pictures/wallpapers/morning-wallpaper-cut1.jpg ~/Pictures/wallpapers/morning-wallpaper.-cut2.jpg # dual monitor
|
||||
#Pictures/wander1.png
|
||||
|
||||
#dbus-launch emacs --daemon &
|
||||
#other
|
||||
(sleep 1 && picom --config "$HOME/.config/picom.conf" )&
|
||||
(sleep 1 && keynav)&
|
||||
(sleep 1 && ~/bin/startup/keyboard ) &
|
||||
(sleep 1 && wired ) &
|
||||
(sleep 3 && optimus-manager-qt) &
|
||||
(sleep 3 && flameshot) &
|
||||
(sleep 4 && keepassxc) &
|
||||
(sleep 5 && syncthing -no-browser) &
|
||||
(sleep 5 && thunderbird ) &
|
||||
#ibus-daemon &
|
||||
#uim-toolbar-gtk3-systray & #uim Japanses Input
|
||||
|
||||
#if bspwm
|
||||
|
||||
|
||||
#thunderbird &
|
||||
#ibus-daemon -drx &
|
||||
#syncthing-gtk -m &
|
||||
#qbittorrent &
|
||||
|
||||
#~/bin/wm/download-wallpaper
|
|
@ -0,0 +1,104 @@
|
|||
#!/bin/bash
|
||||
if [ ! -t 1 ] ; then
|
||||
cat "$@"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
ncol=`tput cols`
|
||||
|
||||
# If you modify the cat, be sure to mantain the same length in every line (newline excluded).
|
||||
# Leave an empty array index where you want the cat output, and specify it in OUTPUT_INDEX.
|
||||
# Modify UPPER and LOWER_LINE INDEX and CHAR if you want to modify the appearance and position
|
||||
# of the two delimiters, or set their index at -1 if you don't want them.
|
||||
|
||||
t[0]=' ∧_∧ '
|
||||
t[1]=' ( ・ω・) '
|
||||
t[2]='―∪――――∪―'
|
||||
t[4]='________'
|
||||
t[5]=' | | '
|
||||
t[6]=' | | '
|
||||
t[7]=' U U '
|
||||
|
||||
#################################
|
||||
# #
|
||||
# Modify these constants if you #
|
||||
# modify the drawing #
|
||||
# #
|
||||
#################################
|
||||
|
||||
# Drawing width
|
||||
|
||||
DRAWING_WIDTH=8
|
||||
|
||||
# At which index of the array t (declared above) should
|
||||
# print the input file
|
||||
|
||||
OUTPUT_INDEX=3
|
||||
|
||||
# Characters to use for the text delimiter, and at which
|
||||
# indices they should be printed
|
||||
|
||||
UPPER_LINE_CHAR="―"
|
||||
LOWER_LINE_CHAR="_"
|
||||
UPPER_LINE_INDEX=2
|
||||
LOWER_LINE_INDEX=4
|
||||
|
||||
# Padding before and after the printed file. No padding
|
||||
# could give unwanted results (see issue #4)
|
||||
|
||||
PADDING=1
|
||||
|
||||
# Percentage that indicates the position of the drawing
|
||||
# in the terminal. 0 = align to the left, 100 = align to
|
||||
# the right
|
||||
|
||||
DRAWING_POSITION=25
|
||||
|
||||
|
||||
#################################
|
||||
|
||||
arrayLen=${#t[@]}
|
||||
halfDrawingLen=$(($DRAWING_WIDTH / 2))
|
||||
leadingSpaces=$(($ncol * $DRAWING_POSITION / 100 - $halfDrawingLen))
|
||||
if [[ $leadingSpaces -lt 0 ]]; then
|
||||
leadingSpaces=0
|
||||
fi
|
||||
trailingSpaces=$(($ncol - $leadingSpaces - $DRAWING_WIDTH))
|
||||
if [[ $leadingSpaces -gt $(($ncol - $DRAWING_WIDTH)) ]]; then
|
||||
leadingSpaces=$(($ncol - $DRAWING_WIDTH))
|
||||
trailingSpaces=0
|
||||
fi
|
||||
echo ""
|
||||
for i in $(seq 0 $arrayLen); do
|
||||
if [[ $i = $OUTPUT_INDEX ]]; then
|
||||
for n in $(seq 1 $PADDING); do
|
||||
echo ""
|
||||
done
|
||||
cat "$@"
|
||||
for n in $(seq 1 $PADDING); do
|
||||
echo ""
|
||||
done
|
||||
else
|
||||
car=""
|
||||
if [[ $i = $UPPER_LINE_INDEX ]]; then
|
||||
car=$UPPER_LINE_CHAR
|
||||
elif [[ $i = $LOWER_LINE_INDEX ]]; then
|
||||
car=$LOWER_LINE_CHAR
|
||||
else
|
||||
car=" "
|
||||
fi
|
||||
for s in $(seq 1 $leadingSpaces); do
|
||||
printf "$car"
|
||||
done
|
||||
printf "${t[$i]}"
|
||||
if [[ $i -eq $LOWER_LINE_INDEX || $i -eq $UPPER_LINE_INDEX ]]; then
|
||||
for s in $(seq 1 $trailingSpaces); do
|
||||
printf "$car"
|
||||
done
|
||||
printf "\n"
|
||||
else
|
||||
printf "\n"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
echo ""
|
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
pcs() { for i in {0..7}; do echo -en "\e[${1}$((30+$i))m \u2588\u2588 \e[0m"; done; }
|
||||
printf "\n%s\n%s\n\n" "$(pcs)" "$(pcs '1;')"
|
|
@ -0,0 +1,115 @@
|
|||
#!/usr/bin/env bash
|
||||
# Tiny colored fetch script
|
||||
# Requires Typicons Font to display the icons
|
||||
|
||||
f=3 b=4
|
||||
for j in f b; do
|
||||
for i in {0..7}; do
|
||||
printf -v $j$i %b "\e[${!j}${i}m"
|
||||
done
|
||||
done
|
||||
d=$'\e[1m'
|
||||
t=$'\e[0m'
|
||||
v=$'\e[7m'
|
||||
|
||||
# Items
|
||||
sep=
|
||||
s=$d$f0$sep$t
|
||||
|
||||
#w=
|
||||
w=
|
||||
netname="$(nmcli -g common | grep -m 1 connected | awk '{print($4)}')"
|
||||
[[ -z $netname ]] && netname="no wifi"
|
||||
|
||||
h=
|
||||
wmname="$(xprop -id $(xprop -root -notype | awk '$1=="_NET_SUPPORTING_WM_CHECK:"{print $5}') -notype -f _NET_WM_NAME 8t | grep -m 1 "WM_NAME" | cut -f2 -d \")"
|
||||
|
||||
k=
|
||||
kernel="$(uname -r | cut -d '-' -f1)"
|
||||
|
||||
r=
|
||||
resolution="$(xwininfo -root | grep geometry | awk '{print $2}' | cut -d + -f1)"
|
||||
|
||||
sh=
|
||||
shell=$(basename $SHELL)
|
||||
|
||||
# set the eyes, ^.^ by default
|
||||
eyes() {
|
||||
if [[ -z $1 ]]; then
|
||||
echo "^.^"
|
||||
elif [[ $1 = "0" ]]; then
|
||||
echo ". ."
|
||||
elif [[ $1 = "1" ]]; then
|
||||
echo "· ·"
|
||||
elif [[ $1 = "2" ]]; then
|
||||
echo "^ ^"
|
||||
elif [[ $1 = "3" ]]; then
|
||||
echo "- -"
|
||||
elif [[ $1 = "4" ]]; then
|
||||
echo "~ ~"
|
||||
elif [[ $1 = "5" ]]; then
|
||||
echo "* *"
|
||||
elif [[ $1 = "6" ]]; then
|
||||
echo "^.^"
|
||||
elif [[ $1 = "7" ]]; then
|
||||
echo "-.-"
|
||||
elif [[ $1 = "8" ]]; then
|
||||
echo "~.~"
|
||||
elif [[ $1 = "9" ]]; then
|
||||
echo "*.*"
|
||||
elif [[ $1 = "10" ]]; then
|
||||
echo "0.0"
|
||||
elif [[ $1 = "11" ]]; then
|
||||
echo "0 0"
|
||||
elif [[ $1 = "12" ]]; then
|
||||
echo "o o"
|
||||
elif [[ $1 = "13" ]]; then
|
||||
echo "o.o"
|
||||
else
|
||||
echo "^.^"
|
||||
fi
|
||||
}
|
||||
|
||||
# sysinfo with cute kitty
|
||||
kittyfetch() {
|
||||
printf " $d$f1$h $t$wmname
|
||||
/\_/\ $f3$k $t$kernel
|
||||
( $d$(eyes $1)$t ) $f2$sh $t$shell
|
||||
$f1>$t $f3^$t $f1<$t $f5$r $t$resolution
|
||||
$f4$w $t$netname
|
||||
"
|
||||
}
|
||||
|
||||
# sysinfo with cute bunny
|
||||
bunnyfetch() {
|
||||
printf " $d$f1$h $t$wmname
|
||||
(\ /) $f3$k $t$kernel
|
||||
( $d$(eyes $1)$t) $f2$sh $t$shell
|
||||
c($f1\"$t)($f1\"$t) $f5$r $t$resolution
|
||||
$f4$w $t$netname
|
||||
"
|
||||
}
|
||||
|
||||
# script information
|
||||
scriptinfo() {
|
||||
printf "cutefetch - simple colored script to display system info
|
||||
Usage: cutefetch kitty/bunny
|
||||
If no argument is given, kitty is assumed.
|
||||
If unknown argument is given, this message is shown.
|
||||
"
|
||||
}
|
||||
|
||||
# print the fetch info, kitty by default, bunny otherwise
|
||||
cutefunc() {
|
||||
if [[ -z $1 ]] || [[ $1 = "kitty" ]] || [[ $1 = "k" ]]; then
|
||||
kittyfetch $2
|
||||
elif [[ $1 = "bunny" ]] || [[ $1 = "b" ]]; then
|
||||
[[ -z $2 ]] && eye="0" || eye=$2
|
||||
bunnyfetch $eye
|
||||
else
|
||||
[[ $1 == ?(-)+([0-9]) ]] && kittyfetch $1 || scriptinfo
|
||||
fi
|
||||
}
|
||||
|
||||
# call the main function
|
||||
cutefunc $1 $2
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
chromium --app="https://discord.com/channels/@me"
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
systemctl restart nscd.service
|
||||
systemctl restart dnsmasq.service
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash
|
||||
#set -x
|
||||
|
||||
# Shows you the largest objects in your repo's pack file.
|
||||
# Written for osx.
|
||||
#
|
||||
# @see http://stubbisms.wordpress.com/2009/07/10/git-script-to-show-largest-pack-objects-and-trim-your-waist-line/
|
||||
# @author Antony Stubbs
|
||||
|
||||
# set the internal field spereator to line break, so that we can iterate easily over the verify-pack output
|
||||
IFS=$'\n';
|
||||
|
||||
# list all objects including their size, sort by size, take top 10
|
||||
objects=`git verify-pack -v .git/objects/pack/pack-*.idx | grep -v chain | sort -k3nr | head`
|
||||
|
||||
echo "All sizes are in kB. The pack column is the size of the object, compressed, inside the pack file."
|
||||
|
||||
output="size,pack,SHA,location"
|
||||
for y in $objects
|
||||
do
|
||||
# extract the size in bytes
|
||||
size=$((`echo $y | cut -f 5 -d ' '`/1024))
|
||||
# extract the compressed size in bytes
|
||||
compressedSize=$((`echo $y | cut -f 6 -d ' '`/1024))
|
||||
# extract the SHA
|
||||
sha=`echo $y | cut -f 1 -d ' '`
|
||||
# find the objects location in the repository tree
|
||||
other=`git rev-list --all --objects | grep $sha`
|
||||
#lineBreak=`echo -e "\n"`
|
||||
output="${output}\n${size},${compressedSize},${other}"
|
||||
done
|
||||
|
||||
echo -e $output | column -t -s ', '
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
#https://stackoverflow.com/questions/7261855/recommendation-for-compressing-jpg-files-with-imagemagick
|
||||
|
||||
#quality in 85
|
||||
#progressive (comprobed compression)
|
||||
#a very tiny gausssian blur to optimize the size (0.05 or 0.5 of radius) depends on the quality and size of the picture, this notably optimizes the size of the jpeg.
|
||||
#Strip any comment or EXIF metadata
|
||||
|
||||
magick "$1" -strip -interlace Plane -sampling-factor 4:2:0 -quality 75% "$2"
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
grep -qs '^ID=arch$' /etc/os-release \
|
||||
&& { test -e /lib/modules/`uname -r` \
|
||||
|| echo Kernel updated, reboot computer.; }
|
|
@ -0,0 +1 @@
|
|||
~/.gem/ruby/2.7.0/bin/jekyll "$@"
|
|
@ -0,0 +1,4 @@
|
|||
setxkbmap -option ctrl:swapcaps
|
||||
setxkbmap -option altwin:swap_lalt_lwin
|
||||
setxkbmap -model pc105 -layout us,ar -variant ,qwerty -option grp:shifts_toggle
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
xdotool search --class mpv | xargs -I % xdotool key --window % space &&
|
||||
notify-send "MPV" "Pausing/Playing"
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
export http_proxy='socks5://127.0.0.1:12345'
|
||||
export https_proxy='socks5://127.0.0.1:12345'
|
||||
|
||||
echo $https_proxy
|
||||
echo $http_proxy
|
|
@ -0,0 +1,38 @@
|
|||
#!/bin/sh
|
||||
echo "settings: '/screen' '/ebook' 'printer' '/repress'"
|
||||
|
||||
PS3='Please enter your choice: '
|
||||
SETTINGS=''
|
||||
options=("low" "medium" "high" "highest" "quti")
|
||||
select opt in "${options[@]}"
|
||||
do
|
||||
case $opt in
|
||||
"low")
|
||||
echo "you chose '/screen'"
|
||||
SETTINGS="/screen"
|
||||
break
|
||||
;;
|
||||
"medium")
|
||||
echo "you choose '/ebook'"
|
||||
SETTINGS="/ebook"
|
||||
break
|
||||
;;
|
||||
"high")
|
||||
echo "you chose '/printer'"
|
||||
SETTINGS="/printer"
|
||||
break
|
||||
;;
|
||||
"highest")
|
||||
echo "you chose '/repress'"
|
||||
SETTINGS="/repress"
|
||||
break
|
||||
;;
|
||||
"quit")
|
||||
echo "quitting..."
|
||||
break
|
||||
;;
|
||||
*) echo "invalid option $REPLY";;
|
||||
esac
|
||||
done
|
||||
|
||||
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=$SETTINGS -sOutputFile=$2 $1
|
|
@ -0,0 +1 @@
|
|||
ffmpeg -i "$1" -vcodec libx265 -crf 28 "compressed-${1%.*}.mp4"
|
|
@ -0,0 +1,53 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Get class of a wid
|
||||
get_class() {
|
||||
id=$1
|
||||
if [ -z "$id" ]; then
|
||||
echo ""
|
||||
else
|
||||
xprop -id "$id" | sed -n '/WM_CLASS\|WM_COMMAND/s/.*"\(.*\)".*/\1/p'
|
||||
fi
|
||||
}
|
||||
|
||||
swallow() {
|
||||
addedtodesktop=$2
|
||||
lasttermdesktop=$(bspc query -D -n last)
|
||||
|
||||
swallowerid=$1
|
||||
swallowingid=$(bspc query -N -n last)
|
||||
|
||||
if [ "$addedtodesktop" = "$lasttermdesktop" ]; then
|
||||
cat ~/.config/bspwm/noswallow ~/.config/bspwm/terminals | grep "^$(get_class "$swallowerid")$" && return
|
||||
grep "^$(get_class "$swallowingid")$" ~/.config/bspwm/terminals || return
|
||||
echo "$swallowerid $swallowingid" >> /tmp/swallowids
|
||||
bspc node "$swallowingid" --flag hidden=on
|
||||
fi
|
||||
}
|
||||
|
||||
spit() {
|
||||
spitterid=$1
|
||||
spitterdesktop=$2
|
||||
grep "^$spitterid" /tmp/swallowids || return
|
||||
spittingid=$(grep "^$spitterid" /tmp/swallowids | head -n1 | awk '{print $2}')
|
||||
|
||||
bspc node "$spittingid" --flag hidden=off
|
||||
|
||||
termdesktop=$(bspc query -D -n "$spittingid")
|
||||
[ "$termdesktop" = "$spitterdesktop" ] || bspc node "$spittingid" -d "$spitterdesktop"
|
||||
|
||||
bspc node "$spittingid" -f
|
||||
sed -i "/^$spitterid/d" /tmp/swallowids
|
||||
}
|
||||
|
||||
bspc subscribe node_add node_remove | while read -r event
|
||||
do
|
||||
case $(echo "$event" | awk '{ print $1 }') in
|
||||
node_add)
|
||||
swallow $(echo "$event" | awk '{print $5 " " $3}')
|
||||
;;
|
||||
node_remove)
|
||||
spit $(echo "$event" | awk '{print $4 " " $3}')
|
||||
;;
|
||||
esac
|
||||
done
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
echo "hi" > /tmp/picpresent
|
||||
|
||||
# What I cant create I can understand, Richard Fayman
|
||||
URL="https://wallpapercave.com/download/richard-feynman-wallpapers-wp6637060?nocache=1"
|
||||
# WRech
|
||||
#URL="https://preview.redd.it/eyuib1knsco61.png?width=1920&format=png&auto=webp&s=bb57dce3780b4cd5d7dfd3f2a795053e3cc22ad9"
|
||||
|
||||
CACHE_PATH="${XDG_CACHE_HOME}/$(echo $URL | sed 's/\///g')"
|
||||
|
||||
[ -f "$CACHE_PATH" ] || curl "$URL" -o "$CACHE_PATH"
|
||||
[ -f "$CACHE_PATH" ] && feh --bg-fill "$CACHE_PATH"
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
# if bspwm
|
||||
bspc node "$@" ||
|
||||
bspc monitor "$@"
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
#img=$(mktemp /tmp/XXXXXXXXXX.png)
|
||||
qdbus org.keepassxc.KeePassXC.MainWindow /keepassxc org.keepassxc.MainWindow.lockAllDatabases &
|
||||
img="$HOME/Pictures/wallpapers/arch-linux-dunno.png"
|
||||
# Take a screenshot of current desktop
|
||||
#import -window root $img
|
||||
## Pixelate the screenshot
|
||||
#convert $img -blur 9,9 $img
|
||||
i3lock -i "$img" -f
|
||||
#rm $img
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
my_laptop_external_monitor=$(xrandr --query | grep 'HDMI-0')
|
||||
if [[ $my_laptop_external_monitor = *connected* ]]; then
|
||||
xrandr --output HDMI-0 --primary --mode 1920x1080 --rotate normal --output eDP-1-1 --mode 1920x1080 --rotate normal --left-of HDMI-0 &
|
||||
fi
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
awk '/^[a-z]/ && last {print "<small>",$0,"\t",last,"</small>"} {last=""} /^#/{last=$0}' ~/.config/sxhkd/sxhkdrc{,.common} |
|
||||
column -t -s $'\t' |
|
||||
rofi -dmenu -i -markup-rows -no-show-icons -width 1000 -lines 15 -yoffset 40
|
|
@ -0,0 +1,48 @@
|
|||
#! /bin/sh
|
||||
|
||||
pgrep -x sxhkd > /dev/null || sxhkd &
|
||||
#sxhkd &
|
||||
|
||||
#Swallow
|
||||
pgrep ~/bin/wm/bspswallow || ~/bin/wm/bspswallow &
|
||||
|
||||
|
||||
bspc monitor -d I II III IV V VI VII
|
||||
|
||||
#bspc config ignore_ewmh_fullscreen all
|
||||
bspc config ignore_ewmh_focus true
|
||||
bspc config window_gap 0
|
||||
bspc config border_width 0
|
||||
bspc config normal_border_color '#aaaaaa'
|
||||
bspc config focused_border_color "#FFFFFF"
|
||||
bspc config presel_feedback_color "#bbbbbb"
|
||||
|
||||
bspc config directional_focus_tightness low
|
||||
|
||||
bspc config split_ratio 0.52
|
||||
bspc config borderless_monocle true
|
||||
bspc config gapless_monocle true
|
||||
bspc config single_monocle true
|
||||
bspc config focus_follows_pointer true
|
||||
bspc config pointer_follows_focus true
|
||||
|
||||
# bspc rule -a Gimp desktop='^8' state=floating follow=on
|
||||
#bspc rule -a Chromium desktop='^1'
|
||||
bspc rule -a Thunderbird desktop='^6'
|
||||
bspc rule -a Dino desktop='^6'
|
||||
bspc rule -a KeePassXC desktop='^6'
|
||||
bspc rule -a Peek state=floating
|
||||
bspc rule -a Connman-gtk state=floating
|
||||
bspc rule -a mplayer2 state=floating
|
||||
bspc rule -a Emacs state=tiled
|
||||
bspc rule -a Zathura state=tiled
|
||||
bspc rule -a Kupfer.py focus=on
|
||||
bspc rule -a Screenkey manage=off
|
||||
|
||||
bspc rule -a wmpin sticky=on
|
||||
|
||||
bspc rule -a Floating state=floating
|
||||
|
||||
~/bin/autostart
|
||||
xsetroot -cursor_name left_ptr &
|
||||
~/.config/polybar/forest/launch.sh &
|
|
@ -0,0 +1,4 @@
|
|||
Alacritty
|
||||
Kitty
|
||||
nvim
|
||||
xterm
|
|
@ -0,0 +1,231 @@
|
|||
#
|
||||
# Backend
|
||||
#
|
||||
#################################
|
||||
|
||||
# Backend to use: "xrender" or "glx".
|
||||
# GLX backend is typically much faster but depends on a sane driver.
|
||||
backend = "glx";
|
||||
|
||||
#################################
|
||||
#
|
||||
# GLX backend
|
||||
#
|
||||
#################################
|
||||
|
||||
glx-no-stencil = true;
|
||||
|
||||
# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
|
||||
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
|
||||
# but a 20% increase when only 1/4 is.
|
||||
# My tests on nouveau show terrible slowdown.
|
||||
# Useful with --glx-swap-method, as well.
|
||||
glx-copy-from-front = false;
|
||||
|
||||
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
|
||||
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
|
||||
# May break VSync and is not available on some drivers.
|
||||
# Overrides --glx-copy-from-front.
|
||||
# glx-use-copysubbuffermesa = true;
|
||||
|
||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
|
||||
# Recommended if it works.
|
||||
# glx-no-rebind-pixmap = true;
|
||||
|
||||
|
||||
# GLX backend: GLX buffer swap method we assume.
|
||||
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
|
||||
# undefined is the slowest and the safest, and the default value.
|
||||
# copy is fastest, but may fail on some drivers,
|
||||
# 2-6 are gradually slower but safer (6 is still faster than 0).
|
||||
# Usually, double buffer means 2, triple buffer means 3.
|
||||
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
|
||||
# Useless with --glx-use-copysubbuffermesa.
|
||||
# Partially breaks --resize-damage.
|
||||
# Defaults to undefined.
|
||||
glx-swap-method = "undefined";
|
||||
|
||||
#################################
|
||||
#
|
||||
# Shadows
|
||||
#
|
||||
#################################
|
||||
|
||||
# Enabled client-side shadows on windows.
|
||||
shadow = true;
|
||||
# Don't draw shadows on DND windows.
|
||||
no-dnd-shadow = true;
|
||||
# Avoid drawing shadows on dock/panel windows.
|
||||
no-dock-shadow = true;
|
||||
# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
|
||||
clear-shadow = true;
|
||||
# The blur radius for shadows. (default 12)
|
||||
shadow-radius = 5;
|
||||
# The left offset for shadows. (default -15)
|
||||
shadow-offset-x = -5;
|
||||
# The top offset for shadows. (default -15)
|
||||
shadow-offset-y = -5;
|
||||
# The translucency for shadows. (default .75)
|
||||
shadow-opacity = 0.5;
|
||||
|
||||
# Set if you want different colour shadows
|
||||
# shadow-red = 0.0;
|
||||
# shadow-green = 0.0;
|
||||
# shadow-blue = 0.0;
|
||||
|
||||
# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
|
||||
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
|
||||
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
|
||||
shadow-exclude = [
|
||||
"! name~=''",
|
||||
"name = 'Notification'",
|
||||
"name = 'Plank'",
|
||||
"name = 'Docky'",
|
||||
"name = 'Kupfer'",
|
||||
"name = 'xfce4-notifyd'",
|
||||
"name *= 'VLC'",
|
||||
"name *= 'compton'",
|
||||
# "name *= 'Chromium'",
|
||||
"name *= 'Brave-browser'",
|
||||
"name *= 'Firefox'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g = 'Kupfer'",
|
||||
"class_g = 'Synapse'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g ?= 'Cairo-dock'",
|
||||
"class_g ?= 'Xfce4-notifyd'",
|
||||
"class_g ?= 'Xfce4-power-manager'"
|
||||
];
|
||||
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
|
||||
shadow-ignore-shaped = false;
|
||||
|
||||
#################################
|
||||
#
|
||||
# Opacity
|
||||
#
|
||||
#################################
|
||||
|
||||
menu-opacity = 1;
|
||||
inactive-opacity = 0.7;
|
||||
active-opacity = 1;
|
||||
frame-opacity = 0.7;
|
||||
inactive-opacity-override = false;
|
||||
alpha-step = 0.06;
|
||||
|
||||
# Dim inactive windows. (0.0 - 1.0)
|
||||
# inactive-dim = 0.2;
|
||||
# Do not let dimness adjust based on window opacity.
|
||||
# inactive-dim-fixed = true;
|
||||
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
|
||||
blur-background = true;
|
||||
# Blur background of opaque windows with transparent frames as well.
|
||||
blur-background-frame = true;
|
||||
# Do not let blur radius adjust based on window opacity.
|
||||
blur-background-fixed = false;
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
# special cases and yes 100% doesn't work
|
||||
opacity-rule = [ "99:name *= 'Brave'" ];
|
||||
#################################
|
||||
#
|
||||
# Fading
|
||||
#
|
||||
#################################
|
||||
|
||||
# Fade windows during opacity changes.
|
||||
fading = true;
|
||||
# The time between steps in a fade in milliseconds. (default 10).
|
||||
fade-delta = 4;
|
||||
# Opacity change between steps while fading in. (default 0.028).
|
||||
fade-in-step = 0.03;
|
||||
# Opacity change between steps while fading out. (default 0.03).
|
||||
fade-out-step = 0.03;
|
||||
# Fade windows in/out when opening/closing
|
||||
# no-fading-openclose = true;
|
||||
|
||||
# Specify a list of conditions of windows that should not be faded.
|
||||
fade-exclude = [ ];
|
||||
|
||||
#################################
|
||||
#
|
||||
# Other
|
||||
#
|
||||
#################################
|
||||
|
||||
# Try to detect WM windows and mark them as active.
|
||||
mark-wmwin-focused = true;
|
||||
# Mark all non-WM but override-redirect windows active (e.g. menus).
|
||||
mark-ovredir-focused = true;
|
||||
# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
|
||||
# Usually more reliable but depends on a EWMH-compliant WM.
|
||||
use-ewmh-active-win = true;
|
||||
# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
|
||||
detect-rounded-corners = true;
|
||||
|
||||
# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
|
||||
# This prevents opacity being ignored for some apps.
|
||||
# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
|
||||
detect-client-opacity = true;
|
||||
|
||||
# Specify refresh rate of the screen.
|
||||
# If not specified or 0, compton will try detecting this with X RandR extension.
|
||||
refresh-rate = 0;
|
||||
|
||||
# Set VSync method. VSync methods currently available:
|
||||
# none: No VSync
|
||||
# drm: VSync with DRM_IOCTL_WAIT_VBLANK. May only work on some drivers.
|
||||
# opengl: Try to VSync with SGI_video_sync OpenGL extension. Only work on some drivers.
|
||||
# opengl-oml: Try to VSync with OML_sync_control OpenGL extension. Only work on some drivers.
|
||||
# opengl-swc: Try to VSync with SGI_swap_control OpenGL extension. Only work on some drivers. Works only with GLX backend. Known to be most effective on many drivers. Does not actually control paint timing, only buffer swap is affected, so it doesn’t have the effect of --sw-opti unlike other methods. Experimental.
|
||||
# opengl-mswc: Try to VSync with MESA_swap_control OpenGL extension. Basically the same as opengl-swc above, except the extension we use.
|
||||
# (Note some VSync methods may not be enabled at compile time.)
|
||||
vsync = "opengl-swc";
|
||||
|
||||
# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
|
||||
# Reported to have no effect, though.
|
||||
dbe = false;
|
||||
# Painting on X Composite overlay window. Recommended.
|
||||
paint-on-overlay = true;
|
||||
|
||||
# Limit compton to repaint at most once every 1 / refresh_rate second to boost performance.
|
||||
# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already,
|
||||
# unless you wish to specify a lower refresh rate than the actual value.
|
||||
sw-opti = false;
|
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
|
||||
# Known to cause flickering when redirecting/unredirecting windows.
|
||||
# paint-on-overlay may make the flickering less obvious.
|
||||
unredir-if-possible = true;
|
||||
|
||||
# Specify a list of conditions of windows that should always be considered focused.
|
||||
focus-exclude = [ ];
|
||||
|
||||
# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
|
||||
detect-transient = true;
|
||||
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
|
||||
# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
|
||||
detect-client-leader = true;
|
||||
|
||||
#################################
|
||||
#
|
||||
# Window type settings
|
||||
#
|
||||
#################################
|
||||
|
||||
wintypes:
|
||||
{
|
||||
tooltip =
|
||||
{
|
||||
# fade: Fade the particular type of windows.
|
||||
fade = true;
|
||||
# shadow: Give those windows shadow
|
||||
shadow = false;
|
||||
# opacity: Default opacity for the type of windows.
|
||||
opacity = 0.85;
|
||||
# focus: Whether to always consider windows of this type focused.
|
||||
focus = true;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,444 @@
|
|||
(add-hook 'markdown-mode-hook 'mixed-pitch-mode)
|
||||
(add-hook 'org-mode-hook 'mixed-pitch-mode)
|
||||
|
||||
(setq leuven-scale-org-agenda-structure nil)
|
||||
(setq leuven-scale-outline-headlines nil)
|
||||
(setq doom-theme 'doom-gruvbox)
|
||||
|
||||
(setq doom-font (font-spec :family "FiraCode" :size 9.0 :weight 'regular)
|
||||
doom-variable-pitch-font (font-spec :family "sans" :size 9.0))
|
||||
(after! doom-themes
|
||||
(set-fontset-font t 'arabic "Noto Sans Arabic UI")
|
||||
(setq doom-themes-enable-bold t
|
||||
doom-themes-enable-italic t
|
||||
))
|
||||
(custom-set-faces!
|
||||
'(font-lock-comment-face :slant italic)
|
||||
'(font-lock-keyword-face :slant italic)
|
||||
)
|
||||
;;(setq doom-font (font-spec :family "Open Sans" :size 12 :weight 'regular)
|
||||
;;doom-variable-pitch-font (font-spec :family "sans" :size 12))
|
||||
|
||||
(setq display-line-numbers-type 't)
|
||||
|
||||
(setq neo-theme (if (display-graphic-p) 'icons 'arrow))
|
||||
|
||||
(map!
|
||||
:n "<f5>" 'rustic-cargo-test
|
||||
:n "C-<f5>" 'compile-on-save-mode
|
||||
:n "<f6>" 'elfeed
|
||||
;; :n "<f7>" email TODO: Add email
|
||||
:n "<f8>" (cmd! (org-agenda nil "c"))
|
||||
:n "<f12>" 'delve-open-or-select
|
||||
)
|
||||
|
||||
(setq doom-leader-alt-key "C-SPC")
|
||||
(setq doom-localleader-alt-key "C-SPC m")
|
||||
|
||||
(map! "C-h" 'backward-delete-char-untabify)
|
||||
|
||||
(defun doom/ediff-init-and-example ()
|
||||
"ediff the current `init.el' with the example in doom-emacs-dir"
|
||||
(interactive)
|
||||
(ediff-files (concat doom-private-dir "init.el")
|
||||
(concat doom-emacs-dir "init.example.el")))
|
||||
|
||||
(define-key! help-map
|
||||
"di" #'doom/ediff-init-and-example
|
||||
)
|
||||
|
||||
(setq-default fill-column 80)
|
||||
|
||||
(setq scroll-conservatively 10)
|
||||
(setq scroll-margin 3)
|
||||
|
||||
;;(add-hook 'text-mode-hook 'mixed-pitch-mode)
|
||||
(add-hook 'text-mode-hook 'blink-cursor-mode)
|
||||
|
||||
(use-package org-roam-server
|
||||
:after org-roam
|
||||
:config
|
||||
(setq org-roam-server-host "127.0.0.1"
|
||||
org-roam-server-port 8888
|
||||
org-roam-server-authenticate nil
|
||||
org-roam-server-export-inline-images t
|
||||
org-roam-server-serve-files nil
|
||||
org-roam-server-served-file-extensions '("pdf" "mp4" "ogv")
|
||||
org-roam-server-network-poll t
|
||||
org-roam-server-network-arrows nil
|
||||
org-roam-server-network-label-truncate t
|
||||
org-roam-server-network-label-truncate-length 60
|
||||
org-roam-server-network-label-wrap-length 20)
|
||||
|
||||
(defun org-roam-server-open ()
|
||||
"Ensure the server is active, then open the roam graph."
|
||||
(interactive)
|
||||
(unless (server-running-p)
|
||||
(org-roam-server-mode 1))
|
||||
(browse-url-xdg-open (format "http://localhost:%d" org-roam-server-port))))
|
||||
|
||||
;; Moved to Org Directory
|
||||
|
||||
(setq deft-directory "~/org/roam")
|
||||
(setq deft-extensions '("md" "tex" "org"))
|
||||
(setq deft-recursive t)
|
||||
(setq deft-strip-title-regexp "\\(?:^%+\\|^#\\+TITLE: *\\|^[#* ]+\\|-\\*-[[:alpha:]]+-\\*-\\|^Title:[ ]*\\|#+$\\)")
|
||||
|
||||
(setq org-roam-dailies-capture-templates
|
||||
(let ((head "\
|
||||
:PROPERTIES:
|
||||
:ID: %<%Y%m%d>-daily
|
||||
:TITLE: %<%Y-%m-%d (%A)>
|
||||
:STARTUP: showall
|
||||
:ROAM_TAGS: dailies
|
||||
:END:\
|
||||
\n#+STARTUP: showall\
|
||||
\* MetaData\
|
||||
\n- type: [[id:8bedd21f][Dailies]]\
|
||||
\n* Journal :journal: \
|
||||
\n Feelings throught the day\
|
||||
\n* Gratitude \n1. Past\n2. Present\n3. Future\
|
||||
\n* Goals for today [/][%]\
|
||||
\n- [ ] \
|
||||
\n* The Good and Bad \
|
||||
\n** YES \
|
||||
\n** NO \
|
||||
"))
|
||||
`(("j" "journal" entry
|
||||
#'org-roam-capture--get-point
|
||||
"* %<%H:%M> %?"
|
||||
:file-name "daily/%<%Y-%m-%d>"
|
||||
:head ,head
|
||||
:olp ("Journal"))
|
||||
("t" "do today" item
|
||||
#'org-roam-capture--get-point
|
||||
"[ ] %(princ as/agenda-captured-link)"
|
||||
:file-name "daily/%<%Y-%m-%d>"
|
||||
:head ,head
|
||||
:olp ("Do Today")
|
||||
:immediate-finish t)
|
||||
("m" "maybe do today" item
|
||||
#'org-roam-capture--get-point
|
||||
"[ ] %(princ as/agenda-captured-link)"
|
||||
:file-name "daily/%<%Y-%m-%d>"
|
||||
:head ,head
|
||||
:olp ("Maybe Do Today")
|
||||
:immediate-finish t))))
|
||||
|
||||
;(add-hook 'org-mode-hook #'delve-minor-mode-maybe-activate)
|
||||
(setq delve-use-icons-in-completions t)
|
||||
(set-evil-initial-state! 'delve-mode 'insert)
|
||||
(map! :map delve-mode-map
|
||||
:n "gr" #'delve-refresh-buffer
|
||||
:n "<right>" #'delve-expand-insert-tolinks
|
||||
:n "<left>" #'devle-expand-insert-backlinks
|
||||
:n "TAB" #'delve-expand-toggle-sublist)
|
||||
"RET" #'lister-key-action
|
||||
:localleader
|
||||
"RET" #'lister-key-action
|
||||
"TAB" #'delve-expand-toggle-sublist
|
||||
|
||||
(defun org-roam-server-open ()
|
||||
"Ensure the server is active, then open the roam graph."
|
||||
(interactive)
|
||||
(smartparens-global-mode -1)
|
||||
(org-roam-server-mode 1)
|
||||
(browse-url-xdg-open (format "http://localhost:%d" org-roam-server-port))
|
||||
(smartparens-global-mode 1))
|
||||
;; automatically enable server-mode
|
||||
;; (after! org-roam
|
||||
;; (smartparens-global-mode -1)
|
||||
;; (org-roam-server-mode)
|
||||
;; (smartparens-global-mode 1))
|
||||
|
||||
(setq org-roam-prefer-id-links t)
|
||||
|
||||
(setq org-directory "~/org/org/")
|
||||
(setq org-college-file(concat org-directory "college.org"))
|
||||
;; roam
|
||||
(setq org-roam-directory "~/org/roam/")
|
||||
(setq org-roam-dailies-directory "daily/")
|
||||
(setq org-roam-intersting-file (concat org-roam-directory "internet/intersting.org"))
|
||||
(setq org-roam-goals-file (concat org-roam-directory "goals.org"))
|
||||
|
||||
(use-package! org-super-agenda
|
||||
:after org-agenda
|
||||
;;:custom-face
|
||||
;;(org-super-agenda-header ((default (:inherit propositum-agenda-heading))))
|
||||
|
||||
:init
|
||||
(setq
|
||||
org-agenda-skip-scheduled-if-done t
|
||||
org-agenda-skip-deadline-if-done t
|
||||
org-agenda-include-deadlines t
|
||||
org-agenda-block-separator nil
|
||||
org-agenda-compact-blocks t
|
||||
org-agenda-start-day nil ;; i.e. today
|
||||
org-agenda-span 1
|
||||
org-agenda-start-on-weekday nil
|
||||
)
|
||||
|
||||
(setq org-agenda-custom-commands
|
||||
'(("c" "Super view"
|
||||
(
|
||||
(agenda "" ((org-agenda-overriding-header "")
|
||||
(org-super-agenda-groups
|
||||
'((:name "Today"
|
||||
:time-grid t
|
||||
:date today
|
||||
:order 1)
|
||||
(:discard (:anything t))
|
||||
))))
|
||||
(alltodo "" ((org-agenda-overriding-header "")
|
||||
(org-super-agenda-groups
|
||||
'(;;(:log t)
|
||||
(:name "Important"
|
||||
:priority "A"
|
||||
:order 1
|
||||
)
|
||||
;; College
|
||||
(:name "Events"
|
||||
:tag "event"
|
||||
:order 2
|
||||
)
|
||||
(:name "College"
|
||||
:tag "college"
|
||||
:order 3
|
||||
)
|
||||
;; (:name "Next"
|
||||
;; :todo "STRT"
|
||||
;; :order 2)
|
||||
;; ====schedules====== ;;
|
||||
;; (:name "habits"
|
||||
;; :and (:habit t :scheduled today )
|
||||
;; :order 13
|
||||
;; )
|
||||
(:name "Scheduled Soon"
|
||||
:and (:scheduled future :not (:habit t))
|
||||
:order 6)
|
||||
(:name "Due Soon"
|
||||
:deadline future
|
||||
:order 6)
|
||||
(:name "Missed"
|
||||
:scheduled past
|
||||
:deadline past
|
||||
:order 7)
|
||||
;;==============================;;
|
||||
(:name "FOSS"
|
||||
:tag "foss"
|
||||
:order 9
|
||||
)
|
||||
(:name "Media to Consoom"
|
||||
:tag "media"
|
||||
:order 14
|
||||
)
|
||||
(:name "code"
|
||||
:tag "code"
|
||||
:order 15
|
||||
)
|
||||
(:name "Linux"
|
||||
:tag "rice"
|
||||
:order 16
|
||||
)
|
||||
|
||||
(:discard (:habit t))
|
||||
))))))))
|
||||
:config
|
||||
(org-super-agenda-mode))
|
||||
|
||||
(add-hook 'org-agenda-mode-hook 'elegant-agenda-mode)
|
||||
|
||||
(with-eval-after-load 'org-agenda
|
||||
(define-key org-super-agenda-header-map "j" nil)
|
||||
(define-key org-super-agenda-header-map "k" nil))
|
||||
|
||||
(advice-add 'org-agenda-quit :before 'org-save-all-org-buffers)
|
||||
|
||||
(add-hook 'org-mode-hook 'turn-on-auto-fill)
|
||||
(defun update-org-latex-fragments ()
|
||||
(org-latex-preview '(64))
|
||||
(plist-put org-format-latex-options :scale text-scale-mode-amount)
|
||||
(org-latex-preview '(16)))
|
||||
(add-hook 'text-scale-mode-hook 'update-org-latex-fragments)
|
||||
|
||||
(eval-after-load "preview"
|
||||
'(add-to-list 'preview-default-preamble "\\PreviewEnvironment{tikzpicture}" t))
|
||||
|
||||
(after! org (add-hook 'org-mode-hook 'turn-on-org-cdlatex))
|
||||
|
||||
(cl-defmacro lsp-org-babel-enable (lang)
|
||||
"Support LANG in org source code block."
|
||||
(setq centaur-lsp 'lsp-mode)
|
||||
(cl-check-type lang stringp)
|
||||
(let* ((edit-pre (intern (format "org-babel-edit-prep:%s" lang)))
|
||||
(intern-pre (intern (format "lsp--%s" (symbol-name edit-pre)))))
|
||||
`(progn
|
||||
(defun ,intern-pre (info)
|
||||
(let ((file-name (->> info caddr (alist-get :file))))
|
||||
(unless file-name
|
||||
(setq file-name (make-temp-file "babel-lsp-")))
|
||||
(setq buffer-file-name file-name)
|
||||
(lsp-deferred)))
|
||||
(put ',intern-pre 'function-documentation
|
||||
(format "Enable lsp-mode in the buffer of org source block (%s)."
|
||||
(upcase ,lang)))
|
||||
(if (fboundp ',edit-pre)
|
||||
(advice-add ',edit-pre :after ',intern-pre)
|
||||
(progn
|
||||
(defun ,edit-pre (info)
|
||||
(,intern-pre info))
|
||||
(put ',edit-pre 'function-documentation
|
||||
(format "Prepare local buffer environment for org source block (%s)."
|
||||
(upcase ,lang))))))))
|
||||
(defvar org-babel-lang-list
|
||||
'("go" "python" "ipython" "bash" "sh"))
|
||||
(dolist (lang org-babel-lang-list)
|
||||
(eval `(lsp-org-babel-enable ,lang)))
|
||||
|
||||
(after! org
|
||||
(setq org-capture-templates
|
||||
'(
|
||||
|
||||
("t" "General Todo")
|
||||
("tt" "General" entry
|
||||
(file+headline +org-capture-todo-file "Inbox")
|
||||
"* TODO %?\n%i")
|
||||
("tT" "Today" entry
|
||||
(file+headline +org-capture-todo-file "Inbox")
|
||||
"* TODO %?\n%iSCHEDULED: %T\n")
|
||||
|
||||
;; College
|
||||
("c" "College")
|
||||
("ch" "Homework" entry
|
||||
(file+headline org-college-file "Homework :college:hw:")
|
||||
"* TODO %?\n%i:PROPERTIES:\n:Created: %U\n:END:")
|
||||
("cq" "Quiz/Exam/Test" entry
|
||||
(file+headline org-college-file "Quiz :college:exam:")
|
||||
"* TODO %?\n%i:PROPERTIES:\n:Created: %U\n:END:")
|
||||
("ce" "Event" entry
|
||||
(file+headline org-college-file "Event :college:event:")
|
||||
"* TODO %?\n%i:PROPERTIES:\n:Created: %U\n:END:")
|
||||
("ct" "Todo" entry
|
||||
(file+headline org-college-file "College Todo :college:")
|
||||
"* TODO %?\n%i:PROPERTIES:\n:Created: %U\n:END:")
|
||||
|
||||
("i" "Interesting")
|
||||
("iw" "Interesting Website" entry
|
||||
(file+headline org-roam-intersting-file "Website")
|
||||
"* %?\n%i\n")
|
||||
("it" "Interesting tweet" entry
|
||||
(file+headline org-roam-intersting-file "Tweet")
|
||||
"- %?\n%i\n")
|
||||
("ii" "Information" entry
|
||||
(file+headline org-roam-intersting-file "Information")
|
||||
"** PROJ %?\n%i\n")
|
||||
("iq" "Quote" entry
|
||||
(file+headline org-roam-intersting-file "Quotes")
|
||||
"** %?\n%i\n")
|
||||
("ip" "Project Idea" entry
|
||||
(file+headline org-roam-goals-file "Project Ideas")
|
||||
"** PROJ %?\n%i\n")
|
||||
("ib" "Blog Ideas" entry
|
||||
(file+headline org-roam-goals-file "Blog Ideas")
|
||||
"- %?\n%i\n")
|
||||
|
||||
;; Media
|
||||
("m" "Media")
|
||||
("mr" "To Read" entry
|
||||
(file+headline +org-capture-todo-file "To Read :media:read:")
|
||||
"* TODO %?\n%i\n")
|
||||
("mw" "To Watch" entry
|
||||
(file+headline +org-capture-todo-file "To Watch :media:watch:")
|
||||
"* TODO %?\n%i\n")
|
||||
|
||||
("r" "Rice")
|
||||
("ie" "Emacs Ideas" entry
|
||||
(file+headline +org-capture-todo-file "Emacs Ideas :emacs:rice:")
|
||||
"- %?\n%i\n")
|
||||
("ro" "Other Ideas" entry
|
||||
(file+headline +org-capture-todo-file "Window Manager :wm:rice:")
|
||||
"- %?\n%i\n")
|
||||
|
||||
("o" "Free/Open software")
|
||||
("oa" "AUR" entry
|
||||
(file+headline +org-capture-todo-file "AUR :foss:aur:")
|
||||
"* TODO %? \n%i\n")
|
||||
|
||||
)))
|
||||
|
||||
;;(add-hook 'org-mode-hook #'mixed-pitch-mode)
|
||||
(setq geiser-default-implementation 'guile)
|
||||
|
||||
(setq org-ditaa-jar-path "/usr/share/java/ditaa/ditaa-0.11.jar")
|
||||
|
||||
(setq org-hide-emphasis-markers t)
|
||||
|
||||
;(after! org (setq org-tags-column 60))
|
||||
|
||||
(setq-default elfeed-search-filter "@1-week-ago")
|
||||
|
||||
;(setq rmh-elfeed-org-files (list "~/.doom.d/elfeed.org" (concat org-roam-directory "internet/elfeed.org")))
|
||||
(setq rmh-elfeed-org-files (list (concat org-roam-directory "elfeed.org")))
|
||||
|
||||
(setf url-queue-parallel-processes 20
|
||||
url-queue-timeout 10)
|
||||
|
||||
(after! elfeed (map! :map elfeed-search-mode-map
|
||||
:n "gv" 'elfeed-view-mpv
|
||||
:n "R" 'elfeed-update
|
||||
:n "r" 'elfeed-search-untag-all-unread
|
||||
:n "u" 'elfeed-search-tag-all-unread
|
||||
:n "G" 'evil-goto-line
|
||||
:n "<f6>" 'elfeed-close-prev-buffer
|
||||
:n "b" 'elfeed-search-browse-url
|
||||
:n "c" 'elfeed-search-clear-filter
|
||||
))
|
||||
|
||||
(defun elfeed-close-prev-buffer ()
|
||||
(interactive)
|
||||
"elfeed-kill and restore prev buffer"
|
||||
(elfeed-kill-buffer)
|
||||
(previous-buffer))
|
||||
|
||||
(defun elfeed-v-mpv (url title)
|
||||
"Watch a video from URL in MPV"
|
||||
(defvar cmd (format "mpv --ytdl-format=worst '%s'" url))
|
||||
(save-window-excursion
|
||||
(async-shell-command cmd)
|
||||
(save-window-excursion
|
||||
(shell-command (format"notify-send 'Loading Video' '%s'" title)))
|
||||
(message "Video Loading")
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defun elfeed-view-mpv (&optional use-generic-p)
|
||||
"Youtube-feed link"
|
||||
(interactive "P")
|
||||
(let ((entries (elfeed-search-selected)))
|
||||
(cl-loop for entry in entries
|
||||
do (elfeed-untag entry 'unread)
|
||||
when (elfeed-entry-link entry)
|
||||
do (elfeed-v-mpv it (elfeed-entry-title entry))) ;; print title
|
||||
(mapc #'elfeed-search-update-entry entries)
|
||||
(unless (use-region-p) (forward-line))))
|
||||
|
||||
;;(add-hook 'elfeed-show-mode-hook #'mixed-pitch-mode)
|
||||
|
||||
(setq lsp-rust-target "/tmp/rust-crap")
|
||||
|
||||
|
||||
|
||||
(with-eval-after-load 'telega
|
||||
(define-key telega-msg-button-map "k" nil)
|
||||
(define-key telega-msg-button-map "l" nil))
|
||||
(setq telega-chat-bidi-display-reordering 'right-to-left)
|
||||
|
||||
(setq company-idle-delay 0.0
|
||||
company-minimum-prefix-length 1)
|
||||
|
||||
(ranger-override-dired-mode t)
|
||||
|
||||
(when EMACS28+
|
||||
(add-hook 'latex-mode-hook #'TeX-latex-mode))
|
||||
(setq haskell-process-type 'cabal-new-repl)
|
|
@ -0,0 +1,781 @@
|
|||
# -*- eval:(org-content 2) -*-
|
||||
#+TITLE: Config
|
||||
#+STARTUP: content
|
||||
|
||||
* Table of content :toc_2:FOLD:
|
||||
- [[#info][Info]]
|
||||
- [[#global-settings][Global Settings]]
|
||||
- [[#private-config][Private Config]]
|
||||
- [[#start-as-a-server][Start as a server]]
|
||||
- [[#ui][UI]]
|
||||
- [[#keybinds][KeyBinds]]
|
||||
- [[#fill-column][Fill column]]
|
||||
- [[#scroll][Scroll]]
|
||||
- [[#modes][Modes]]
|
||||
- [[#org-mode][Org-Mode]]
|
||||
- [[#roam][ROAM]]
|
||||
- [[#org-directory][Org Directory]]
|
||||
- [[#agenda][Agenda]]
|
||||
- [[#org-latex][Org-Latex]]
|
||||
- [[#capture-templates][Capture templates]]
|
||||
- [[#modes-1][Modes]]
|
||||
- [[#ui-1][UI]]
|
||||
- [[#elfeed][Elfeed]]
|
||||
- [[#setup][Setup]]
|
||||
- [[#key-maps][Key Maps]]
|
||||
- [[#utils][Utils]]
|
||||
- [[#modes-2][Modes]]
|
||||
- [[#languages][Languages]]
|
||||
- [[#rust][Rust]]
|
||||
- [[#nand2tetris][nand2tetris]]
|
||||
- [[#irc][IRC]]
|
||||
- [[#telega][Telega]]
|
||||
- [[#company-mode][Company mode]]
|
||||
- [[#ranger][Ranger]]
|
||||
- [[#fixes][Fixes]]
|
||||
|
||||
* Info
|
||||
#+begin_src emacs-lisp
|
||||
;; DOOMDIR/config.el -*- lexical-binding: t; -*-
|
||||
;; Here are some additional functions/macros that could help you configure Doom:
|
||||
;;
|
||||
;; - `load!' for loading external *.el files relative to this one
|
||||
;; - `use-package!' for configuring packages
|
||||
;; - `after!' for running code after a package has loaded
|
||||
;; - `add-load-path!' for adding directories to the `load-path', relative to
|
||||
;; this file. Emacs searches the `load-path' when you load packages with
|
||||
;; `require' or `use-package'.
|
||||
;; - `map!' for binding new keys
|
||||
;;
|
||||
;; To get information about any of these functions/macros, move the cursor over
|
||||
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
|
||||
;; This will open documentation for it, including demos of how they are used.
|
||||
;;
|
||||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||
;; they are implemented.
|
||||
;;
|
||||
#+end_src
|
||||
* Global Settings
|
||||
Place your private configuration here! Remember, you do not need to run 'doom
|
||||
sync' after modifying this file!
|
||||
** Private Config
|
||||
Some functionality uses this to identify you, e.g. GPG configuration, email
|
||||
clients, file templates and snippets.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
|
||||
(setq user-full-name "Serben"
|
||||
user-mail-address "serben@disroot.org")
|
||||
#+end_src
|
||||
** Start as a server
|
||||
#+begin_src emacs-lisp
|
||||
;;(server-start)
|
||||
#+end_src
|
||||
** UI
|
||||
|
||||
Doom exposes five (optional) variables for controlling fonts in Doom. Here
|
||||
are the three important ones:
|
||||
|
||||
+ src_lisp{doom-font'}
|
||||
+ src_lisp{doom-variable-pitch-font'}
|
||||
+ src_lisp{doom-big-font'} -- used for `doom-big-font-mode'; use this for
|
||||
presentations or streaming.
|
||||
|
||||
They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
|
||||
font string. You generally only need these two:
|
||||
*** Theme
|
||||
There are two ways to load a theme. Both assume the theme is installed and
|
||||
available. You can either set src_elisp{`doom-theme'} or manually load a theme
|
||||
with the src_elisp{`load-theme'} function. This is the default src_elisp{(setq
|
||||
doom-theme 'doom-one)}
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq leuven-scale-org-agenda-structure nil)
|
||||
(setq leuven-scale-outline-headlines nil)
|
||||
(setq doom-theme 'doom-gruvbox)
|
||||
#+end_src
|
||||
*** Font
|
||||
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq doom-font (font-spec :family "FiraCode" :size 9.0 :weight 'regular)
|
||||
doom-variable-pitch-font (font-spec :family "sans" :size 9.0))
|
||||
(after! doom-themes
|
||||
(set-fontset-font t 'arabic "Noto Sans Arabic UI")
|
||||
(setq doom-themes-enable-bold t
|
||||
doom-themes-enable-italic t
|
||||
))
|
||||
(custom-set-faces!
|
||||
'(font-lock-comment-face :slant italic)
|
||||
'(font-lock-keyword-face :slant italic)
|
||||
)
|
||||
;;(setq doom-font (font-spec :family "Open Sans" :size 12 :weight 'regular)
|
||||
;;doom-variable-pitch-font (font-spec :family "sans" :size 12))
|
||||
#+end_src
|
||||
*** Line Numbers
|
||||
#+begin_src elisp
|
||||
(setq display-line-numbers-type 't)
|
||||
#+end_src
|
||||
*** Neotree
|
||||
Use Icons
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq neo-theme (if (display-graphic-p) 'icons 'arrow))
|
||||
#+end_src
|
||||
** KeyBinds
|
||||
*** Function row <F-{1-12}>
|
||||
#+begin_src elisp :tangle yes
|
||||
(map!
|
||||
:n "<f5>" 'rustic-cargo-test
|
||||
:n "C-<f5>" 'compile-on-save-mode
|
||||
:n "<f6>" 'elfeed
|
||||
;; :n "<f7>" email TODO: Add email
|
||||
:n "<f8>" (cmd! (org-agenda nil "c"))
|
||||
:n "<f12>" 'delve-open-or-select
|
||||
)
|
||||
#+end_src
|
||||
*** alt Leader key
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq doom-leader-alt-key "C-SPC")
|
||||
(setq doom-localleader-alt-key "C-SPC m")
|
||||
#+end_src
|
||||
*** Text Manipulation
|
||||
**** C-h as backspace
|
||||
#+begin_src elisp :tangle yes
|
||||
(map! "C-h" 'backward-delete-char-untabify)
|
||||
#+end_src
|
||||
**** ediff init and example
|
||||
#+begin_src elisp :tangle yes
|
||||
(defun doom/ediff-init-and-example ()
|
||||
"ediff the current `init.el' with the example in doom-emacs-dir"
|
||||
(interactive)
|
||||
(ediff-files (concat doom-private-dir "init.el")
|
||||
(concat doom-emacs-dir "init.example.el")))
|
||||
|
||||
(define-key! help-map
|
||||
"di" #'doom/ediff-init-and-example
|
||||
)
|
||||
#+end_src
|
||||
** Fill column
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq-default fill-column 80)
|
||||
#+end_src
|
||||
** Scroll
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq scroll-conservatively 10)
|
||||
(setq scroll-margin 3)
|
||||
#+end_src
|
||||
* Modes
|
||||
Global Mixed Pitch mode!
|
||||
#+begin_src elisp :tangle yes
|
||||
;;(add-hook 'text-mode-hook 'mixed-pitch-mode)
|
||||
(add-hook 'text-mode-hook 'blink-cursor-mode)
|
||||
#+end_src
|
||||
|
||||
* Org-Mode
|
||||
** ROAM
|
||||
*** Setup
|
||||
#+begin_src elisp :tangle yes
|
||||
(use-package org-roam-server
|
||||
:after org-roam
|
||||
:config
|
||||
(setq org-roam-server-host "127.0.0.1"
|
||||
org-roam-server-port 8888
|
||||
org-roam-server-authenticate nil
|
||||
org-roam-server-export-inline-images t
|
||||
org-roam-server-serve-files nil
|
||||
org-roam-server-served-file-extensions '("pdf" "mp4" "ogv")
|
||||
org-roam-server-network-poll t
|
||||
org-roam-server-network-arrows nil
|
||||
org-roam-server-network-label-truncate t
|
||||
org-roam-server-network-label-truncate-length 60
|
||||
org-roam-server-network-label-wrap-length 20)
|
||||
|
||||
(defun org-roam-server-open ()
|
||||
"Ensure the server is active, then open the roam graph."
|
||||
(interactive)
|
||||
(unless (server-running-p)
|
||||
(org-roam-server-mode 1))
|
||||
(browse-url-xdg-open (format "http://localhost:%d" org-roam-server-port))))
|
||||
#+end_src
|
||||
*** Set Directory
|
||||
#+begin_src elisp :tangle yes
|
||||
;; Moved to Org Directory
|
||||
#+end_src
|
||||
*** Deft
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq deft-directory "~/org/roam")
|
||||
(setq deft-extensions '("md" "tex" "org"))
|
||||
(setq deft-recursive t)
|
||||
(setq deft-strip-title-regexp "\\(?:^%+\\|^#\\+TITLE: *\\|^[#* ]+\\|-\\*-[[:alpha:]]+-\\*-\\|^Title:[ ]*\\|#+$\\)")
|
||||
#+end_src
|
||||
*** Dailies Template
|
||||
me is Smurt
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq org-roam-dailies-capture-templates
|
||||
(let ((head "\
|
||||
:PROPERTIES:
|
||||
:ID: %<%Y%m%d>-daily
|
||||
:TITLE: %<%Y-%m-%d (%A)>
|
||||
:STARTUP: showall
|
||||
:ROAM_TAGS: dailies
|
||||
:END:\
|
||||
\n#+STARTUP: showall\
|
||||
\* MetaData\
|
||||
\n- type: [[id:8bedd21f][Dailies]]\
|
||||
\n* Journal :journal: \
|
||||
\n Feelings throught the day\
|
||||
\n* Gratitude \n1. Past\n2. Present\n3. Future\
|
||||
\n* Goals for today [/][%]\
|
||||
\n- [ ] \
|
||||
\n* The Good and Bad \
|
||||
\n** YES \
|
||||
\n** NO \
|
||||
"))
|
||||
`(("j" "journal" entry
|
||||
#'org-roam-capture--get-point
|
||||
"* %<%H:%M> %?"
|
||||
:file-name "daily/%<%Y-%m-%d>"
|
||||
:head ,head
|
||||
:olp ("Journal"))
|
||||
("t" "do today" item
|
||||
#'org-roam-capture--get-point
|
||||
"[ ] %(princ as/agenda-captured-link)"
|
||||
:file-name "daily/%<%Y-%m-%d>"
|
||||
:head ,head
|
||||
:olp ("Do Today")
|
||||
:immediate-finish t)
|
||||
("m" "maybe do today" item
|
||||
#'org-roam-capture--get-point
|
||||
"[ ] %(princ as/agenda-captured-link)"
|
||||
:file-name "daily/%<%Y-%m-%d>"
|
||||
:head ,head
|
||||
:olp ("Maybe Do Today")
|
||||
:immediate-finish t))))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| j | journal | entry | #'org-roam-capture--get-point | * %<%H:%M> %? | :file-name | daily/%<%Y-%m-%d> | :head | :PROPERTIES: |
|
||||
|
||||
*** Templates
|
||||
#+INCLUDE: "~/org/roam/templates.org"
|
||||
*** delve
|
||||
#+begin_src elisp :tangle yes
|
||||
;(add-hook 'org-mode-hook #'delve-minor-mode-maybe-activate)
|
||||
(setq delve-use-icons-in-completions t)
|
||||
(set-evil-initial-state! 'delve-mode 'insert)
|
||||
(map! :map delve-mode-map
|
||||
:n "gr" #'delve-refresh-buffer
|
||||
:n "<right>" #'delve-expand-insert-tolinks
|
||||
:n "<left>" #'devle-expand-insert-backlinks
|
||||
:n "TAB" #'delve-expand-toggle-sublist)
|
||||
"RET" #'lister-key-action
|
||||
:localleader
|
||||
"RET" #'lister-key-action
|
||||
"TAB" #'delve-expand-toggle-sublist
|
||||
#+end_src
|
||||
*** fixes
|
||||
smartparens breaks file viewer! [[https://github.com/org-roam/org-roam-server/issues/115][org-roam/org-roam-server#115 Calling "org-roam-server-mode" throws "Wrong typ...]]
|
||||
#+begin_src elisp :tangle yes
|
||||
(defun org-roam-server-open ()
|
||||
"Ensure the server is active, then open the roam graph."
|
||||
(interactive)
|
||||
(smartparens-global-mode -1)
|
||||
(org-roam-server-mode 1)
|
||||
(browse-url-xdg-open (format "http://localhost:%d" org-roam-server-port))
|
||||
(smartparens-global-mode 1))
|
||||
;; automatically enable server-mode
|
||||
;; (after! org-roam
|
||||
;; (smartparens-global-mode -1)
|
||||
;; (org-roam-server-mode)
|
||||
;; (smartparens-global-mode 1))
|
||||
#+end_src
|
||||
for v2,
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq org-roam-prefer-id-links t)
|
||||
#+end_src
|
||||
** Org Directory
|
||||
If you use `org' and don't want your org files in the default location below,
|
||||
change `org-directory'. It must be set before org loads!, end it with a slash "/"
|
||||
#+begin_src elisp
|
||||
(setq org-directory "~/org/org/")
|
||||
(setq org-college-file(concat org-directory "college.org"))
|
||||
;; roam
|
||||
(setq org-roam-directory "~/org/roam/")
|
||||
(setq org-roam-dailies-directory "daily/")
|
||||
(setq org-roam-intersting-file (concat org-roam-directory "internet/intersting.org"))
|
||||
(setq org-roam-goals-file (concat org-roam-directory "goals.org"))
|
||||
#+end_src
|
||||
|
||||
** Agenda
|
||||
*** custom commands [Inactive]
|
||||
#+begin_src elisp :tangle no
|
||||
(setq org-agenda-custom-commands
|
||||
'(("d" "Today"
|
||||
((tags-todo "SCHEDULED<\"<+1d>\"&PRIORITY=\"A\""
|
||||
((org-agenda-skip-function
|
||||
'(org-agenda-skip-entry-if 'todo 'done))
|
||||
(org-agenda-overriding-header "High-priority unfinished tasks:")))
|
||||
(agenda "" ((org-agenda-span 1)
|
||||
(org-scheduled-delay-days -14)
|
||||
(org-agenda-overriding-header "Schedule")))
|
||||
(tags-todo "SCHEDULED<\"<+1d>\""
|
||||
((org-agenda-skip-function
|
||||
'(or (org-agenda-skip-entry-if 'done)))
|
||||
(org-agenda-overriding-header "Tasks:")))))))
|
||||
#+end_src
|
||||
*** Org super agenda mode
|
||||
[[https://github.com/alphapapa/org-super-agenda][Documentation]]
|
||||
This is the raw example
|
||||
#+begin_src elisp :tangle yes
|
||||
(use-package! org-super-agenda
|
||||
:after org-agenda
|
||||
;;:custom-face
|
||||
;;(org-super-agenda-header ((default (:inherit propositum-agenda-heading))))
|
||||
|
||||
:init
|
||||
(setq
|
||||
org-agenda-skip-scheduled-if-done t
|
||||
org-agenda-skip-deadline-if-done t
|
||||
org-agenda-include-deadlines t
|
||||
org-agenda-block-separator nil
|
||||
org-agenda-compact-blocks t
|
||||
org-agenda-start-day nil ;; i.e. today
|
||||
org-agenda-span 1
|
||||
org-agenda-start-on-weekday nil
|
||||
)
|
||||
|
||||
(setq org-agenda-custom-commands
|
||||
'(("c" "Super view"
|
||||
(
|
||||
(agenda "" ((org-agenda-overriding-header "")
|
||||
(org-super-agenda-groups
|
||||
'((:name "Today"
|
||||
:time-grid t
|
||||
:date today
|
||||
:order 1)
|
||||
(:discard (:anything t))
|
||||
))))
|
||||
(alltodo "" ((org-agenda-overriding-header "")
|
||||
(org-super-agenda-groups
|
||||
'(;;(:log t)
|
||||
(:name "Important"
|
||||
:priority "A"
|
||||
:order 1
|
||||
)
|
||||
;; College
|
||||
(:name "Events"
|
||||
:tag "event"
|
||||
:order 2
|
||||
)
|
||||
(:name "College"
|
||||
:tag "college"
|
||||
:order 3
|
||||
)
|
||||
;; (:name "Next"
|
||||
;; :todo "STRT"
|
||||
;; :order 2)
|
||||
;; ====schedules====== ;;
|
||||
;; (:name "habits"
|
||||
;; :and (:habit t :scheduled today )
|
||||
;; :order 13
|
||||
;; )
|
||||
(:name "Scheduled Soon"
|
||||
:and (:scheduled future :not (:habit t))
|
||||
:order 6)
|
||||
(:name "Due Soon"
|
||||
:deadline future
|
||||
:order 6)
|
||||
(:name "Missed"
|
||||
:scheduled past
|
||||
:deadline past
|
||||
:order 7)
|
||||
;;==============================;;
|
||||
(:name "FOSS"
|
||||
:tag "foss"
|
||||
:order 9
|
||||
)
|
||||
(:name "Media to Consoom"
|
||||
:tag "media"
|
||||
:order 14
|
||||
)
|
||||
(:name "code"
|
||||
:tag "code"
|
||||
:order 15
|
||||
)
|
||||
(:name "Linux"
|
||||
:tag "rice"
|
||||
:order 16
|
||||
)
|
||||
|
||||
(:discard (:habit t))
|
||||
))))))))
|
||||
:config
|
||||
(org-super-agenda-mode))
|
||||
#+end_src
|
||||
*** UI
|
||||
#+begin_src elisp :tangle yes
|
||||
(add-hook 'org-agenda-mode-hook 'elegant-agenda-mode)
|
||||
#+end_src
|
||||
*** fixes
|
||||
#+begin_src elisp :tangle yes
|
||||
(with-eval-after-load 'org-agenda
|
||||
(define-key org-super-agenda-header-map "j" nil)
|
||||
(define-key org-super-agenda-header-map "k" nil))
|
||||
#+end_src
|
||||
save before quiting!
|
||||
#+begin_src elisp
|
||||
(advice-add 'org-agenda-quit :before 'org-save-all-org-buffers)
|
||||
#+end_src
|
||||
** Org-Latex
|
||||
*** Latex Image Preview options
|
||||
#+begin_src elisp :tangle no
|
||||
'(org-format-latex-options
|
||||
(quote
|
||||
(:foreground default :background default :scale 0.5 :html-foreground "Black" :html-background "Transparent" :html-scale 1.0 :matchers
|
||||
("begin" "$1" "$" "$$" "\\(" "\\["))))
|
||||
(set-default 'preview-scale-function 0.2)
|
||||
#+end_src
|
||||
Imagemagick since dvipng can't handle tikz \LaTeX
|
||||
#+begin_src elisp :tangle no
|
||||
(setq org-latex-create-formula-image-program 'imagemagick)
|
||||
#+end_src
|
||||
*** Update Latex Fragments with font change
|
||||
#+begin_src elisp :tangle yes
|
||||
(add-hook 'org-mode-hook 'turn-on-auto-fill)
|
||||
(defun update-org-latex-fragments ()
|
||||
(org-latex-preview '(64))
|
||||
(plist-put org-format-latex-options :scale text-scale-mode-amount)
|
||||
(org-latex-preview '(16)))
|
||||
(add-hook 'text-scale-mode-hook 'update-org-latex-fragments)
|
||||
#+end_src
|
||||
*** Tikz Preview
|
||||
#+begin_src elisp :tangle yes
|
||||
(eval-after-load "preview"
|
||||
'(add-to-list 'preview-default-preamble "\\PreviewEnvironment{tikzpicture}" t))
|
||||
#+end_src
|
||||
*** nice to be able to use cdlatex.
|
||||
#+begin_src elisp :tangle yes
|
||||
(after! org (add-hook 'org-mode-hook 'turn-on-org-cdlatex))
|
||||
#+end_src
|
||||
*** Now, by default, LSPs don’t really function at all in src blocks.
|
||||
#+begin_src elisp :tangle yes
|
||||
(cl-defmacro lsp-org-babel-enable (lang)
|
||||
"Support LANG in org source code block."
|
||||
(setq centaur-lsp 'lsp-mode)
|
||||
(cl-check-type lang stringp)
|
||||
(let* ((edit-pre (intern (format "org-babel-edit-prep:%s" lang)))
|
||||
(intern-pre (intern (format "lsp--%s" (symbol-name edit-pre)))))
|
||||
`(progn
|
||||
(defun ,intern-pre (info)
|
||||
(let ((file-name (->> info caddr (alist-get :file))))
|
||||
(unless file-name
|
||||
(setq file-name (make-temp-file "babel-lsp-")))
|
||||
(setq buffer-file-name file-name)
|
||||
(lsp-deferred)))
|
||||
(put ',intern-pre 'function-documentation
|
||||
(format "Enable lsp-mode in the buffer of org source block (%s)."
|
||||
(upcase ,lang)))
|
||||
(if (fboundp ',edit-pre)
|
||||
(advice-add ',edit-pre :after ',intern-pre)
|
||||
(progn
|
||||
(defun ,edit-pre (info)
|
||||
(,intern-pre info))
|
||||
(put ',edit-pre 'function-documentation
|
||||
(format "Prepare local buffer environment for org source block (%s)."
|
||||
(upcase ,lang))))))))
|
||||
(defvar org-babel-lang-list
|
||||
'("go" "python" "ipython" "bash" "sh"))
|
||||
(dolist (lang org-babel-lang-list)
|
||||
(eval `(lsp-org-babel-enable ,lang)))
|
||||
#+end_src
|
||||
** Capture templates
|
||||
#+begin_src elisp :tangle yes
|
||||
(after! org
|
||||
(setq org-capture-templates
|
||||
'(
|
||||
|
||||
("t" "General Todo")
|
||||
("tt" "General" entry
|
||||
(file+headline +org-capture-todo-file "Inbox")
|
||||
"* TODO %?\n%i")
|
||||
("tT" "Today" entry
|
||||
(file+headline +org-capture-todo-file "Inbox")
|
||||
"* TODO %?\n%iSCHEDULED: %T\n")
|
||||
|
||||
;; College
|
||||
("c" "College")
|
||||
("ch" "Homework" entry
|
||||
(file+headline org-college-file "Homework :college:hw:")
|
||||
"* TODO %?\n%i:PROPERTIES:\n:Created: %U\n:END:")
|
||||
("cq" "Quiz/Exam/Test" entry
|
||||
(file+headline org-college-file "Quiz :college:exam:")
|
||||
"* TODO %?\n%i:PROPERTIES:\n:Created: %U\n:END:")
|
||||
("ce" "Event" entry
|
||||
(file+headline org-college-file "Event :college:event:")
|
||||
"* TODO %?\n%i:PROPERTIES:\n:Created: %U\n:END:")
|
||||
("ct" "Todo" entry
|
||||
(file+headline org-college-file "College Todo :college:")
|
||||
"* TODO %?\n%i:PROPERTIES:\n:Created: %U\n:END:")
|
||||
|
||||
("i" "Interesting")
|
||||
("iw" "Interesting Website" entry
|
||||
(file+headline org-roam-intersting-file "Website")
|
||||
"* %?\n%i\n")
|
||||
("it" "Interesting tweet" entry
|
||||
(file+headline org-roam-intersting-file "Tweet")
|
||||
"- %?\n%i\n")
|
||||
("ii" "Information" entry
|
||||
(file+headline org-roam-intersting-file "Information")
|
||||
"** PROJ %?\n%i\n")
|
||||
("iq" "Quote" entry
|
||||
(file+headline org-roam-intersting-file "Quotes")
|
||||
"** %?\n%i\n")
|
||||
("ip" "Project Idea" entry
|
||||
(file+headline org-roam-goals-file "Project Ideas")
|
||||
"** PROJ %?\n%i\n")
|
||||
("ib" "Blog Ideas" entry
|
||||
(file+headline org-roam-goals-file "Blog Ideas")
|
||||
"- %?\n%i\n")
|
||||
|
||||
;; Media
|
||||
("m" "Media")
|
||||
("mr" "To Read" entry
|
||||
(file+headline +org-capture-todo-file "To Read :media:read:")
|
||||
"* TODO %?\n%i\n")
|
||||
("mw" "To Watch" entry
|
||||
(file+headline +org-capture-todo-file "To Watch :media:watch:")
|
||||
"* TODO %?\n%i\n")
|
||||
|
||||
("r" "Rice")
|
||||
("ie" "Emacs Ideas" entry
|
||||
(file+headline +org-capture-todo-file "Emacs Ideas :emacs:rice:")
|
||||
"- %?\n%i\n")
|
||||
("ro" "Other Ideas" entry
|
||||
(file+headline +org-capture-todo-file "Window Manager :wm:rice:")
|
||||
"- %?\n%i\n")
|
||||
|
||||
("o" "Free/Open software")
|
||||
("oa" "AUR" entry
|
||||
(file+headline +org-capture-todo-file "AUR :foss:aur:")
|
||||
"* TODO %? \n%i\n")
|
||||
|
||||
)))
|
||||
#+end_src
|
||||
** Modes
|
||||
#+begin_src elisp :tangle yes
|
||||
;;(add-hook 'org-mode-hook #'mixed-pitch-mode)
|
||||
(setq geiser-default-implementation 'guile)
|
||||
#+end_src
|
||||
*** ditaa
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq org-ditaa-jar-path "/usr/share/java/ditaa/ditaa-0.11.jar")
|
||||
#+end_src
|
||||
*** Mixed pitch mode
|
||||
#+begin_src emacs-lisp :tangle yes
|
||||
(add-hook 'markdown-mode-hook 'mixed-pitch-mode)
|
||||
(add-hook 'org-mode-hook 'mixed-pitch-mode)
|
||||
#+end_src
|
||||
** UI
|
||||
*** hide the emphasis markup (e.g. /.../ for italics, *...* for bold, etc.):
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq org-hide-emphasis-markers t)
|
||||
#+end_src
|
||||
*** Fonts
|
||||
#+begin_src elisp :tangle no
|
||||
(let* ((variable-tuple
|
||||
(cond ((x-list-fonts "Source Sans Pro") '(:font "Source Sans Pro"))
|
||||
((x-list-fonts "Lucida Grande") '(:font "Lucida Grande"))
|
||||
((x-list-fonts "Verdana") '(:font "Verdana"))
|
||||
((x-family-fonts "Sans Serif") '(:family "Sans Serif"))
|
||||
(nil (warn "Cannot find a Sans Serif Font. Install Source Sans Pro."))))
|
||||
(base-font-color (face-foreground 'default nil 'default))
|
||||
(headline `(:inherit default :weight bold :foreground ,base-font-color)))
|
||||
|
||||
(custom-theme-set-faces
|
||||
'user
|
||||
`(org-level-8 ((t (,@headline ,@variable-tuple))))
|
||||
`(org-level-7 ((t (,@headline ,@variable-tuple))))
|
||||
`(org-level-6 ((t (,@headline ,@variable-tuple))))
|
||||
`(org-level-5 ((t (,@headline ,@variable-tuple))))
|
||||
`(org-level-4 ((t (,@headline ,@variable-tuple :height 1.1))))
|
||||
`(org-level-3 ((t (,@headline ,@variable-tuple :height 1.25))))
|
||||
`(org-level-2 ((t (,@headline ,@variable-tuple :height 1.5))))
|
||||
`(org-level-1 ((t (,@headline ,@variable-tuple :height 1.75))))
|
||||
`(org-document-title ((t (,@headline ,@variable-tuple :height 2.0 :underline nil))))))
|
||||
#+end_src
|
||||
*** Image preview from urls
|
||||
#+begin_src elisp :tangle no
|
||||
(defun org-image-link (protocol link _description)
|
||||
"Interpret LINK as base64-encoded image data."
|
||||
(cl-assert (string-match "\\`img" protocol) nil
|
||||
"Expected protocol type starting with img")
|
||||
(let ((buf (url-retrieve-synchronously (concat (substring protocol 3) ":" link))))
|
||||
(cl-assert buf nil
|
||||
"Download of image \"%s\" failed." link)
|
||||
(with-current-buffer buf
|
||||
(goto-char (point-min))
|
||||
(re-search-forward "\r?\n\r?\n")
|
||||
(buffer-substring-no-properties (point) (point-max)))))
|
||||
|
||||
(org-link-set-parameters
|
||||
"imghttp"
|
||||
:image-data-fun #'org-image-link)
|
||||
|
||||
(org-link-set-parameters
|
||||
"imghttps"
|
||||
:image-data-fun #'org-image-link)
|
||||
#+end_src
|
||||
*** align tags
|
||||
aligning tags misses up with capture templates
|
||||
#+begin_src elisp :tangle yes
|
||||
;(after! org (setq org-tags-column 60))
|
||||
#+end_src
|
||||
|
||||
* Elfeed
|
||||
** Setup
|
||||
*** Use Filter:
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq-default elfeed-search-filter "@1-week-ago")
|
||||
#+end_src
|
||||
|
||||
*** Source of Feeds
|
||||
Takes feeds from Org-File
|
||||
#+begin_src elisp :tangle yes
|
||||
;(setq rmh-elfeed-org-files (list "~/.doom.d/elfeed.org" (concat org-roam-directory "internet/elfeed.org")))
|
||||
(setq rmh-elfeed-org-files (list (concat org-roam-directory "elfeed.org")))
|
||||
#+end_src
|
||||
|
||||
*** Refresh Feed
|
||||
Set up the url-queue variables for swift and complete operation. The
|
||||
defaults are too bad. Especially /url-queue-timeout/ is way too short
|
||||
for loading feeds.
|
||||
#+begin_src elisp :tangle yes
|
||||
(setf url-queue-parallel-processes 20
|
||||
url-queue-timeout 10)
|
||||
#+end_src
|
||||
** Key Maps
|
||||
| KeyBinds | Usage |
|
||||
|----------+----------------|
|
||||
| gv | Open With mpv |
|
||||
| R | Update Feed |
|
||||
| r | Mark As Read |
|
||||
| u | Mark As Unread |
|
||||
| <f6> | Close |
|
||||
| b | browse url |
|
||||
| c | clear filter |
|
||||
| s | search live |
|
||||
| S | set search |
|
||||
|
||||
Search examples: `@1-week-ago +videos -linux` (+/- are used to filter tags)
|
||||
|
||||
#+begin_src elisp :tangle yes
|
||||
(after! elfeed (map! :map elfeed-search-mode-map
|
||||
:n "gv" 'elfeed-view-mpv
|
||||
:n "R" 'elfeed-update
|
||||
:n "r" 'elfeed-search-untag-all-unread
|
||||
:n "u" 'elfeed-search-tag-all-unread
|
||||
:n "G" 'evil-goto-line
|
||||
:n "<f6>" 'elfeed-close-prev-buffer
|
||||
:n "b" 'elfeed-search-browse-url
|
||||
:n "c" 'elfeed-search-clear-filter
|
||||
))
|
||||
#+end_src
|
||||
|
||||
** Utils
|
||||
*** elfeed-close-prev-buffer
|
||||
Closing elfeed forwards to prev buffer
|
||||
#+begin_src elisp :tangle yes
|
||||
(defun elfeed-close-prev-buffer ()
|
||||
(interactive)
|
||||
"elfeed-kill and restore prev buffer"
|
||||
(elfeed-kill-buffer)
|
||||
(previous-buffer))
|
||||
#+end_src
|
||||
|
||||
*** elfeed-view-mpv
|
||||
(add-hook 'LaTeX-mode-hook (lambda () (yas-minor-mode -1)))
|
||||
(add-hook 'LaTeX-mode-hook #'auto-fill-mode)
|
||||
Run video in mpv
|
||||
#+begin_src elisp :tangle yes
|
||||
|
||||
(defun elfeed-v-mpv (url title)
|
||||
"Watch a video from URL in MPV"
|
||||
(defvar cmd (format "mpv --ytdl-format=worst '%s'" url))
|
||||
(save-window-excursion
|
||||
(async-shell-command cmd)
|
||||
(save-window-excursion
|
||||
(shell-command (format"notify-send 'Loading Video' '%s'" title)))
|
||||
(message "Video Loading")
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defun elfeed-view-mpv (&optional use-generic-p)
|
||||
"Youtube-feed link"
|
||||
(interactive "P")
|
||||
(let ((entries (elfeed-search-selected)))
|
||||
(cl-loop for entry in entries
|
||||
do (elfeed-untag entry 'unread)
|
||||
when (elfeed-entry-link entry)
|
||||
do (elfeed-v-mpv it (elfeed-entry-title entry))) ;; print title
|
||||
(mapc #'elfeed-search-update-entry entries)
|
||||
(unless (use-region-p) (forward-line))))
|
||||
#+end_src
|
||||
** Modes
|
||||
#+begin_src elisp :tangle yes
|
||||
;;(add-hook 'elfeed-show-mode-hook #'mixed-pitch-mode)
|
||||
#+end_src
|
||||
* Languages
|
||||
** Rust
|
||||
Fix "waiting blocking file"
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq lsp-rust-target "/tmp/rust-crap")
|
||||
#+end_src
|
||||
** nand2tetris
|
||||
#+begin_src elisp :tangle yes
|
||||
#+end_src
|
||||
* IRC
|
||||
Include The Irc stuff
|
||||
##+INCLUDE: "~/Documents/org-roam/internet/irc.org"
|
||||
|
||||
#+begin_src elisp :tangle no
|
||||
|
||||
(after! circe
|
||||
(set-irc-server! "example.com"
|
||||
`(:tls t
|
||||
:port 6697
|
||||
:nick "username"
|
||||
:sasl-username ,(+pass-get-user "irc/example.com")
|
||||
:sasl-password (lambda (&rest _) (+pass-get-secret "irc/example.com"))
|
||||
:channels ("#lainchan" "#questions")))
|
||||
(set-irc-server! "chat.freenode.net"
|
||||
`(:tls t
|
||||
:port 6697
|
||||
:nick "username"
|
||||
:sasl-username ,(+pass-get-user "irc/example.net")
|
||||
:sasl-password (lambda (&rest _) (+pass-get-secret "irc/example.net"))
|
||||
:channels ("#emacs")))
|
||||
#+end_src
|
||||
* Telega
|
||||
k conflicts with evil up
|
||||
#+begin_src elisp :tangle yes
|
||||
(with-eval-after-load 'telega
|
||||
(define-key telega-msg-button-map "k" nil)
|
||||
(define-key telega-msg-button-map "l" nil))
|
||||
(setq telega-chat-bidi-display-reordering 'right-to-left)
|
||||
#+end_src
|
||||
* Company mode
|
||||
#+begin_src elisp :tangle yes
|
||||
(setq company-idle-delay 0.0
|
||||
company-minimum-prefix-length 1)
|
||||
#+end_src
|
||||
* Ranger
|
||||
replace dired
|
||||
#+begin_src elisp :tangle yes
|
||||
(ranger-override-dired-mode t)
|
||||
#+end_src
|
||||
* Fixes
|
||||
In case of Emacs28,
|
||||
#+begin_src elisp :tangle yes
|
||||
(when EMACS28+
|
||||
(add-hook 'latex-mode-hook #'TeX-latex-mode))
|
||||
(setq haskell-process-type 'cabal-new-repl)
|
||||
#+end_src
|
|
@ -0,0 +1,6 @@
|
|||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
)
|
|
@ -0,0 +1,213 @@
|
|||
;;; init.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; This file controls what Doom modules are enabled and what order they load
|
||||
;; in. Remember to run 'doom sync' after modifying it!
|
||||
|
||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||
;; documentation. There you'll find a "Module Index" link where you'll find
|
||||
;; a comprehensive list of Doom's modules and what flags they support.
|
||||
|
||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||
;; flags as well (those symbols that start with a plus).
|
||||
;;
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
|
||||
(doom! :input
|
||||
;;chinese
|
||||
;; japanese
|
||||
;;layout ; auie,ctsrnm is the superior home row
|
||||
|
||||
:completion
|
||||
(company +childframe) ; the ultimate code completion backend
|
||||
;;helm ; the *other* search engine for love and life
|
||||
;;ido ; the other *other* search engine...
|
||||
ivy ; a search engine for love and life
|
||||
|
||||
:ui
|
||||
deft ; notational velocity for Emacs
|
||||
doom ; what makes DOOM look the way it does
|
||||
doom-dashboard ; a nifty splash screen for Emacs
|
||||
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||
;; (emoji +github +unicode)
|
||||
; 🙂
|
||||
;;fill-column ; a `fill-column' indicator
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
;;hydra
|
||||
;;indent-guides ; highlighted indent columns
|
||||
;; (ligatures
|
||||
;; +fira
|
||||
;; +extra)
|
||||
; ligatures and symbols to make your code pretty again
|
||||
;;minimap ; show a map of the code on the side
|
||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||
;;nav-flash ; blink cursor line after big motions
|
||||
neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||
;;tabs ; a tab bar for Emacs
|
||||
treemacs ; a project drawer, like neotree but cooler
|
||||
;;unicode ; extended unicode support for various languages
|
||||
vc-gutter ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
;;window-select ; visually switch windows
|
||||
workspaces ; tab emulation, persistence & separate workspaces
|
||||
;;zen ; distraction-free coding or writing
|
||||
|
||||
:editor
|
||||
(evil +everywhere) ; come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
(format +onsave) ; automated prettiness
|
||||
;;god ; run Emacs commands without modifier keys
|
||||
lispy ; vim for lisp, for people who don't like vim
|
||||
;;multiple-cursors ; editing in many places at once
|
||||
;;objed ; text object editing for the innocent
|
||||
;;parinfer ; turn lisp into python, sort of
|
||||
;;rotate-text ; cycle region at point between text candidates
|
||||
snippets ; my elves. They type so I don't have to
|
||||
;;word-wrap ; soft wrapping with language-aware indent
|
||||
|
||||
:emacs
|
||||
dired ; making dired pretty [functional]
|
||||
electric ; smarter, keyword-based electric-indent
|
||||
;;ibuffer ; interactive buffer management
|
||||
(undo +tree) ; persistent, smarter undo for your inevitable mistakes
|
||||
vc ; version-control and Emacs, sitting in a tree
|
||||
|
||||
:term
|
||||
;;eshell ; the elisp shell that works everywhere
|
||||
;;shell ; simple shell REPL for Emacs
|
||||
;;term ; basic terminal emulator for Emacs
|
||||
vterm ; the best terminal emulation in Emacs
|
||||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
;;spell ; tasing you for misspelling mispelling
|
||||
;;grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
;;ansible
|
||||
;;debugger ; FIXME stepping through code, to help you add bug
|
||||
;; direnv
|
||||
;;docker
|
||||
editorconfig ; let someone else argue about tabs vs spaces
|
||||
;;ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
;;gist ; interacting with github gists
|
||||
lookup ; navigate your code and its documentation
|
||||
(lsp +peek)
|
||||
;;macos ; MacOS-specific commands
|
||||
magit ; a git porcelain for Emacs
|
||||
make ; run make tasks from Emacs
|
||||
pass ; password manager for nerds
|
||||
pdf ; pdf enhancements
|
||||
;;prodigy ; FIXME managing external services & code builders
|
||||
rgb ; creating color strings
|
||||
;;taskrunner ; taskrunner for all your projects
|
||||
;;terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
(:if IS-MAC macos) ; improve compatibility with macOS
|
||||
;;tty ; improve the terminal Emacs experience
|
||||
|
||||
:lang
|
||||
;;agda ; types of types of types of types...
|
||||
;;(cc +lsp) ; C/C++/Obj-C madness
|
||||
;;clojure ; java with a lisp
|
||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
;;csharp ; unity, .NET, and mono shenanigans
|
||||
data ; config/data formats
|
||||
;;(dart +flutter) ; paint ui and not much else
|
||||
;;elixir ; erlang done right
|
||||
;;elm ; care for a cup of TEA?
|
||||
emacs-lisp ; drown in parentheses
|
||||
;;erlang ; an elegant language for a more civilized age
|
||||
;;ess ; emacs speaks statistics
|
||||
;;faust ; dsp, but you get to keep your soul
|
||||
;;fsharp ; ML stands for Microsoft's Language
|
||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||
;; (gdscript
|
||||
;; +lsp)
|
||||
; the language you waited for
|
||||
(go +lsp) ; the hipster dialect
|
||||
(haskell
|
||||
+dante
|
||||
+ghcide
|
||||
+lsp
|
||||
) ; a language that's lazier than I am
|
||||
;;hy ; readability of scheme w/ speed of python
|
||||
;;idris ;
|
||||
json ; At least it ain't XML
|
||||
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
|
||||
(javascript +lsp)
|
||||
; all(hope(abandon(ye(who(enter(here))))))
|
||||
;;julia ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
(latex
|
||||
+fold
|
||||
+lsp
|
||||
+latexmk
|
||||
+cdlatex) ; writing papers in Emacs has never been so fun
|
||||
;;lean
|
||||
;;factor
|
||||
;;ledger ; an accounting system in Emacs
|
||||
;;lua ; one-based indices? one-based indices
|
||||
markdown ; writing docs for people to ignore
|
||||
;;nim ; python + lisp at the speed of c
|
||||
;;nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
(org
|
||||
+roam)
|
||||
;;+pretty
|
||||
; organize your plain life in plain text
|
||||
;;php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
;;python ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
;;racket ; a DSL for DSLs
|
||||
;;raku ; the artist formerly known as perl6
|
||||
;; (rest
|
||||
;; +company-restclient)
|
||||
; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
(rust
|
||||
+lsp)
|
||||
; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scala ; java, but good
|
||||
;; (scheme
|
||||
;; +guile)
|
||||
; a fully conniving family of lisps
|
||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
(web ; the tubes
|
||||
+lsp)
|
||||
yaml ; JSON, but readable
|
||||
;;zig ; C, but simpler
|
||||
|
||||
:email
|
||||
;;(mu4e +gmail)
|
||||
;;notmuch
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
:app
|
||||
;;calendar
|
||||
;;emms
|
||||
;everywhere ; *leave* Emacs!? You must be joking
|
||||
irc ; how neckbeards socialize
|
||||
(rss +org) ; emacs as an RSS reader
|
||||
;;twitter ; twitter client https://twitter.com/vnought
|
||||
|
||||
:config
|
||||
literate
|
||||
(default +bindings +smartparens))
|
|
@ -0,0 +1,103 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; $DOOMDIR/packages.el
|
||||
|
||||
;; To install a package with Doom you must declare them here and run 'doom sync'
|
||||
;; on the command line, then restart Emacs for the changes to take effect -- or
|
||||
;; use 'M-x doom/reload'.
|
||||
|
||||
|
||||
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
||||
;(package! some-package)
|
||||
(package! ranger)
|
||||
|
||||
;; To install a package directly from a remote git repo, you must specify a
|
||||
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
|
||||
;; https://github.com/raxod502/straight.el#the-recipe-format
|
||||
;(package! another-package
|
||||
; :recipe (:host github :repo "username/repo"))
|
||||
|
||||
;; If the package you are trying to install does not contain a PACKAGENAME.el
|
||||
;; file, or is located in a subdirectory of the repo, you'll need to specify
|
||||
;; `:files' in the `:recipe':
|
||||
;(package! this-package
|
||||
; :recipe (:host github :repo "username/repo"
|
||||
; :files ("some-file.el" "src/lisp/*.el")))
|
||||
|
||||
;; If you'd like to disable a package included with Doom, you can do so here
|
||||
;; with the `:disable' property:
|
||||
;(package! builtin-package :disable t)
|
||||
|
||||
;; You can override the recipe of a built in package without having to specify
|
||||
;; all the properties for `:recipe'. These will inherit the rest of its recipe
|
||||
;; from Doom or MELPA/ELPA/Emacsmirror:
|
||||
;(package! builtin-package :recipe (:nonrecursive t))
|
||||
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
|
||||
|
||||
;; Specify a `:branch' to install a package from a particular branch or tag.
|
||||
;; This is required for some packages whose default branch isn't 'master' (which
|
||||
;; our package manager can't deal with; see raxod502/straight.el#279)
|
||||
;(package! builtin-package :recipe (:branch "develop"))
|
||||
|
||||
;; Use `:pin' to specify a particular commit to install.
|
||||
;(package! builtin-package :pin "1a2b3c4d5e")
|
||||
|
||||
|
||||
;; Doom's packages are pinned to a specific commit and updated from release to
|
||||
;; release. The `unpin!' macro allows you to unpin single packages...
|
||||
;(unpin! pinned-package)
|
||||
;; ...or multiple packages
|
||||
;(unpin! pinned-package another-pinned-package)
|
||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||
;(unpin! t)
|
||||
;; (package! vue-mode)
|
||||
(package! elpher)
|
||||
(package! eglot)
|
||||
|
||||
;; (package! ox-json);; org to json
|
||||
|
||||
;(package! another-package
|
||||
; :recipe (:host github :repo "username/repo"))
|
||||
|
||||
;; https://github.com/justinbarclay/elegant-agenda-mode
|
||||
|
||||
|
||||
;;(package! elegant-emacs
|
||||
;;:recipe (:host github :repo "rougier/elegant-emacs"
|
||||
;;:files ("elegant-dark-theme.el"
|
||||
;;"elegant-light-theme.el"
|
||||
;;"elegance.el"
|
||||
;;"sanity.el" )
|
||||
;;))
|
||||
|
||||
|
||||
;; ORG ROAM
|
||||
(unpin! org-roam org-roam-server)
|
||||
(package! company-org-roam
|
||||
:recipe (:host github :repo "org-roam/company-org-roam"))
|
||||
|
||||
(package! elegant-agenda-mode
|
||||
:recipe (:host github :repo "justinbarclay/elegant-agenda-mode"
|
||||
;; :files ("elegant-agenda-mode.el")
|
||||
))
|
||||
;;; delve for org-roam
|
||||
(package! lister ;deps for delve
|
||||
:recipe (:host github :repo "publicimageltd/lister"))
|
||||
|
||||
(package! delve
|
||||
:recipe (:host github :repo "publicimageltd/delve"))
|
||||
|
||||
(package! peasant-mode
|
||||
:recipe (:host github :repo "flinner/peasant-mode"))
|
||||
|
||||
|
||||
;;; Agenda
|
||||
(package! org-super-agenda)
|
||||
|
||||
;; (package! org-roam-server)
|
||||
|
||||
(package! mixed-pitch)
|
||||
|
||||
;; This is for image previews from urls in org mode
|
||||
|
||||
|
||||
(package! org-analyzer)
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Name=Nihongo-LibreWolf
|
||||
Exec=/usr/bin/librewolf -P nihongo %u
|
||||
Icon=librewolf
|
||||
StartupWMClass=LibreWolf
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Name=default-LibreWolf
|
||||
Exec=/usr/bin/librewolf -P default-release %u
|
||||
Icon=librewolf
|
||||
StartupWMClass=LibreWolf
|
|
@ -0,0 +1,2 @@
|
|||
[MIME Cache]
|
||||
x-scheme-handler/org-protocol=org-protocol.desktop;
|
|
@ -0,0 +1,7 @@
|
|||
[Desktop Entry]
|
||||
Name=org-protocol
|
||||
Exec=emacsclient -n %u
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Categories=System;
|
||||
MimeType=x-scheme-handler/org-protocol;
|
|
@ -0,0 +1,11 @@
|
|||
* DOOM EMACS
|
||||
** .doom.d
|
||||
contains doom config
|
||||
#+begin_src sh
|
||||
.emacs.d/bin/doom build
|
||||
#+end_src
|
||||
** .local
|
||||
contains the org-protocol
|
||||
#+begin_src sh
|
||||
update-desktop-database ~/.local/share/applications/
|
||||
#+end_src
|
|
@ -0,0 +1,833 @@
|
|||
#+title: Flinner's Config
|
||||
#+PROPERTY: header-args:emacs-lisp :tangle ./init.el :mkdirp yes
|
||||
#+startup: content
|
||||
|
||||
* Packaging
|
||||
Initialize Package sources
|
||||
#+begin_src emacs-lisp
|
||||
(require 'package)
|
||||
|
||||
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
|
||||
("org" . "https://orgmode.org/elpa/")
|
||||
("elpa" . "https://elpa.gnu.org/packages/")))
|
||||
(package-initialize)
|
||||
(unless package-archive-contents
|
||||
(package-refresh-contents))
|
||||
|
||||
;; Initialize use-package on non-Linux platforms
|
||||
(unless (package-installed-p 'use-package)
|
||||
(package-install 'use-package))
|
||||
#+end_src
|
||||
|
||||
Make sure to download packages if not present
|
||||
#+begin_src emacs-lisp
|
||||
(require 'use-package)
|
||||
(setq use-package-always-ensure t)
|
||||
#+end_src
|
||||
straight
|
||||
#+begin_src emacs-lisp
|
||||
(defvar bootstrap-version)
|
||||
(let ((bootstrap-file
|
||||
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||
(bootstrap-version 5))
|
||||
(unless (file-exists-p bootstrap-file)
|
||||
(with-current-buffer
|
||||
(url-retrieve-synchronously
|
||||
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
|
||||
'silent 'inhibit-cookies)
|
||||
(goto-char (point-max))
|
||||
(eval-print-last-sexp)))
|
||||
(load bootstrap-file nil 'nomessage))
|
||||
|
||||
(straight-use-package 'use-package)
|
||||
(setq straight-use-package-by-default t)
|
||||
#+end_src
|
||||
|
||||
* Basic UI Configuration
|
||||
** Better Defaults
|
||||
#+begin_src emacs-lisp
|
||||
(setq inhibit-startup-message t)
|
||||
(scroll-bar-mode -1) ; Disable visible scrollbar
|
||||
(tool-bar-mode -1) ; Disable the toolbar
|
||||
(tooltip-mode -1) ; Disable tooltips
|
||||
(set-fringe-mode 10) ; Give some breathing room
|
||||
|
||||
(menu-bar-mode -1) ; Disable the menu bar
|
||||
(winner-mode 1) ; Disable the menu bar
|
||||
(setq visible-bell nil) ; Set up the visible bell
|
||||
(column-number-mode) ; Display Column Number in the modline
|
||||
#+end_src
|
||||
Emacs Backups trashing local dir!
|
||||
#+begin_src emacs-lisp
|
||||
(setq backup-directory-alist `(("." . "~/.local/share/emacs-backups")))
|
||||
(setq make-backup-files t ; backup of a file the first time it is saved.
|
||||
backup-by-copying t ; don't clobber symlinks
|
||||
version-control t ; version numbers for backup files
|
||||
delete-old-versions t ; delete excess backup files silently
|
||||
delete-by-moving-to-trash t
|
||||
kept-old-versions 6 ; oldest versions to keep when a new numbered backup is made
|
||||
kept-new-versions 9 ; newest versions to keep when a new numbered backup is made
|
||||
auto-save-default t ; auto-save every buffer that visits a file
|
||||
auto-save-timeout 20 ; number of seconds idle time before auto-save (default: 30)
|
||||
auto-save-interval 200 ; number of keystrokes between auto-saves (default: 300)
|
||||
)
|
||||
#+end_src
|
||||
Better Scrolling
|
||||
#+begin_src elisp
|
||||
(setq scroll-conservatively 10)
|
||||
(setq scroll-margin 3)
|
||||
#+end_src
|
||||
** Fonts
|
||||
#+begin_src emacs-lisp
|
||||
(setq my/ui/monofont "FiraCode")
|
||||
(setq my/ui/varfont "Cantarell")
|
||||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(set-face-attribute 'default nil :font my/ui/monofont :height 90)
|
||||
(set-face-attribute 'fixed-pitch nil :font my/ui/monofont :height 90)
|
||||
(set-face-attribute 'variable-pitch nil :font my/ui/varfont :height 90)
|
||||
;; Info has a horrible mono font
|
||||
(set-face-attribute 'Info-quoted nil :font my/ui/monofont :height 90)
|
||||
|
||||
#+end_src
|
||||
|
||||
** Theme
|
||||
Run =M-x= all-the-icons-install-fonts for the first time!
|
||||
#+begin_src emacs-lisp
|
||||
(use-package all-the-icons)
|
||||
#+end_src
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(use-package doom-modeline
|
||||
:ensure t
|
||||
:init (doom-modeline-mode 1)
|
||||
:custom ((doom-modeline-height 15)))
|
||||
#+end_src
|
||||
Actuall Theme:
|
||||
#+begin_src emacs-lisp
|
||||
(use-package doom-themes
|
||||
:config
|
||||
;; Global settings (defaults)
|
||||
(setq doom-themes-enable-bold t ; if nil, bold is universally disabled
|
||||
doom-themes-enable-italic t) ; if nil, italics is universally disabled
|
||||
(load-theme 'doom-gruvbox t)
|
||||
|
||||
;; Enable custom neotree theme (all-the-icons must be installed!)
|
||||
(doom-themes-neotree-config)
|
||||
;; or for treemacs users
|
||||
(setq doom-themes-treemacs-theme "doom-atom") ; use "doom-colors" for less minimal icon theme
|
||||
(doom-themes-treemacs-config)
|
||||
;; Corrects (and improves) org-mode's native fontification.
|
||||
(doom-themes-org-config))
|
||||
#+end_src
|
||||
|
||||
** Line Numbers
|
||||
Enable Globally
|
||||
#+begin_src emacs-lisp
|
||||
(global-display-line-numbers-mode 1)
|
||||
#+end_src
|
||||
Disable for the following modes
|
||||
#+begin_src emacs-lisp
|
||||
(defun disable-line-numbers () "Disables line number" (interactive) (display-line-numbers-mode 0))
|
||||
|
||||
(dolist (mode '(org-mode-hook
|
||||
term-mode-hook
|
||||
treemacs-mode-hook
|
||||
shell-mode-hook
|
||||
eshell-mode-hook))
|
||||
(add-hook mode #'disable-line-numbers))
|
||||
|
||||
#+end_src
|
||||
|
||||
** Undo
|
||||
#+begin_src emacs-lisp
|
||||
(use-package undo-fu)
|
||||
#+end_src
|
||||
|
||||
* Help
|
||||
=helpful-key= and =describe-function=
|
||||
#+begin_src emacs-lisp
|
||||
(use-package helpful
|
||||
:commands (helpful-callable helpful-variable helpful-command helpful-key)
|
||||
:custom
|
||||
(counsel-describe-function-function #'helpful-callable)
|
||||
(counsel-describe-variable-function #'helpful-variable)
|
||||
:bind
|
||||
([remap describe-function] . counsel-describe-function)
|
||||
([remap describe-command] . helpful-command)
|
||||
([remap describe-variable] . counsel-describe-variable)
|
||||
([remap describe-key] . helpful-key))
|
||||
#+end_src
|
||||
|
||||
* Keybinds
|
||||
Single Esc to Quit, instead of *three*
|
||||
#+begin_src emacs-lisp
|
||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
||||
#+end_src
|
||||
|
||||
** General.el
|
||||
Eval First and Last at least block!
|
||||
*** use-package
|
||||
#+begin_src emacs-lisp
|
||||
(use-package general
|
||||
:after evil
|
||||
:preface
|
||||
#+end_src
|
||||
|
||||
*** Helper Functions
|
||||
#+begin_src emacs-lisp
|
||||
(defun my/keybind/config ()
|
||||
(interactive)
|
||||
(counsel-find-file "emacs" "~/.config/"))
|
||||
#+end_src
|
||||
|
||||
*** leader-keys
|
||||
#+begin_src emacs-lisp
|
||||
:config
|
||||
(general-create-definer my/leader-keys
|
||||
:keymaps '(normal insert visual emacs)
|
||||
:prefix "SPC"
|
||||
:global-prefix "C-SPC")
|
||||
|
||||
#+end_src
|
||||
|
||||
**** Symbols, Spaces, Numbers, u
|
||||
#+begin_src emacs-lisp
|
||||
(my/leader-keys
|
||||
"." '(counsel-find-file :which-key "find file")
|
||||
"SPC" '(projectile-find-file :which-key "projectile find file")
|
||||
"/" '(counsel-projectile-rg :which-key "projects")
|
||||
"," '(counsel-rg :which-key "rg")
|
||||
"u" '(universal-argument :which-key "universal arg")
|
||||
#+end_src
|
||||
|
||||
**** Toggles (t)
|
||||
#+begin_src emacs-lisp
|
||||
"t" '(:ignore t :which-key "toggles")
|
||||
#+end_src
|
||||
|
||||
**** Help (h)
|
||||
#+begin_src emacs-lisp
|
||||
"h" '(:ignore t :which-key "Help")
|
||||
|
||||
"ht" '(counsel-load-theme :which-key "Choose Theme")
|
||||
"hk" '(helpful-key :which-key "Describe Key")
|
||||
"hf" '(counsel-describe-function :which-key "Describe Function")
|
||||
"hv" '(counsel-describe-variable :which-key "Describe Variable")
|
||||
#+end_src
|
||||
|
||||
**** search (s)
|
||||
#+begin_src emacs-lisp
|
||||
"s" '(:ignore t :which-key "Search")
|
||||
|
||||
"sb" '(swiper :which-key "Choose Theme")
|
||||
#+end_src
|
||||
**** Files (f)
|
||||
#+begin_src emacs-lisp
|
||||
"f" '(:ignore t :which-key "Files")
|
||||
|
||||
"fr" '(counsel-recentf :which-key "Recent Files")
|
||||
"fp" '(my/keybind/config :which-key "Recent Files")
|
||||
"fd" '(dired :which-key "dired prompt")
|
||||
"fD" '(dired-jump :which-key "dired current")
|
||||
#+end_src
|
||||
|
||||
**** Buffers (b)
|
||||
#+begin_src emacs-lisp
|
||||
"b" '(:ignore t :which-key "buffers")
|
||||
|
||||
"bs" '(save-buffer :which-key "Save Buffer")
|
||||
"bk" '(kill-this-buffer :which-key "Kill Buffer")
|
||||
"bl" '(evil-switch-to-windows-last-buffer :which-key "Last Buffer")
|
||||
"bi" '(ibuffer :which-key "Ibuffer")
|
||||
"br" '(revert-buffer :which-key "Ibuffer")
|
||||
#+end_src
|
||||
|
||||
**** Windows (w)
|
||||
#+begin_src emacs-lisp
|
||||
"w" '(:ignore t :which-key "Windows")
|
||||
|
||||
"wj" '(evil-window-down :which-key "Evil Window Down")
|
||||
"wk" '(evil-window-up :which-key "Window Up")
|
||||
"wl" '(evil-window-right :which-key "Window Left")
|
||||
"wh" '(evil-window-left :which-key "Window Down")
|
||||
"ws" '(evil-window-split :which-key "Window Split")
|
||||
"wv" '(evil-window-vsplit :which-key "Window Vsplit")
|
||||
"wd" '(evil-window-delete :which-key "Window delete")
|
||||
"wu" '(winner-undo :which-key "Window Undo")
|
||||
"wr" '(winner-redo :which-key "Window Redo")
|
||||
"wt" '(treemacs :which-key "Treemacs")
|
||||
#+end_src
|
||||
|
||||
**** Code (c)
|
||||
#+begin_src emacs-lisp
|
||||
"c" '(:ignore t :which-key "code")
|
||||
|
||||
"ce" '(eval-last-sexp :which-key "Eval Function")
|
||||
"cb" '(eval-buffer :which-key "Eval Buffer")
|
||||
"ca" '(lsp-execute-code-action :which-key "Code Action")
|
||||
"ci" '(lsp-ui-imenu :which-key "lsp imenu")
|
||||
"cr" '(lsp-rename :which-key "rename")
|
||||
"cs" '(lsp-find-refernces :which-key "rename")
|
||||
#+end_src
|
||||
|
||||
**** Git (g)
|
||||
#+begin_src emacs-lisp
|
||||
"g" '(:ignore t :which-key "Git")
|
||||
"gg" '(magit-status :which-key "Magit")
|
||||
#+end_src
|
||||
|
||||
**** Projectile (p)
|
||||
#+begin_src emacs-lisp
|
||||
"p" '(projectile-command-map t :which-key "Projectile")
|
||||
#+end_src
|
||||
|
||||
*** Closing Brackets
|
||||
#+begin_src emacs-lisp
|
||||
))
|
||||
#+end_src
|
||||
|
||||
** Evil
|
||||
*** Basic Evil
|
||||
#+begin_src emacs-lisp
|
||||
(use-package evil
|
||||
:init
|
||||
(setq evil-want-integration t
|
||||
evil-want-keybinding nil
|
||||
evil-want-C-u-scroll t
|
||||
evil-normal-state-cursor 'box
|
||||
evil-emacs-state-cursor '(box +evil-emacs-cursor-fn); TODO: fix
|
||||
evil-insert-state-cursor 'bar
|
||||
evil-visual-state-cursor 'hollow
|
||||
evil-undo-system 'undo-redo
|
||||
)
|
||||
;(setq evil-want-C-i-jump t)
|
||||
:config
|
||||
(evil-mode 1)
|
||||
(define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state)
|
||||
(define-key evil-insert-state-map (kbd "C-h") 'evil-delete-backward-char-and-join)
|
||||
(define-key evil-normal-state-map "u" 'undo-fu-only-undo)
|
||||
(define-key evil-normal-state-map "\C-r" 'undo-fu-only-redo)
|
||||
(define-key evil-normal-state-map "\C-e" 'evil-end-of-line)
|
||||
(define-key evil-insert-state-map "\C-a" 'evil-beginning-of-line)
|
||||
(define-key evil-insert-state-map "\C-e" 'end-of-line)
|
||||
(define-key evil-visual-state-map "\C-e" 'evil-end-of-line)
|
||||
(define-key evil-motion-state-map "\C-e" 'evil-end-of-line)
|
||||
(define-key evil-normal-state-map "\C-f" 'evil-forward-char)
|
||||
(define-key evil-insert-state-map "\C-f" 'evil-forward-char)
|
||||
(define-key evil-insert-state-map "\C-f" 'evil-forward-char)
|
||||
(define-key evil-normal-state-map "\C-b" 'evil-backward-char)
|
||||
(define-key evil-insert-state-map "\C-b" 'evil-backward-char)
|
||||
(define-key evil-visual-state-map "\C-b" 'evil-backward-char)
|
||||
|
||||
(define-key evil-insert-state-map "\C-d" 'evil-delete-char)
|
||||
|
||||
(define-key evil-normal-state-map "\C-n" 'evil-next-line)
|
||||
(define-key evil-insert-state-map "\C-n" 'evil-next-line)
|
||||
(define-key evil-visual-state-map "\C-n" 'evil-next-line)
|
||||
(define-key evil-normal-state-map "\C-p" 'evil-previous-line)
|
||||
(define-key evil-insert-state-map "\C-p" 'evil-previous-line)
|
||||
(define-key evil-visual-state-map "\C-p" 'evil-previous-line)
|
||||
(define-key evil-normal-state-map "\C-w" 'evil-delete)
|
||||
(define-key evil-insert-state-map "\C-w" 'evil-delete)
|
||||
(define-key evil-visual-state-map "\C-w" 'evil-delete)
|
||||
(define-key evil-normal-state-map "\C-y" 'yank)
|
||||
(define-key evil-insert-state-map "\C-y" 'yank)
|
||||
(define-key evil-visual-state-map "\C-y" 'yank)
|
||||
;(define-key evil-insert-state-map "\C-k" 'kill-line)
|
||||
(define-key evil-normal-state-map "Q" 'call-last-kbd-macro)
|
||||
(define-key evil-visual-state-map "Q" 'call-last-kbd-macro)
|
||||
(define-key evil-normal-state-map (kbd "TAB") 'evil-undefine)
|
||||
|
||||
;; Use visual line motions even outside of visual-line-mode buffers
|
||||
(evil-global-set-key 'motion "j" 'evil-next-visual-line)
|
||||
(evil-global-set-key 'motion "k" 'evil-previous-visual-line)
|
||||
|
||||
(evil-set-initial-state 'messages-buffer-mode 'normal)
|
||||
(evil-set-initial-state 'dashboard-mode 'normal))
|
||||
#+end_src
|
||||
(Not Working) Emacs State Cursor Color
|
||||
#+begin_src emacs-lisp
|
||||
(defun +evil-default-cursor-fn ()
|
||||
(evil-set-cursor-color (get 'cursor 'evil-normal-color)))
|
||||
(defun +evil-emacs-cursor-fn () (interactive)
|
||||
(evil-set-cursor-color (get 'cursor 'evil-emacs-color)))
|
||||
#+end_src
|
||||
|
||||
*** Evil Collection
|
||||
#+begin_src emacs-lisp
|
||||
(use-package evil-collection
|
||||
:after evil
|
||||
:config
|
||||
(evil-collection-init))
|
||||
#+end_src
|
||||
|
||||
*** Evil Escape
|
||||
#+begin_src emacs-lisp
|
||||
(use-package evil-escape
|
||||
:after evil
|
||||
:init
|
||||
(evil-escape-mode)
|
||||
:config
|
||||
(setq evil-escape-key-sequence "jk")
|
||||
(setq evil-escape-delay 0.2)
|
||||
(setq evil-escape-unordered-key-sequence t)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
* Completions
|
||||
** ivy
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ivy
|
||||
:diminish
|
||||
:bind (("C-s" . swiper); TODO: move to Keybinds
|
||||
:map ivy-minibuffer-map
|
||||
("TAB" . ivy-alt-done)
|
||||
("C-l" . ivy-alt-done)
|
||||
("C-j" . ivy-next-line)
|
||||
("C-k" . ivy-previous-line)
|
||||
:map ivy-switch-buffer-map
|
||||
("C-k" . ivy-previous-line)
|
||||
("C-l" . ivy-done)
|
||||
("C-d" . ivy-switch-buffer-kill)
|
||||
:map ivy-reverse-i-search-map
|
||||
("C-k" . ivy-previous-line)
|
||||
("C-d" . ivy-reverse-i-search-kill))
|
||||
:config
|
||||
(ivy-mode 1))
|
||||
#+end_src
|
||||
Ivy Rich for having =M-x= description and keybinds
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ivy-rich
|
||||
:init (ivy-rich-mode 1))
|
||||
#+end_src
|
||||
Ivy floating
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ivy-posframe
|
||||
:after ivy
|
||||
:diminish
|
||||
:custom-face
|
||||
(ivy-posframe-border ((t (:background "#ffffff"))))
|
||||
:config
|
||||
(setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-top-center))
|
||||
ivy-posframe-height-alist '((t . 20))
|
||||
ivy-posframe-parameters '((internal-border-width . 10)))
|
||||
(setq ivy-posframe-width 70)
|
||||
(setq ivy-posframe-parameters
|
||||
'((left-fringe . 8)
|
||||
(right-fringe . 8)))
|
||||
|
||||
(ivy-posframe-mode +1))
|
||||
|
||||
#+end_src
|
||||
** Counsel
|
||||
#+begin_src emacs-lisp
|
||||
(use-package counsel
|
||||
:bind (("M-x" . counsel-M-x)
|
||||
;("C-x b" . counsel-ibuffer)
|
||||
("C-x C-f" . counsel-find-file)
|
||||
:map minibuffer-local-map
|
||||
("C-r" . 'counsel-minibuffer-history)
|
||||
("C-w" . 'evil-delete-backward-word))
|
||||
:config (setq ivy-initial-inputs-alist nil)) ;; Don't start searches with '^'
|
||||
#+end_src
|
||||
|
||||
** Which Key (Shows Next keys)
|
||||
#+begin_src emacs-lisp
|
||||
(use-package which-key
|
||||
:init (which-key-mode)
|
||||
:diminish which-key-mode
|
||||
:config (setq which-key-idle-delay 1))
|
||||
#+end_src
|
||||
|
||||
** Company Mode
|
||||
#+begin_src emacs-lisp
|
||||
(use-package company
|
||||
:ensure
|
||||
; :hook (lsp-mode . company-mode)
|
||||
:custom
|
||||
(company-idle-delay 0.0) ;; how long to wait until popup
|
||||
(company-minimum-prefix-length 1) ;; The minimum prefix length for idle completion.
|
||||
;; (company-begin-commands nil) ;; uncomment to disable popup
|
||||
:bind
|
||||
(:map company-active-map
|
||||
("C-n". company-select-next)
|
||||
("<tab>" . company-complete-common-or-cycle)
|
||||
("RET" . company-complete-selection)
|
||||
("C-p". company-select-previous)
|
||||
("M-<". company-select-first)
|
||||
("M->". company-select-last))
|
||||
(:map lsp-mode-map
|
||||
("<tab>" . company-indent-or-complete-common)))
|
||||
|
||||
|
||||
;; (use-package company-lsp)
|
||||
(use-package company-box
|
||||
:hook (company-mode . company-box-mode))
|
||||
#+end_src
|
||||
|
||||
** Prescient
|
||||
better sorting for ivy, company..
|
||||
#+begin_src emacs-lisp
|
||||
(use-package prescient
|
||||
:diminish
|
||||
:config (prescient-persist-mode 1))
|
||||
|
||||
(use-package ivy-prescient
|
||||
:after counsel
|
||||
:init (ivy-prescient-mode 1))
|
||||
|
||||
(use-package company-prescient
|
||||
:after company
|
||||
:init (company-prescient-mode 1))
|
||||
;; (use-package selectrum-prescient)
|
||||
#+end_src
|
||||
|
||||
* Org-Mode
|
||||
** use-package and Appereance
|
||||
Modes To Start
|
||||
#+begin_src emacs-lisp
|
||||
(defun my/org-mode/org-mode-setup ()
|
||||
(interactive)
|
||||
(org-indent-mode)
|
||||
(variable-pitch-mode 1)
|
||||
(visual-line-mode 1))
|
||||
#+end_src
|
||||
use-package
|
||||
#+begin_src emacs-lisp
|
||||
(use-package org
|
||||
:hook (org-mode . my/org-mode/org-mode-setup)
|
||||
(org-mode . my/org-mode/load-prettify-symbols); symbols
|
||||
:config
|
||||
(setq org-ellipsis " ⤵")
|
||||
(setq org-agenda-start-with-log-mode t)
|
||||
(setq org-log-done 'time)
|
||||
(setq org-log-into-drawer t)
|
||||
(dolist (face '((org-document-title . 2.0)
|
||||
(org-level-1 . 1.2)
|
||||
(org-level-2 . 1.1)
|
||||
(org-level-3 . 1.05)
|
||||
(org-level-4 . 1.0)
|
||||
(org-level-5 . 1.1)
|
||||
(org-level-6 . 1.1)
|
||||
(org-level-7 . 1.1)
|
||||
(org-level-8 . 1.1)))
|
||||
(set-face-attribute (car face) nil :font my/ui/varfont :weight 'regular :height (cdr face)))
|
||||
|
||||
|
||||
;; Ensure that anything that should be fixed-pitch in Org files appears that way
|
||||
(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
|
||||
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
|
||||
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch))
|
||||
#+end_src
|
||||
Symbols
|
||||
#+begin_src emacs-lisp
|
||||
(defun my/org-mode/load-prettify-symbols ()
|
||||
(interactive)
|
||||
(setq prettify-symbols-alist
|
||||
(mapcan (lambda (x) (list x (cons (upcase (car x)) (cdr x))))
|
||||
'(("#+begin_src" . ?)
|
||||
("#+end_src" . ?)
|
||||
("#+begin_example" . ?)
|
||||
("#+end_example" . ?)
|
||||
("#+header:" . ?)
|
||||
("#+name:" . ?﮸)
|
||||
("#+title:" . "")
|
||||
("#+results:" . ?)
|
||||
("#+call:" . ?)
|
||||
(":properties:" . ?)
|
||||
(":logbook:" . ?))))
|
||||
(prettify-symbols-mode 1))
|
||||
#+end_src
|
||||
** Set directories
|
||||
#+begin_src emacs-lisp
|
||||
(setq org-directory "~/org/gtd/"
|
||||
org-agenda-files (list org-directory)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
** Structure Templates
|
||||
Allow fast code insertion
|
||||
#+begin_src emacs-lisp
|
||||
;; This is needed as of Org 9.2
|
||||
(require 'org-tempo)
|
||||
|
||||
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
||||
#+end_src
|
||||
|
||||
** org-bullets
|
||||
#+begin_src emacs-lisp
|
||||
(use-package org-bullets
|
||||
:after org
|
||||
:hook (org-mode . org-bullets-mode)
|
||||
:custom
|
||||
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
||||
#+end_src
|
||||
|
||||
** Visual Fill (center)
|
||||
#+begin_src emacs-lisp
|
||||
(defun my/org-mode/org-mode-visual-fill ()
|
||||
(interactive)
|
||||
(setq visual-fill-column-width 100
|
||||
visual-fill-column-center-text t)
|
||||
(visual-fill-column-mode 1))
|
||||
#+end_src
|
||||
#+begin_src emacs-lisp
|
||||
(use-package visual-fill-column; center text
|
||||
:hook (org-mode . my/org-mode/org-mode-visual-fill))
|
||||
#+end_src
|
||||
|
||||
** Babel
|
||||
Don't confirm, I know what I am doing
|
||||
#+begin_src emacs-lisp
|
||||
(setq org-confirm-babel-evaluate nil)
|
||||
#+end_src
|
||||
Language List
|
||||
#+begin_src emacs-lisp
|
||||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
'((emacs-lisp . t)
|
||||
(python . t)
|
||||
(shell . t)))
|
||||
#+end_src
|
||||
|
||||
** Agenda
|
||||
*** T/ODOs
|
||||
#+begin_src emacs-lisp
|
||||
(setq org-todo-keywords
|
||||
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
|
||||
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)"
|
||||
"REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
||||
#+end_src
|
||||
|
||||
** Auto Tangle Configuration Files
|
||||
Automatically tangle our Emacs.org config file when we save it
|
||||
#+begin_src emacs-lisp
|
||||
(defun my/org-mode/org-babel-tangle-config ()
|
||||
(when (string-equal (buffer-file-name)
|
||||
(expand-file-name "~/.config/emacs/init.org"))
|
||||
;; Dynamic scoping to the rescue
|
||||
(let ((org-confirm-babel-evaluate nil))
|
||||
(org-babel-tangle))))
|
||||
|
||||
(add-hook 'org-mode-hook
|
||||
(lambda () (add-hook 'after-save-hook #'my/org-mode/org-babel-tangle-config)))
|
||||
#+end_src
|
||||
|
||||
* Development
|
||||
** General
|
||||
*** Colored Brackets (rainbow delimiters)
|
||||
#+begin_src emacs-lisp
|
||||
(use-package rainbow-delimiters
|
||||
:hook (prog-mode . rainbow-delimiters-mode))
|
||||
#+end_src
|
||||
|
||||
*** Projectile
|
||||
#+begin_src emacs-lisp
|
||||
(use-package projectile
|
||||
:diminish projectile-mode
|
||||
:config (projectile-mode)
|
||||
:custom ((projectile-completion-system 'ivy))
|
||||
:init
|
||||
;; NOTE: Set this to the folder where you keep your Git repos!
|
||||
(when (file-directory-p "~/code")
|
||||
(setq projectile-project-search-path '("~/code")))
|
||||
(setq projectile-switch-project-action #'projectile-dired))
|
||||
#+end_src
|
||||
Counsel Projectile
|
||||
#+begin_src emacs-lisp
|
||||
(use-package counsel-projectile
|
||||
:config (counsel-projectile-mode))
|
||||
#+end_src
|
||||
|
||||
*** lsp-mode
|
||||
#+begin_src emacs-lisp
|
||||
(use-package lsp-mode
|
||||
:commands (lsp lsp-deferred)
|
||||
;; :hook
|
||||
;; (lsp-mode . my/lsp/lsp-mode-setup)
|
||||
:init
|
||||
:custom
|
||||
(lsp-headerline-breadcrumb-segments '(path-up-to-project file))
|
||||
(lsp-rust-analyzer-cargo-watch-command "clippy")
|
||||
(lsp-eldoc-render-all t)
|
||||
(lsp-eldoc-enable-hover nil)
|
||||
(lsp-idle-delay 0.6)
|
||||
(lsp-idle-delay 0.6)
|
||||
(lsp-rust-analyzer-server-display-inlay-hints t)
|
||||
;(setq lsp-keymap-prefix "C-c l") ;; Or 'C-l', 's-l'
|
||||
:config
|
||||
(lsp-enable-which-key-integration t)
|
||||
(setq lsp-headerline-breadcrumb-enable nil); anonying tabs
|
||||
(add-hook 'lsp-mode-hook 'lsp-ui-mode)
|
||||
(lsp-headerline-breadcrumb-mode -1)
|
||||
(flycheck-mode 1)
|
||||
)
|
||||
#+end_src
|
||||
|
||||
Lsp UI
|
||||
#+begin_src emacs-lisp
|
||||
(use-package lsp-ui
|
||||
:ensure
|
||||
:commands lsp-ui-mode
|
||||
:custom
|
||||
;(lsp-ui-peek-always-show t)
|
||||
(lsp-ui-doc-mode t)
|
||||
;(lsp-ui-sideline-show-hover t)
|
||||
; (lsp-ui-doc-enable nil)
|
||||
:bind (:map lsp-ui-mode-map
|
||||
("U" . lsp-ui-doc-focus-frame)
|
||||
:map lsp-ui-doc-frame-mode-map
|
||||
("Q" . lsp-ui-doc-unfocus-frame)
|
||||
))
|
||||
#+end_src
|
||||
|
||||
*** lsp treemacs
|
||||
#+begin_src emacs-lisp
|
||||
;; (use-package lsp-treemacs
|
||||
;; :after lsp)
|
||||
#+end_src
|
||||
|
||||
*** Flycheck
|
||||
#+begin_src emacs-lisp
|
||||
(use-package flycheck :ensure)
|
||||
#+end_src
|
||||
|
||||
*** Origami Mode (Folding)
|
||||
#+begin_src emacs-lisp
|
||||
(use-package origami)
|
||||
#+end_src
|
||||
** Git
|
||||
*** Magit
|
||||
#+begin_src emacs-lisp
|
||||
(use-package magit
|
||||
:custom
|
||||
(magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1))
|
||||
#+end_src
|
||||
|
||||
*** TODO Forge
|
||||
#+begin_src emacs-lisp
|
||||
;(use-package forge)
|
||||
#+end_src
|
||||
|
||||
** Language
|
||||
*** Rust
|
||||
#+begin_src emacs-lisp
|
||||
(use-package rustic
|
||||
:ensure
|
||||
:bind (:map rustic-mode-map
|
||||
("C-c C-c l" . lsp-ui-flycheck-list)
|
||||
("C-c C-c s" . lsp-rust-analyzer-status))
|
||||
:config
|
||||
;; uncomment for less flashiness
|
||||
;; (setq lsp-eldoc-hook nil)
|
||||
;; (setq lsp-enable-symbol-highlighting nil)
|
||||
;; (setq lsp-signature-auto-activate nil)
|
||||
|
||||
;; comment to disable rustfmt on save
|
||||
(setq rustic-format-on-save t)
|
||||
(add-hook 'rustic-mode-hook 'my/dev/rustic-mode-hook))
|
||||
|
||||
(defun my/dev/rustic-mode-hook ()
|
||||
;; so that run C-c C-c C-r works without having to confirm, but don't try to
|
||||
;; save rust buffers that are not file visiting. Once
|
||||
;; https://github.com/brotzeit/rustic/issues/253 has been resolved this should
|
||||
;; no longer be necessary.
|
||||
(when buffer-file-name
|
||||
(setq-local buffer-save-without-query t)))
|
||||
#+end_src
|
||||
*** Elisp emacs-lisp
|
||||
#+begin_src emacs-lisp
|
||||
;; (add-hook 'emacs-lisp-mode-hook 'company-mode)
|
||||
(add-hook 'emacs-lisp-mode-hook 'flycheck-mode)
|
||||
#+end_src
|
||||
*** V
|
||||
#+begin_src emacs-lisp
|
||||
(use-package v-mode
|
||||
:preface
|
||||
(defun my/lsp/v ()
|
||||
(interactive)
|
||||
(lsp)
|
||||
(flycheck-mode 1)
|
||||
(company-mode 1))
|
||||
:init
|
||||
(delete '("\\.[ds]?va?h?\\'" . verilog-mode) auto-mode-alist)
|
||||
;; :straight (v-mode
|
||||
;; :type git
|
||||
;; :host github
|
||||
;; :repo "damon-kwok/v-mode"
|
||||
;; :files ("tokens" "v-mode.el"))
|
||||
(setq auto-mode-alist
|
||||
(cons '("\\(\\.v\\|\\.vv\\|\\.vsh\\)$" . v-mode) auto-mode-alist))
|
||||
:hook (v-mode . my/lsp/v)
|
||||
:config
|
||||
(flycheck-define-checker v-checker
|
||||
"A v syntax checker using the v fmt."
|
||||
:command ("v" "fmt" "-verify" (eval (buffer-file-name)))
|
||||
:error-patterns
|
||||
((error line-start (file-name) ":" line ":" column ": error: " (message) line-end))
|
||||
:modes v-mode)
|
||||
(add-to-list 'flycheck-checkers 'v-checker)
|
||||
:bind-keymap
|
||||
("M-z" . v-menu)
|
||||
("<f6>" . v-menu)
|
||||
("C-c C-f" . v-format-buffer)
|
||||
:mode ("\\.v\\.vsh\\'" . 'v-mode))
|
||||
|
||||
#+end_src
|
||||
** Treemacs
|
||||
use-package
|
||||
#+begin_src emacs-lisp
|
||||
(use-package treemacs
|
||||
:defer t
|
||||
:init
|
||||
(setq treemacs-follow-after-init t
|
||||
treemacs-is-never-other-window t
|
||||
treemacs-sorting 'alphabetic-case-insensitive-asc))
|
||||
#+end_src
|
||||
fix evil keybinds
|
||||
#+begin_src emacs-lisp
|
||||
(use-package treemacs-evil
|
||||
;:when (package-installed-p 'evil-collection)
|
||||
;:defer t
|
||||
:after treemacs
|
||||
:init
|
||||
:config
|
||||
(general-def evil-treemacs-state-map
|
||||
[return] #'treemacs-RET-action
|
||||
[tab] #'treemacs-TAB-action
|
||||
"TAB" #'treemacs-TAB-action
|
||||
"o v" #'treemacs-visit-node-horizontal-split
|
||||
"o s" #'treemacs-visit-node-vertical-split))
|
||||
|
||||
#+end_src
|
||||
|
||||
Get treemacs-lsp
|
||||
#+begin_src emacs-lisp
|
||||
(use-package lsp-treemacs
|
||||
:after (treemacs lsp))
|
||||
(use-package treemacs-magit
|
||||
:after treemacs magit)
|
||||
;(use-package! treemacs-persp
|
||||
;:after treemacs
|
||||
;:config (treemacs-set-scope-type 'Perspectives))
|
||||
#+end_src
|
||||
|
||||
|
||||
* Tmp
|
||||
#+begin_src emacs-lisp
|
||||
;; (use-package peasant-mode
|
||||
;; :straight (peasant-mode
|
||||
;; :type git
|
||||
;; :host github
|
||||
;; :repo "flinner/peasant-mode")
|
||||
;; :config
|
||||
;; (peasant-mode))
|
||||
#+end_src
|
|
@ -0,0 +1,4 @@
|
|||
(("doom" . ((user-emacs-directory . "~/.config/emacs.doom")
|
||||
(env . (("DOOMDIR" . "~/.config/dots/doom/.config/doom/")))))
|
||||
("default" . ((user-emacs-directory . "~/.config/emacs.mine")))
|
||||
)
|
|
@ -0,0 +1 @@
|
|||
b68d3361-ad67-49c5-ada9-7da6ad28d446
|
|
@ -0,0 +1 @@
|
|||
f98c2caa-6d19-4be0-8395-cc461c5878c4
|
|
@ -0,0 +1 @@
|
|||
4acf1369-cad7-48f3-a589-839c3db49cb0
|
|
@ -0,0 +1,11 @@
|
|||
[Filechooser Settings]
|
||||
LocationMode=path-bar
|
||||
ShowHidden=false
|
||||
ShowSizeColumn=true
|
||||
GeometryX=570
|
||||
GeometryY=257
|
||||
GeometryWidth=780
|
||||
GeometryHeight=585
|
||||
SortColumn=modified
|
||||
SortOrder=descending
|
||||
StartupMode=recent
|
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-915.625,595.743)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="293" y="-190.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#e9524a" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M9.17157,1037.53 C8.77984,1037.93 8.77984,1038.56 9.17157,1038.95 L10.5858,1040.36 L9.17157,1041.78 C8.77984,1042.17 8.77984,1042.8 9.17157,1043.19 C9.56331,1043.58 10.194,1043.58 10.5858,1043.19 L12,1041.78 L13.4142,1043.19 C13.806,1043.58 14.4367,1043.58 14.8284,1043.19 C15.2202,1042.8 15.2202,1042.17 14.8284,1041.78 L13.4142,1040.36 L14.8284,1038.95 C15.2202,1038.56 15.2202,1037.93 14.8284,1037.53 C14.4367,1037.14 13.806,1037.14 13.4142,1037.53 L12,1038.95 L10.5858,1037.53 C10.194,1037.14 9.56331,1037.14 9.17157,1037.53 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.2" >
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.5 KiB |
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-915.625,595.743)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="293" y="-190.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#e9524a" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M9.17157,1037.53 C8.77984,1037.93 8.77984,1038.56 9.17157,1038.95 L10.5858,1040.36 L9.17157,1041.78 C8.77984,1042.17 8.77984,1042.8 9.17157,1043.19 C9.56331,1043.58 10.194,1043.58 10.5858,1043.19 L12,1041.78 L13.4142,1043.19 C13.806,1043.58 14.4367,1043.58 14.8284,1043.19 C15.2202,1042.8 15.2202,1042.17 14.8284,1041.78 L13.4142,1040.36 L14.8284,1038.95 C15.2202,1038.56 15.2202,1037.93 14.8284,1037.53 C14.4367,1037.14 13.806,1037.14 13.4142,1037.53 L12,1038.95 L10.5858,1037.53 C10.194,1037.14 9.56331,1037.14 9.17157,1037.53 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.2" >
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.5 KiB |
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-915.625,676.993)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="293" y="-216.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#e9524a" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M9.17157,1037.53 C8.77984,1037.93 8.77984,1038.56 9.17157,1038.95 L10.5858,1040.36 L9.17157,1041.78 C8.77984,1042.17 8.77984,1042.8 9.17157,1043.19 C9.56331,1043.58 10.194,1043.58 10.5858,1043.19 L12,1041.78 L13.4142,1043.19 C13.806,1043.58 14.4367,1043.58 14.8284,1043.19 C15.2202,1042.8 15.2202,1042.17 14.8284,1041.78 L13.4142,1040.36 L14.8284,1038.95 C15.2202,1038.56 15.2202,1037.93 14.8284,1037.53 C14.4367,1037.14 13.806,1037.14 13.4142,1037.53 L12,1038.95 L10.5858,1037.53 C10.194,1037.14 9.56331,1037.14 9.17157,1037.53 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-915.625,839.493)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="293" y="-268.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#5d5d5d" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-915.625,676.993)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="293" y="-216.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#e9524a" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M9.17157,1037.53 C8.77984,1037.93 8.77984,1038.56 9.17157,1038.95 L10.5858,1040.36 L9.17157,1041.78 C8.77984,1042.17 8.77984,1042.8 9.17157,1043.19 C9.56331,1043.58 10.194,1043.58 10.5858,1043.19 L12,1041.78 L13.4142,1043.19 C13.806,1043.58 14.4367,1043.58 14.8284,1043.19 C15.2202,1042.8 15.2202,1042.17 14.8284,1041.78 L13.4142,1040.36 L14.8284,1038.95 C15.2202,1038.56 15.2202,1037.93 14.8284,1037.53 C14.4367,1037.14 13.806,1037.14 13.4142,1037.53 L12,1038.95 L10.5858,1037.53 C10.194,1037.14 9.56331,1037.14 9.17157,1037.53 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-915.625,758.243)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="293" y="-242.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#e9524a" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-853.125,595.743)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="273" y="-190.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#59c837" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M10.4141,1037.36 L15,1041.95 L15,1038.36 C15,1037.95 14.4155,1037.36 14,1037.36 L10.4141,1037.36 M9,1038.78 L9,1042.36 C9,1042.78 9.5845,1043.36 10,1043.36 L13.5859,1043.36 L9,1038.78"/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.2" >
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-853.125,595.743)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="273" y="-190.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#59c837" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M10.4141,1037.36 L15,1041.95 L15,1038.36 C15,1037.95 14.4155,1037.36 14,1037.36 L10.4141,1037.36 M9,1038.78 L9,1042.36 C9,1042.78 9.5845,1043.36 10,1043.36 L13.5859,1043.36 L9,1038.78"/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.2" >
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-853.125,676.993)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="273" y="-216.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#59c837" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M10.4141,1037.36 L15,1041.95 L15,1038.36 C15,1037.95 14.4155,1037.36 14,1037.36 L10.4141,1037.36 M9,1038.78 L9,1042.36 C9,1042.78 9.5845,1043.36 10,1043.36 L13.5859,1043.36 L9,1038.78"/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-853.125,839.493)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="273" y="-268.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#5d5d5d" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-853.125,676.993)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="273" y="-216.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#59c837" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M10.4141,1037.36 L15,1041.95 L15,1038.36 C15,1037.95 14.4155,1037.36 14,1037.36 L10.4141,1037.36 M9,1038.78 L9,1042.36 C9,1042.78 9.5845,1043.36 10,1043.36 L13.5859,1043.36 L9,1038.78"/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-853.125,758.243)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="273" y="-242.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#59c837" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-978.125,595.743)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="313" y="-190.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#59c837" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.444,623.182)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M326.222,-184.418 C330.088,-184.418 333.222,-187.552 333.222,-191.418 C333.222,-195.284 330.088,-198.418 326.222,-198.418 C322.356,-198.418 319.222,-195.284 319.222,-191.418 C319.222,-187.552 322.356,-184.418 326.222,-184.418 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.42,704.673)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M326.214,-222.086 L326.214,-218.5 C326.214,-218.084 326.798,-217.5 327.214,-217.5 L330.8,-217.5 L326.214,-222.086"/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.42,704.673)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M326.215,-212.905 L326.215,-216.491 C326.215,-216.906 325.63,-217.491 325.215,-217.491 L321.629,-217.491 L326.215,-212.905"/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.444,623.182)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.2" >
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M326.222,-184.418 C330.088,-184.418 333.222,-187.552 333.222,-191.418 C333.222,-195.284 330.088,-198.418 326.222,-198.418 C322.356,-198.418 319.222,-195.284 319.222,-191.418 C319.222,-187.552 322.356,-184.418 326.222,-184.418 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.5 KiB |
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-978.125,595.743)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="313" y="-190.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#59c837" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.444,623.182)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M326.222,-184.418 C330.088,-184.418 333.222,-187.552 333.222,-191.418 C333.222,-195.284 330.088,-198.418 326.222,-198.418 C322.356,-198.418 319.222,-195.284 319.222,-191.418 C319.222,-187.552 322.356,-184.418 326.222,-184.418 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.42,704.673)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M326.214,-222.086 L326.214,-218.5 C326.214,-218.084 326.798,-217.5 327.214,-217.5 L330.8,-217.5 L326.214,-222.086"/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.42,704.673)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M326.215,-212.905 L326.215,-216.491 C326.215,-216.906 325.63,-217.491 325.215,-217.491 L321.629,-217.491 L326.215,-212.905"/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.444,623.182)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.2" >
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M326.222,-184.418 C330.088,-184.418 333.222,-187.552 333.222,-191.418 C333.222,-195.284 330.088,-198.418 326.222,-198.418 C322.356,-198.418 319.222,-195.284 319.222,-191.418 C319.222,-187.552 322.356,-184.418 326.222,-184.418 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.5 KiB |
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-978.125,676.993)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="313" y="-216.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#59c837" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.444,704.432)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M326.222,-210.418 C330.088,-210.418 333.222,-213.552 333.222,-217.418 C333.222,-221.284 330.088,-224.418 326.222,-224.418 C322.356,-224.418 319.222,-221.284 319.222,-217.418 C319.222,-213.552 322.356,-210.418 326.222,-210.418 "/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.42,704.673)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M326.214,-222.086 L326.214,-218.5 C326.214,-218.084 326.798,-217.5 327.214,-217.5 L330.8,-217.5 L326.214,-222.086"/>
|
||||
</g>
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-994.42,704.673)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0.5" >
|
||||
<path vector-effect="none" fill-rule="nonzero" d="M326.215,-212.905 L326.215,-216.491 C326.215,-216.906 325.63,-217.491 325.215,-217.491 L321.629,-217.491 L326.215,-212.905"/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="0 0 50 50"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
||||
<title>Qt SVG Document</title>
|
||||
<desc>Generated with Qt</desc>
|
||||
<defs>
|
||||
</defs>
|
||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
||||
|
||||
<g fill="#000000" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-978.125,839.493)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
opacity="0" >
|
||||
<rect x="313" y="-268.638" width="16" height="16"/>
|
||||
</g>
|
||||
|
||||
<g fill="#5d5d5d" fill-opacity="1" stroke="none" transform="matrix(3.125,0,0,3.125,-12.5,-3226.13)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
<path vector-effect="none" fill-rule="evenodd" d="M12.0001,1047.36 C15.866,1047.36 19,1044.23 19,1040.36 C19,1036.5 15.866,1033.36 12.0001,1033.36 C8.13402,1033.36 5,1036.5 5,1040.36 C5,1044.23 8.13402,1047.36 12.0001,1047.36 "/>
|
||||
</g>
|
||||
|
||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
||||
>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |