Initial commit

This commit is contained in:
2024-07-14 13:55:45 +02:00
commit 55373d6ed9
75 changed files with 6638 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
[colors.primary]
foreground = "#bdbdbd"
background = "#080808"
[colors.cursor]
cursor = "#9e9e9e"
text = "#080808"
[colors.normal]
black = "#323437"
red = "#ff5454"
green = "#8cc85f"
yellow = "#e3c78a"
blue = "#80a0ff"
magenta = "#cf87e8"
cyan = "#79dac8"
white = "#c6c6c6"
[colors.bright]
black = "#949494"
red = "#ff5189"
green = "#36c692"
yellow = "#c2c292"
blue = "#74b2ff"
magenta = "#ae81ff"
cyan = "#85dc85"
white = "#e4e4e4"
# [colors.search.focused_match]
# background = "#000000"
# foreground = "#cccccc"
# [colors.search.matches]
# background = "#cccccc"
# foreground = "#000000"
[colors.selection]
background = "#b2ceee"
text = "#080808"
[colors.vi_mode_cursor]
cursor = "#b2ceee"
text = "#080808"
[env]
TERM = "xterm-256color"
[font.normal]
family = "Iosevka Custom"
style = "Regular"
[mouse]
hide_when_typing = true
[shell]
program = "zsh"
[window]
dynamic_padding = true
decorations = "None"
[window.dimensions]
columns = 120
lines = 36
[window.padding]
x = 3
y = 3
+459
View File
@@ -0,0 +1,459 @@
# See dunst(5) for all configuration options
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = keyboard
### Geometry ###
# dynamic width from 0 to 300
# width = (0, 300)
# constant width of 300
width = (0, 300)
# The maximum height of a single notification, excluding the frame.
height = 300
# Position the notification in the top right corner
origin = bottom-right
# Offset from the origin
offset = 10x10
# Scale factor. It is auto-detected if value is 0.
scale = 0
# Maximum number of notification (0 means no limit)
notification_limit = 20
### Progress bar ###
# Turn on the progess bar. It appears when a progress hint is passed with
# for example dunstify -h int:value:12
progress_bar = true
# Set the progress bar height. This includes the frame, so make sure
# it's at least twice as big as the frame width.
progress_bar_height = 10
# Set the frame width of the progress bar
progress_bar_frame_width = 1
# Set the minimum width for the progress bar
progress_bar_min_width = 150
# Set the maximum width for the progress bar
progress_bar_max_width = 300
# Corner radius for the progress bar. 0 disables rounded corners.
progress_bar_corner_radius = 0
# Corner radius for the icon image.
icon_corner_radius = 0
# Show how many messages are currently hidden (because of
# notification_limit).
indicate_hidden = yes
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
transparency = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
# If gap_size is greater than 0, this setting will be ignored.
separator_height = 2
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Padding between text and icon.
text_icon_padding = 0
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 3
# Defines color of the frame around the notification window.
frame_color = "#323437"
# Size of gap to display between notifications - requires a compositor.
# If value is greater than 0, separator_height will be ignored and a border
# of size frame_width will be drawn around each notification instead.
# Click events on gaps do not currently propagate to applications below.
gap_size = 0
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
idle_threshold = 60
### Text ###
font = Noto Sans 11
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <https://docs.gtk.org/Pango/pango_markup.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Vertical alignment of message text and icon.
# Possible values are "top", "center" and "bottom".
vertical_alignment = center
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Recursive icon lookup. You can set a single theme, instead of having to
# define all lookup paths.
enable_recursive_icon_lookup = true
# Set icon theme (only used for recursive icon lookup)
icon_theme = Adwaita
# You can also set multiple icon themes, with the leftmost one being used first.
# icon_theme = "Adwaita, breeze"
# Align icons left/right/top/off
icon_position = left
# Scale small icons up to this size, set to 0 to disable. Helpful
# for e.g. small files or high-dpi screens. In case of conflict,
# max_icon_size takes precedence over this.
min_icon_size = 32
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 128
# Paths to default icons (only neccesary when not using recursive icon lookup)
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/xdg-open
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 0
# Ignore the dbus closeNotification message.
# Useful to enforce the timeout set by dunst configuration. Without this
# parameter, an application may close the notification sent before the
# user defined timeout.
ignore_dbusclose = false
### Wayland ###
# These settings are Wayland-specific. They have no effect when using X11
# Uncomment this if you want to let notications appear under fullscreen
# applications (default: overlay)
# layer = top
# Set this to true to use X11 output on Wayland.
force_xwayland = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
### mouse
# Defines list of actions for each mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: Invoke the action determined by the action_name rule. If there is no
# such action, open the context menu.
# * open_url: If the notification has exactly one url, open it. If there are multiple
# ones, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
# * context: Open context menu for the notification.
# * context_all: Open context menu for all notifications.
# These values can be strung together for each mouse event, and
# will be executed in sequence.
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#222222"
foreground = "#888888"
timeout = 5
# Icon for notifications with low urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_normal]
background = "#285577"
foreground = "#ffffff"
timeout = 5
# Icon for notifications with normal urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_critical]
background = "#900000"
foreground = "#ffffff"
frame_color = "#ff0000"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#default_icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
#
# Messages can be matched by
# appname (discouraged, see desktop_entry)
# body
# category
# desktop_entry
# icon
# match_transient
# msg_urgency
# stack_tag
# summary
#
# and you can override the
# background
# foreground
# format
# frame_color
# fullscreen
# new_icon
# set_stack_tag
# set_transient
# set_category
# timeout
# urgency
# icon_position
# skip_display
# history_ignore
# action_name
# word_wrap
# ellipsize
# alignment
# hide_text
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
# Disable the transient hint so that idle_threshold cannot be bypassed from the
# client
#[transient_disable]
# match_transient = yes
# set_transient = no
#
# Make the handling of transient notifications more strict by making them not
# be placed in history.
#[transient_history_ignore]
# match_transient = yes
# history_ignore = yes
# fullscreen values
# show: show the notifications, regardless if there is a fullscreen window opened
# delay: displays the new notification, if there is no fullscreen window active
# If the notification is already drawn, it won't get undrawn.
# pushback: same as delay, but when switching into fullscreen, the notification will get
# withdrawn from screen again and will get delayed like a new notification
#[fullscreen_delay_everything]
# fullscreen = delay
#[fullscreen_show_critical]
# msg_urgency = critical
# fullscreen = show
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# skip_display = true
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[skip-display]
# # This notification will not be displayed, but will be included in the history
# summary = "foobar"
# skip_display = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
#[stack-volumes]
# appname = "some_volume_notifiers"
# set_stack_tag = "volume"
#
# vim: ft=cfg
+26
View File
@@ -0,0 +1,26 @@
show_calendar = 1
show_timezones = 1
mark_today = 1
show_week_numbers = 1
close_on_unfocus = 1
# external_viewer = sunbird \-showdate "%Y\-%m\-%d"
clock_format = %a %d %b %H:%M
force_lang = en_US.utf8
mainwindow_decorated = 0
mainwindow_keep_above = 1
mainwindow_sticky = 0
mainwindow_skip_taskbar = 1
mainwindow_resizable = 0
mainwindow_position = mouse
# Desktop
mainwindow_xoffset = -96
mainwindow_yoffset = -96
# Laptop
#mainwindow_xoffset = -48
#mainwindow_yoffset = -42
clock_label = Local
clock_tz = :Europe/Stockholm
clock_label = EDT
clock_tz = :US/Eastern
clock_label = UTC
clock_tz = :UTC
+6
View File
@@ -0,0 +1,6 @@
file:///home/oscar/Documents
file:///home/oscar/Music
file:///home/oscar/Pictures
file:///home/oscar/Videos
file:///home/oscar/Downloads
file:///home/oscar/repos repos
+3
View File
@@ -0,0 +1,3 @@
[Settings]
gtk-application-prefer-dark-theme=1
gtk-theme-name=Adwaita
+3
View File
@@ -0,0 +1,3 @@
[Settings]
gtk-application-prefer-dark-theme=1
gtk-theme-name=Adwaita
+277
View File
@@ -0,0 +1,277 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:Noto Sans 11
# To disable titlebar
default_border pixel 1
default_floating_border pixel 1
for_window [class="Thunar" instance="thunar"] floating enable
for_window [class="Gnome-screenshot" instance="gnome-screenshot"] floating enable
for_window [class="File-roller" instance="file-roller"] floating enable
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Linux (brightnessctl)
set $get_brightness $(brightnessctl info | grep -Eo '[0-9]+%' | cut -d% -f1)
set $incr_brightness brightnessctl set +5%
set $decr_brightness brightnessctl set 5%-
# FreeBSD (intel-backlight)
# set $get_brightness $(intel_backlight | grep -Eo '[0-9]+%' | cut -d% -f1)
# set $incr_brightness intel_backlight incr || true
# set $decr_brightness intel_backlight decr || true
bindsym XF86MonBrightnessUp \
exec --no-startup-id $incr_brightness \
&& notify-send \
-u low \
-h int:value:$get_brightness \
-h string:synchronous:volume "Brightness: $get_brightness %"
bindsym XF86MonBrightnessDown \
exec --no-startup-id $decr_brightness \
&& notify-send \
-u low \
-h int:value:$get_brightness \
-h string:synchronous:volume "Brightness: $get_brightness %"
bindsym XF86AudioPlay \
exec --no-startup-id playerctl play-pause \
&& sleep 0.05 \
&& notify-send \
-u low \
-h string:synchronous:play "Media: $(playerctl status)"
bindsym XF86AudioNext \
exec --no-startup-id playerctl next
bindsym XF86AudioPrev \
exec --no-startup-id playerctl previous
bindsym XF86AudioStop \
exec --no-startup-id playerctl stop
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# move tiling windows via drag & drop by left-clicking into the title bar,
# or left-clicking anywhere into the window while holding the floating modifier.
tiling_drag modifier titlebar
# kill focused window
bindsym $mod+Shift+q kill
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+v split h
# split in vertical orientation
bindsym $mod+c split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+Shift+a layout stacking
bindsym $mod+Shift+w layout tabbed
bindsym $mod+Shift+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+x exec --no-startup-id \
"i3-nagbar \
-t warning \
-p \
-m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' \
-B 'Yes, exit i3' \
'i3-msg exit'"
bindsym $mod+Ctrl+Shift+x exec --no-startup-id i3-msg exit
# lock screen
bindsym $mod+Shift+o exec --no-startup-id i3lock --color 000000 && sleep 5 && xset dpms force off
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym h resize shrink width 5 px
bindsym j resize grow height 5 px
bindsym k resize shrink height 5 px
bindsym l resize grow width 5 px
# same bindings, but for the arrow keys
bindsym Left resize shrink width 5 px
bindsym Down resize grow height 5 px
bindsym Up resize shrink height 5 px
bindsym Right resize grow width 5 px
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Custom options
focus_follows_mouse yes
mouse_warping none
# hide_edge_borders smart
# Custom bindings
bindsym $mod+Ctrl+Right move workspace to output right
bindsym $mod+Ctrl+Left move workspace to output left
bindsym $mod+Ctrl+l move workspace to output right
bindsym $mod+Ctrl+h move workspace to output left
bindsym $mod+Tab workspace next_on_output
bindsym $mod+Shift+Tab workspace prev_on_output
# Launchers
bindsym $mod+d exec --no-startup-id rofi -show drun
bindsym $mod+F2 exec --no-startup-id rofi -show run
# bindsym $mod+e exec --no-startup-id rofi -show filebrowser
bindsym $mod+e exec --no-startup-id thunar
bindsym $mod+Return exec --no-startup-id i3-sensible-terminal
bindsym $mod+Shift+s exec --no-startup-id gnome-screenshot --interactive
# Scratchpad
# Make the currently focused window a scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the first scratchpad window
bindsym $mod+minus scratchpad show
# mode "scratchpad" {
# bindsym $mod+Tab scratchpad show; scratchpad show
# bindsym Return floating toggle; mode "default"
# bindsym Escape scratchpad show; mode "default"
# bindsym $mod+Escape mode "default"
# }
# bindsym $mod+Tab mode "scratchpad"; scratchpad show
# Custom theme
# class border backgr. text indicator child_border
client.focused #323437 #323437 #bdbdbd #949494 #949494
#client.focused #9e9e9e #9e9e9e #080808 #323437 #323437
client.focused_inactive #323437 #323437 #bdbdbd #323437 #323437
client.unfocused #323437 #1c1c1c #9e9e9e #323437 #323437
client.urgent #9d3b19 #9d3b19 #bdbdbd #9d3b19 #9d3b19
client.placeholder #323437 #323437 #bdbdbd #323437 #323437
client.background #ffffff
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
# id primary-bar
# output primary
font pango:Noto Sans 11
position top
workspace_buttons yes
# workspace_min_width 40px
# height 40
tray_output primary
tray_padding 4
separator_symbol " "
status_command get-status
colors {
separator #d3d7cf
background #080808
statusline #e4e4e4
focused_workspace #4c7899 #285577 #e4e4e4
active_workspace #323437 #323437 #bdbdbd
inactive_workspace #323437 #080808 #bdbdbd
urgent_workspace #9d3b19 #9d3b19 #d3d7cf
}
}
+57
View File
@@ -0,0 +1,57 @@
general {
output_format = "i3bar"
colors = true
interval = 5
}
order += "disk /"
order += "cpu_temperature 0"
order += "cpu_usage"
order += "memory"
order += "battery 0"
order += "time"
order += "tztime chennai"
order += "tztime stockholm"
disk "/" {
format = "DISK: %used / %total"
low_threshold = 20
threshold_type = "gbytes_avail"
}
cpu_temperature 0 {
format = "CPU: %degrees °C"
max_threshold = 75
path = "/sys/devices/virtual/thermal/thermal_zone0/temp"
#path = "hw.acpi.thermal.tz0.temperature"
}
cpu_usage {
format = "%usage"
max_threshold = 95
degraded_threshold = 90
}
memory {
format = "MEM: %used / %total"
threshold_degraded = "2G"
threshold_critical = "1G"
}
battery 0 {
format = "%status: %percentage"
format_percentage = "%.00f%s"
format_down = "No battery"
path = "/sys/class/power_supply/BAT%d/uevent"
low_threshold = 10
threshold_type = "percentage"
}
time {
format = "%d-%m-%Y "
}
tztime stockholm {
format = "%H:%M %Z"
timezone = "Europe/Stockholm"
}
File diff suppressed because it is too large Load Diff
+17
View File
@@ -0,0 +1,17 @@
# set previewer ~/.config/lf/pv_sandbox.sh
# map i $~/.config/lf/pv_sandbox.sh $f | less -R
set preview false
set ratios 1
set hidden true
set info size:time
set promptfmt "\033[34;1m%d\033[0m"
set incsearch true
set incfilter true
set period 1
# map f filter
# map j updir
# map k down
# map l up
# map ; open
+5
View File
@@ -0,0 +1,5 @@
#!/usr/bin/env sh
read -p "Path: " path
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/env sh
case "$1" in
*.tar*) tar tf "$1";;
*.zip) unzip -l "$1";;
*.rar) unrar l "$1";;
*.7z) 7z l "$1";;
*.pdf) pdftotext "$1" -;;
*) highlight -O ansi "$1";;
esac
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env sh
set -euo pipefail
(
exec bwrap \
--ro-bind /usr/bin /usr/bin \
--ro-bind /usr/share/ /usr/share/ \
--ro-bind /usr/lib /usr/lib \
--ro-bind /usr/lib64 /usr/lib64 \
--symlink /usr/bin /bin \
--symlink /usr/bin /sbin \
--symlink /usr/lib /lib \
--symlink /usr/lib64 /lib64 \
--proc /proc \
--dev /dev \
--ro-bind /etc /etc \
--ro-bind ~/.config ~/.config \
--ro-bind ~/.cache ~/.cache \
--ro-bind "$PWD" "$PWD" \
--unshare-all \
--new-session \
sh ~/.config/lf/pv.sh "$@"
)
+425
View File
@@ -0,0 +1,425 @@
#################################
# Shadows #
#################################
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# shadow = false
# The blur radius for shadows, in pixels. (defaults to 12)
# shadow-radius = 12
shadow-radius = 7;
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
# shadow-opacity = .75
# The left offset for shadows, in pixels. (defaults to -15)
# shadow-offset-x = -15
shadow-offset-x = -7;
# The top offset for shadows, in pixels. (defaults to -15)
# shadow-offset-y = -15
shadow-offset-y = -7;
# Red color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-red = 0
# Green color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-green = 0
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-blue = 0
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
# shadow-color = "#000000"
# Specify a list of conditions of windows that should have no shadow.
#
# examples:
# shadow-exclude = "n:e:Notification";
#
# shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
# clip-shadow-above = []
# Specify a X geometry that describes the region in which shadow should not
# be painted in, such as a dock window region. Use
# shadow-exclude-reg = "x10+0+0"
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
#
# shadow-exclude-reg = ""
# Crop shadow of a window fully on a particular monitor to that monitor. This is
# currently implemented using the X RandR extension.
# crop-shadow-to-monitor = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used.
# fading = false
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.03;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.03;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
# Specify a list of conditions of windows that should not be faded.
# fade-exclude = []
# Do not fade on window open/close.
# no-fading-openclose = false
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false
#################################
# Transparency / Opacity #
#################################
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
# inactive-opacity = 1
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
# inactive-opacity-override = true
inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
# active-opacity = 1.0
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0
# Specify a list of conditions of windows that should never be considered focused.
# focus-exclude = []
focus-exclude = [ "class_g = 'Cairo-clock'" ];
# Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
# Note we don't make any guarantee about possible conflicts with other
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
# example:
# opacity-rule = [ "80:class_g = 'URxvt'" ];
#
# opacity-rule = []
#################################
# Corners #
#################################
# Sets the radius of rounded window corners. When > 0, the compositor will
# round the corners of windows. Does not interact well with
# `transparent-clipping`.
corner-radius = 0
# Exclude conditions for rounded corners.
rounded-corners-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'"
];
#################################
# Background-Blurring #
#################################
# Parameters for background blurring, see the *BLUR* section for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
#
# blur-strength = 5
# Blur background of semi-transparent / ARGB windows.
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:
# blur-background
# Bad in performance, with driver-dependent behavior. The name may change.
#
# blur-background-frame = false
# Use fixed blur strength rather than adjusting according to window opacity.
# blur-background-fixed = false
# Specify the blur convolution kernel, with the following format:
# example:
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
#
# blur-kern = ""
blur-kern = "3x3box";
# Exclude conditions for background blur.
# blur-background-exclude = []
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
# General Settings #
#################################
# Enable remote control via D-Bus. See the man page for more details.
# dbus = true
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, `egl` or `xr_glx_hybrid`.
# `xrender` is the default one.
#
backend = "egl";
# Use higher precision during rendering, and apply dither when presenting the
# rendered screen. Reduces banding artifacts, but might cause performance
# degradation. Only works with OpenGL.
dithered-present = false;
# Enable/disable VSync.
# vsync = false
vsync = true;
# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
#
# mark-wmwin-focused = false
mark-wmwin-focused = true;
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
# mark-ovredir-focused = false
mark-ovredir-focused = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = true;
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
#
# detect-client-opacity = false
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
#
# use-ewmh-active-win = false
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
# unredir-if-possible-exclude = []
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# detect-transient = false
detect-transient = true;
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. This usually means windows from the same application
# will be considered focused or unfocused at the same time.
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
#
# detect-client-leader = false
# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
# If the value is positive, those additional pixels will not be actually painted
# to screen, only used in blur calculation, and such. (Due to technical limitations,
# with use-damage, those pixels will still be incorrectly painted to screen.)
# Primarily used to fix the line corruption issues of blur,
# in which case you should use the blur radius value here
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
# with a 5x5 one you use `--resize-damage 2`, and so on).
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
#
# resize-damage = 1
# Specify a list of conditions of windows that should be painted with inverted color.
# Resource-hogging, and is not well tested.
#
# invert-color-include = []
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
#
glx-no-stencil = 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, xf86-video-intel, etc.).
# Recommended if it works.
#
# glx-no-rebind-pixmap = false
# Disable the use of damage information.
# This cause the whole screen to be redrawn every time, instead of the part of the screen
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
# The opposing option is use-damage
#
# no-use-damage = false
use-damage = true;
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window
# contents. Read the man page for a detailed explanation of the interface.
#
# window-shader-fg = "default"
# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar
# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg.
#
# window-shader-fg-rule = [
# "my_shader.frag:window_type != 'dock'"
# ]
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
#
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them.
#
# transparent-clipping = false
# Specify a list of conditions of windows that should never have transparent
# clipping applied. Useful for screenshot tools, where you need to be able to
# see through transparent parts of the window.
#
# transparent-clipping-exclude = []
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# log-level = "debug"
log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = "/path/to/your/log/file"
# Show all X errors (for debugging)
# show-all-xerrors = false
# Write process ID to a file.
# write-pid-path = "/path/to/your/log/file"
# Window type settings
#
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
# "tooltip", "notification", "combo", and "dnd".
#
# Following per window-type options are available: ::
#
# fade, shadow:::
# Controls window-type-specific shadow and fade settings.
#
# opacity:::
# Controls default opacity of the window type.
#
# focus:::
# Controls whether the window of this type is to be always considered focused.
# (By default, all window types except "normal" and "dialog" has this on.)
#
# full-shadow:::
# Controls whether shadow is drawn under the parts of the window that you
# normally won't be able to see. Useful when the window has parts of it
# transparent, and you want shadows in those areas.
#
# clip-shadow-above:::
# Controls whether shadows that would have been drawn above the window should
# be clipped. Useful for dock windows that should have no shadow painted on top.
#
# redir-ignore:::
# Controls whether this type of windows should cause screen to become
# redirected again after been unredirected. If you have unredir-if-possible
# set, and doesn't want certain window to cause unnecessary screen redirection,
# you can set this to `true`.
#
wintypes:
{
tooltip = { fade = false; shadow = false; opacity = 1.0; focus = true; full-shadow = false; };
dock = { shadow = false; clip-shadow-above = true; }
dnd = { shadow = false; }
popup_menu = { opacity = 1.0; }
dropdown_menu = { opacity = 1.0; }
};
+154
View File
@@ -0,0 +1,154 @@
configuration {
modes: "drun,run,filebrowser";
font: "Noto Sans 12";
/* location: 0;*/
/* yoffset: 0;*/
/* xoffset: 0;*/
/* fixed-num-lines: true;*/
show-icons: true;
/* terminal: "rofi-sensible-terminal";*/
/* ssh-client: "ssh";*/
/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/
/* run-command: "{cmd}";*/
/* run-list-command: "";*/
run-shell-command: "{terminal} -e zsh -ic '{cmd} && read'";
/* run-shell-command: "{terminal} -e {cmd}";*/
/* window-command: "wmctrl -i -R {window}";*/
/* window-match-fields: "all";*/
/* icon-theme: ;*/
/* drun-match-fields: "name,generic,exec,categories,keywords";*/
/* drun-categories: ;*/
/* drun-show-actions: false;*/
/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/
/* drun-url-launcher: "xdg-open";*/
/* disable-history: false;*/
/* ignored-prefixes: "";*/
/* sort: false;*/
/* sorting-method: "normal";*/
/* case-sensitive: false;*/
/* cycle: true;*/
/* sidebar-mode: false;*/
/* hover-select: false;*/
/* eh: 1;*/
/* auto-select: false;*/
/* parse-hosts: false;*/
/* parse-known-hosts: true;*/
/* combi-modes: "window,run";*/
/* matching: "normal";*/
/* tokenize: true;*/
/* m: "-5";*/
/* filter: ;*/
/* dpi: -1;*/
/* threads: 0;*/
scroll-method: 1;
/* window-format: "{w} {c} {t}";*/
/* click-to-exit: true;*/
/* max-history-size: 25;*/
/* combi-hide-mode-prefix: false;*/
/* combi-display-format: "{mode} {text}";*/
/* matching-negate-char: '-' /* unsupported */;*/
/* cache-dir: ;*/
/* window-thumbnail: false;*/
/* drun-use-desktop-cache: false;*/
/* drun-reload-desktop-cache: false;*/
/* normalize-match: false;*/
/* steal-focus: false;*/
/* application-fallback-icon: ;*/
/* refilter-timeout-limit: 8192;*/
/* xserver-i300-workaround: false;*/
/* pid: "/run/user/1000/rofi.pid";*/
/* display-window: ;*/
/* display-windowcd: ;*/
/* display-run: ;*/
/* display-ssh: ;*/
/* display-drun: ;*/
/* display-combi: ;*/
/* display-keys: ;*/
/* display-filebrowser: ;*/
/* kb-primary-paste: "Control+V,Shift+Insert";*/
/* kb-secondary-paste: "Control+v,Insert";*/
/* kb-clear-line: "Control+w";*/
/* kb-move-front: "Control+a";*/
/* kb-move-end: "Control+e";*/
/* kb-move-word-back: "Alt+b,Control+Left";*/
/* kb-move-word-forward: "Alt+f,Control+Right";*/
/* kb-move-char-back: "Left,Control+b";*/
/* kb-move-char-forward: "Right,Control+f";*/
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
/* kb-remove-word-forward: "Control+Alt+d";*/
/* kb-remove-char-forward: "Delete,Control+d";*/
/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/
/* kb-remove-to-eol: "Control+k";*/
/* kb-remove-to-sol: "Control+u";*/
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
/* kb-accept-custom: "Control+Return";*/
/* kb-accept-custom-alt: "Control+Shift+Return";*/
/* kb-accept-alt: "Shift+Return";*/
/* kb-delete-entry: "Shift+Delete";*/
/* kb-mode-next: "Shift+Right,Control+Tab";*/
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
/* kb-mode-complete: "Control+l";*/
/* kb-row-left: "Control+Page_Up";*/
/* kb-row-right: "Control+Page_Down";*/
/* kb-row-up: "Up,Control+p";*/
/* kb-row-down: "Down,Control+n";*/
/* kb-row-tab: "";*/
/* kb-element-next: "Tab";*/
/* kb-element-prev: "ISO_Left_Tab";*/
/* kb-page-prev: "Page_Up";*/
/* kb-page-next: "Page_Down";*/
/* kb-row-first: "Home,KP_Home";*/
/* kb-row-last: "End,KP_End";*/
/* kb-row-select: "Control+space";*/
/* kb-screenshot: "Alt+S";*/
/* kb-ellipsize: "Alt+period";*/
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
/* kb-toggle-sort: "Alt+grave";*/
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
/* kb-custom-1: "Alt+1";*/
/* kb-custom-2: "Alt+2";*/
/* kb-custom-3: "Alt+3";*/
/* kb-custom-4: "Alt+4";*/
/* kb-custom-5: "Alt+5";*/
/* kb-custom-6: "Alt+6";*/
/* kb-custom-7: "Alt+7";*/
/* kb-custom-8: "Alt+8";*/
/* kb-custom-9: "Alt+9";*/
/* kb-custom-10: "Alt+0";*/
/* kb-custom-11: "Alt+exclam";*/
/* kb-custom-12: "Alt+at";*/
/* kb-custom-13: "Alt+numbersign";*/
/* kb-custom-14: "Alt+dollar";*/
/* kb-custom-15: "Alt+percent";*/
/* kb-custom-16: "Alt+dead_circumflex";*/
/* kb-custom-17: "Alt+ampersand";*/
/* kb-custom-18: "Alt+asterisk";*/
/* kb-custom-19: "Alt+parenleft";*/
/* kb-select-1: "Super+1";*/
/* kb-select-2: "Super+2";*/
/* kb-select-3: "Super+3";*/
/* kb-select-4: "Super+4";*/
/* kb-select-5: "Super+5";*/
/* kb-select-6: "Super+6";*/
/* kb-select-7: "Super+7";*/
/* kb-select-8: "Super+8";*/
/* kb-select-9: "Super+9";*/
/* kb-select-10: "Super+0";*/
/* ml-row-left: "ScrollLeft";*/
/* ml-row-right: "ScrollRight";*/
/* ml-row-up: "ScrollUp";*/
/* ml-row-down: "ScrollDown";*/
/* me-select-entry: "MousePrimary";*/
/* me-accept-entry: "MouseDPrimary";*/
/* me-accept-custom: "Control+MouseDPrimary";*/
timeout {
action: "kb-cancel";
delay: 0;
}
filebrowser {
directory: "/home/oscar";
directories-first: true;
sorting-method: "mtime";
}
}
@theme "rounded-blue-dark.rasi"
+18
View File
@@ -0,0 +1,18 @@
/*******************************************************************************
* ROUNDED THEME FOR ROFI
* User : LR-Tech
* Theme Repo : https://github.com/lr-tech/rofi-themes-collection
*******************************************************************************/
* {
bg0: #212121F2;
bg1: #2A2A2A;
bg2: #3D3D3D80;
bg3: #1A73E8F2;
fg0: #E6E6E6;
fg1: #FFFFFF;
fg2: #969696;
fg3: #3D3D3D;
}
@import "rounded-common.rasi"
+93
View File
@@ -0,0 +1,93 @@
/*******************************************************************************
* ROUNDED THEME FOR ROFI
* User : LR-Tech
* Theme Repo : https://github.com/lr-tech/rofi-themes-collection
*******************************************************************************/
* {
font: "Roboto 12";
background-color: transparent;
text-color: @fg0;
margin: 0px;
padding: 0px;
spacing: 0px;
}
window {
location: center;
width: 480;
border-radius: 24px;
background-color: @bg0;
}
mainbox {
padding: 12px;
}
inputbar {
background-color: @bg1;
border-color: @bg3;
border: 2px;
border-radius: 16px;
padding: 8px 16px;
spacing: 8px;
children: [ prompt, entry ];
}
prompt {
text-color: @fg2;
}
entry {
placeholder: "Search";
placeholder-color: @fg3;
}
message {
margin: 12px 0 0;
border-radius: 16px;
border-color: @bg2;
background-color: @bg2;
}
textbox {
padding: 8px 24px;
}
listview {
background-color: transparent;
margin: 12px 0 0;
lines: 8;
columns: 1;
fixed-height: false;
}
element {
padding: 8px 16px;
spacing: 8px;
border-radius: 16px;
}
element normal active {
text-color: @bg3;
}
element selected normal, element selected active {
background-color: @bg3;
}
element-icon {
size: 1em;
vertical-align: 0.5;
}
element-text {
text-color: inherit;
}
+18
View File
@@ -0,0 +1,18 @@
/*******************************************************************************
* ROUNDED THEME FOR ROFI
* User : LR-Tech
* Theme Repo : https://github.com/lr-tech/rofi-themes-collection
*******************************************************************************/
* {
bg0: #212121F2;
bg1: #2A2A2A;
bg2: #3D3D3D80;
bg3: #616161F2;
fg0: #E6E6E6;
fg1: #FFFFFF;
fg2: #969696;
fg3: #3D3D3D;
}
@import "rounded-common.rasi"
+1
View File
@@ -0,0 +1 @@
plugins/
+195
View File
@@ -0,0 +1,195 @@
# `set` is alias for `set-option`
# `set -g` for global window/session (window or session is inferred if not -w or -s is specified)
# `set -a` to append
# Use tmux* TERM over xterm* for better tmux compatibility
set -g default-terminal "tmux-256color"
################
### Features ###
################
## Ref: http://man.openbsd.org/OpenBSD-current/man1/tmux.1#terminal-features__
# Supports 256 colours with the SGR escape sequences.
set -ag terminal-features ",*:256"
# Allows setting the system clipboard.
set -ag terminal-features ",*:clipboard"
# Allows setting the cursor colour.
set -ag terminal-features ",*:ccolour"
# Allows setting the cursor style.
set -ag terminal-features ",*:cstyle"
# Supports focus reporting.
set -ag terminal-features ",*:focus"
# Supports OSC 8 hyperlinks.
set -ag terminal-features ",*:hyperlinks"
# Supports xterm(1) mouse sequences.
set -ag terminal-features ",*:mouse"
# Supports the overline SGR attribute.
set -ag terminal-features ",*:overline"
# Supports the DECFRA rectangle fill escape sequence.
set -ag terminal-features ",*:rectfill"
# Supports RGB colour with the SGR escape sequences.
set -ag terminal-features ",*:RGB"
# Supports the strikethrough SGR escape sequence.
set -ag terminal-features ",*:strikethrough"
# Supports xterm(1) title setting.
set -ag terminal-features ",*:title"
# Allows underscore style and colour to be set.
set -ag terminal-features ",*:usstyle"
#################
### Overrides ###
#################
# Undercurl color support
set -ag terminal-overrides ',*:Smulx=\E[4::%p1%dm'
# Underline / Underscore color support
set -ag terminal-overrides ',*:Setulc=\E[58::2::::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'
#############
### Title ###
#############
set -g set-titles on
set -g set-titles-string "#T"
##############
### Status ###
##############
set -g status on
set -g status-bg default
set -g status-fg white
set -g status-style bg=default
set -g status-position bottom
set -g status-right "#H #(\
$TMUX_PLUGIN_MANAGER_PATH/tmux-mem-cpu-load/tmux-mem-cpu-load \
--interval 1 \
--graph-lines 0 \
--mem-mode 1 \
--averages-count 0 \
) %H:%M %d-%m-%Y"
set -g status-right-length 120
set -g window-status-format '#I:#T#F'
# Fix initial title being the hostname for a split second, see:
# https://man7.org/linux/man-pages/man1/tmux.1.html#NAMES_AND_TITLES
set -g window-status-current-format '#I:#{s/^#{host}$/~/:pane_title}#F'
############
### Misc ###
############
set -g update-environment 'DISPLAY TERM XAUTHORITY WINDOWID'
set -g default-command 'zsh'
setw -g pane-border-style 'fg=black'
setw -g pane-active-border-style 'fg=black'
set -g mouse on
set -g message-command-style bg=black,fg=white
set -g message-style bg=black,fg=white
set -g repeat-time 1000
set -g mode-keys vi
set -g status-interval 1
set -g set-clipboard on
################
### Bindings ###
################
# Default bindings
# bind-key C-b send-prefix
# bind-key C-o rotate-window
# bind-key C-z suspend-client
# bind-key Space next-layout
# bind-key ! break-pane
# bind-key " split-window
# bind-key # list-buffers
# bind-key $ command-prompt -I #S "rename-session '%%'"
# bind-key % split-window -h
# bind-key & confirm-before -p "kill-window #W? (y/n)" kill-window
# bind-key ' command-prompt -p index "select-window -t ':%%'"
# bind-key ( switch-client -p
# bind-key ) switch-client -n
# bind-key , command-prompt -I #W "rename-window '%%'"
# bind-key - delete-buffer
# bind-key . command-prompt "move-window -t '%%'"
# bind-key 0 select-window -t :0
# bind-key 1 select-window -t :1
# bind-key 2 select-window -t :2
# bind-key 3 select-window -t :3
# bind-key 4 select-window -t :4
# bind-key 5 select-window -t :5
# bind-key 6 select-window -t :6
# bind-key 7 select-window -t :7
# bind-key 8 select-window -t :8
# bind-key 9 select-window -t :9
# bind-key : command-prompt
# bind-key ; last-pane
# bind-key = choose-buffer
# bind-key ? list-keys
# bind-key D choose-client
# bind-key L switch-client -l
# bind-key [ copy-mode
# bind-key ] paste-buffer
# bind-key c new-window
# bind-key d detach-client
# bind-key f command-prompt "find-window '%%'"
# bind-key i display-message
# bind-key l last-window
# bind-key n next-window
# bind-key o select-pane -t :.+
# bind-key p previous-window
# bind-key q display-panes
# bind-key s choose-tree
# bind-key t clock-mode
# bind-key w choose-window
# bind-key x confirm-before -p "kill-pane #P? (y/n)" kill-pane
# bind-key z resize-pane -Z
# bind-key { swap-pane -U
# bind-key } swap-pane -D
# bind-key ~ show-messages
# bind-key PPage copy-mode -u
# bind-key -r Up select-pane -U
# bind-key -r Down select-pane -D
# bind-key -r Left select-pane -L
# bind-key -r Right select-pane -R
# bind-key M-1 select-layout even-horizontal
# bind-key M-2 select-layout even-vertical
# bind-key M-3 select-layout main-horizontal
# bind-key M-4 select-layout main-vertical
# bind-key M-5 select-layout tiled
# bind-key M-n next-window -a
# bind-key M-o rotate-window -D
# bind-key M-p previous-window -a
# bind-key -r M-Up resize-pane -U 5
# bind-key -r M-Down resize-pane -D 5
# bind-key -r M-Left resize-pane -L 5
# bind-key -r M-Right resize-pane -R 5
# bind-key -r C-Up resize-pane -U
# bind-key -r C-Down resize-pane -D
# bind-key -r C-Left resize-pane -L
# bind-key -r C-Right resize-pane -R
# Custom
# -r == repeatable
# -n == no prefix
# Reload config
bind-key r source-file ~/.config/tmux/tmux.conf \; display-message "~/.config/tmux/tmux.conf reloaded"
# Use Ctrl to select
unbind -T root MouseDrag1Pane
unbind -T copy-mode-vi MouseDrag1Pane
bind-key -T root C-MouseDrag1Pane if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } { copy-mode -M }
bind-key -T copy-mode-vi C-MouseDrag1Pane select-pane \; send-keys -X begin-selection
# Don't stop copy mode after selecting
unbind -T copy-mode-vi MouseDragEnd1Pane
# More vim-like selection
bind-key -T copy-mode-vi 'v' send -X begin-selection # Begin selection in copy mode.
bind-key -T copy-mode-vi 'C-v' send -X rectangle-toggle # Begin selection in copy mode.
bind-key -T copy-mode-vi 'y' send -X copy-selection # Yank selection in copy mode.
# Plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'thewtex/tmux-mem-cpu-load'
if "test ! -d ~/.config/tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm && ~/.config/tmux/plugins/tpm/bin/install_plugins'"
run '~/.config/tmux/plugins/tpm/tpm'
+112
View File
@@ -0,0 +1,112 @@
local wezterm = require 'wezterm'
local act = wezterm.action
local M = {}
M.keys = {
{ key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen },
{ key = '=', mods = 'CTRL', action = act.IncreaseFontSize },
{ key = '-', mods = 'CTRL', action = act.DecreaseFontSize },
{ key = '0', mods = 'CTRL', action = act.ResetFontSize },
{ key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo("Clipboard") },
{ key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom("Clipboard") },
{ key = 'P', mods = 'SHIFT|CTRL', action = act.ActivateCommandPalette },
{ key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration },
{ key = 'F12', mods = 'NONE', action = act.ShowDebugOverlay },
}
M.mouse_bindings = {
-- Open links
{
event = { Up = { streak = 1, button = 'Left' } },
mods = 'CTRL',
action = act.OpenLinkAtMouseCursor,
},
-- Select text
{
event = { Down = { streak = 1, button = 'Left' } },
mods = 'CTRL',
action = act.SelectTextAtMouseCursor("Cell"),
},
{
event = { Drag = { streak = 1, button = 'Left' } },
mods = 'CTRL',
action = act.ExtendSelectionToMouseCursor("Cell"),
},
{
event = { Down = { streak = 1, button = 'Left' } },
mods = 'CTRL|SHIFT',
action = act.ExtendSelectionToMouseCursor("Cell"),
},
-- Select text in block mode
{
event = { Down = { streak = 1, button = 'Left' } },
mods = 'CTRL|ALT',
action = act.SelectTextAtMouseCursor("Block"),
},
{
event = { Drag = { streak = 1, button = 'Left' } },
mods = 'CTRL|ALT',
action = act.ExtendSelectionToMouseCursor("Block"),
},
{
event = { Down = { streak = 1, button = 'Left' } },
mods = 'CTRL|ALT|SHIFT',
action = act.ExtendSelectionToMouseCursor("Block"),
},
}
M.key_tables = wezterm.gui.default_key_tables()
-- table.insert(M.key_tables.copy_mode, {
-- key = 'y',
-- mods = 'NONE',
-- action = act.Multiple({
-- act.CopyTo("Clipboard"),
-- act.CopyMode("ClearSelectionMode"),
-- })
-- })
function M.enable_multiplexing()
table.insert(M.keys, { key = "c", mods = "LEADER", action = act.SpawnTab("CurrentPaneDomain") })
table.insert(M.keys, { key = '%', mods = "LEADER|SHIFT", action = act.SplitPane({ direction = "Down" }) })
table.insert(M.keys, { key = '"', mods = "LEADER|SHIFT", action = act.SplitPane({ direction = "Right" }) })
table.insert(M.keys, { key = "x", mods = "LEADER", action = act.CloseCurrentPane({ confirm = true }) })
table.insert(M.keys, { key = "n", mods = "LEADER", action = act.ActivateTabRelative(1) })
table.insert(M.keys, { key = "p", mods = "LEADER", action = act.ActivateTabRelative(-1) })
table.insert(M.keys, { key = "h", mods = "LEADER", action = act.ActivatePaneDirection('Left') })
table.insert(M.keys, { key = "l", mods = "LEADER", action = act.ActivatePaneDirection('Right') })
table.insert(M.keys, { key = "k", mods = "LEADER", action = act.ActivatePaneDirection('Up') })
table.insert(M.keys, { key = "j", mods = "LEADER", action = act.ActivatePaneDirection('Down') })
table.insert(M.keys, { key = "[", mods = "LEADER", action = act.ActivateCopyMode })
table.insert(M.keys, { key = '?', mods = 'LEADER|SHIFT', action = act.Search("CurrentSelectionOrEmptyString") })
for i = 1, 9 do
table.insert(M.keys, { key = tostring(i), mods = "LEADER", action = act.ActivateTab(i - 1) })
end
table.insert(M.mouse_bindings, {
event = { Down = { streak = 1, button = { WheelUp = 1 } } },
mods = 'NONE',
action = act.ScrollByLine(-3)
})
table.insert(M.mouse_bindings, {
event = { Down = { streak = 1, button = { WheelDown = 1 } } },
mods = 'NONE',
action = act.ScrollByLine(3)
})
table.insert(M.mouse_bindings, {
event = { Down = { streak = 1, button = { WheelUp = 1 } } },
mods = 'ALT',
action = act.ScrollByPage(-1)
})
table.insert(M.mouse_bindings, {
event = { Down = { streak = 1, button = { WheelDown = 1 } } },
mods = 'ALT',
action = act.ScrollByPage(1)
})
end
return M
+75
View File
@@ -0,0 +1,75 @@
local my_colors = {
foreground = '#b2b2b2',
background = '#000000',
cursor_fg = '#000000',
cursor_bg = '#b2b2b2',
cursor_border = '#b2b2b2',
selection_fg = '#000000',
selection_bg = '#b2b2b2',
scrollbar_thumb = '#000000',
split = '#000000',
ansi = {
'#2e3436', -- black
'#cc5555', -- red
'#4e9a06', -- green
'#c4a000', -- yellow
'#6465a4', -- blue
'#75507b', -- magenta
'#06989a', -- cyan
'#b2b2b2', -- white
},
brights = {
'#555753', -- black
'#ff5555', -- red
'#8ae234', -- green
'#fce94f', -- yellow
'#739fcf', -- blue
'#ad7fa8', -- magenta
'#34e2e2', -- cyan
'#d3d7cf', -- white
},
compose_cursor = 'orange',
tab_bar = {
-- The color of the strip that goes along the top of the window
-- (does not apply when fancy tab bar is in use)
background = '#000000',
-- The active tab is the one that has focus in the window
active_tab = {
-- The color of the background area for the tab
bg_color = '#000000',
-- The color of the text for the tab
fg_color = '#c0c0c0',
},
-- Inactive tabs are the tabs that do not have focus
inactive_tab = {
bg_color = '#000000',
fg_color = '#808080',
},
-- You can configure some alternate styling when the mouse pointer
-- moves over inactive tabs
inactive_tab_hover = {
bg_color = '#000000',
fg_color = '#c0c0c0',
-- The same options that were listed under the `active_tab` section above
-- can also be used for `inactive_tab_hover`.
},
-- The new tab button that let you create new tabs
new_tab = {
bg_color = '#000000',
fg_color = '#808080',
},
new_tab_hover = {
bg_color = '#000000',
fg_color = '#c0c0c0',
},
},
}
return my_colors
@@ -0,0 +1,38 @@
[metadata]
name = "moonfly"
origin_url = "https://github.com/bluz71/vim-moonfly-colors"
[colors]
background = "#080808"
foreground = "#bdbdbd"
cursor_bg = "#9e9e9e"
cursor_fg = "#080808"
cursor_border = "#9e9e9e"
selection_bg = "#b2ceee"
selection_fg = "#080808"
scrollbar_thumb = "#9e9e9e"
split = "#9e9e9e"
ansi = [
"#323437",
"#ff5454",
"#8cc85f",
"#e3c78a",
"#80a0ff",
"#cf87e8",
"#79dac8",
"#c6c6c6",
]
brights = [
"#949494",
"#ff5189",
"#36c692",
"#c2c292",
"#74b2ff",
"#ae81ff",
"#85dc85",
"#e4e4e4",
]
compose_cursor = "#e3c78a"
visual_bell = "#e3c78a"
+26
View File
@@ -0,0 +1,26 @@
local wezterm = require("wezterm")
local M = {}
function M.setup()
wezterm.on(
'format-tab-title',
function(tab, _, _, _, _, _)
local title = tab.tab_title
if not title or #title <= 0 then
title = tab.active_pane.title
end
title = " " .. tab.tab_index + 1 .. ": " .. title
if tab.is_active then
title = title .. "*"
else
title = title .. " "
end
return {
{ Text = title },
}
end
)
end
return M
+53
View File
@@ -0,0 +1,53 @@
local wezterm = require("wezterm")
local fonts = {}
local family = "Iosevka Custom"
-- Automatically includes fallback for nerd font symbols,
-- so it doesn't require a patched font.
fonts.regular = wezterm.font({
family = family,
weight = "Regular",
stretch = "Normal",
style = "Normal"
})
fonts.italic = wezterm.font({
family = family,
weight = "Regular",
stretch = "Normal",
style = "Italic"
})
fonts.bold = wezterm.font({
family = family,
weight = "Bold",
stretch = "Normal",
style = "Normal"
})
fonts.bolditalic = wezterm.font({
family = family,
weight = "Bold",
stretch = "Normal",
style = "Italic"
})
fonts.rules = {
italic = {
intensity = "Normal",
italic = true,
font = fonts.italic
},
bold = {
intensity = "Bold",
italic = false,
font = fonts.bold
},
bolditalic = {
intensity = "Bold",
italic = true,
font = fonts.bolditalic
},
}
return fonts
+72
View File
@@ -0,0 +1,72 @@
local wezterm = require("wezterm")
local config = wezterm.config_builder()
local ENABLE_MULTIPLEXING = false
-- quickstart: https://wezfurlong.org/wezterm/config/files.html
-- spec: https://wezfurlong.org/wezterm/config/lua/general.html
-- General settings
config.window_padding = {
left = 6,
right = 6,
top = 6,
bottom = 6,
}
config.audible_bell = "Disabled"
-- Settings below get overriden if multiplexing is enabled
config.window_decorations = "TITLE|RESIZE"
config.enable_tab_bar = false
config.enable_scroll_bar = false
config.check_for_updates = false
if string.find(wezterm.target_triple, "windows") then
-- config.default_prog = { "wsl", "--cd", "~" }
config.default_prog = { "pwsh" }
else
config.default_prog = { "zsh" }
end
-- Colors
config.color_scheme = "moonfly"
-- Fonts
local fonts = require("fonts")
config.font = fonts.regular
config.font_size = 11
config.font_rules = {
fonts.rules.italic,
fonts.rules.bold,
fonts.rules.bolditalic,
}
config.harfbuzz_features = { 'calt=0' }
-- Keybinding
local bindings = require("bindings")
if ENABLE_MULTIPLEXING then
config.window_decorations = "INTEGRATED_BUTTONS|RESIZE"
config.enable_tab_bar = true
config.enable_scroll_bar = true
config.use_fancy_tab_bar = false
config.show_new_tab_button_in_tab_bar = false
config.leader = { key = "b", mods = "CTRL", timeout_milliseconds = 1000 }
bindings.enable_multiplexing()
end
config.disable_default_key_bindings = true
config.keys = bindings.keys
config.key_tables = bindings.key_tables
config.disable_default_mouse_bindings = true
config.mouse_bindings = bindings.mouse_bindings
require("events").setup()
return config