feat: networking, swayimg, i3blocks
- prefer ethernet over wifi - swayimg migrate to Lua config - i3blocks migrate wifi to network-agnostic
This commit is contained in:
parent
9567af879f
commit
15f8b003e0
6 changed files with 183 additions and 287 deletions
14
etc/systemd/network/20-wired.network
Normal file
14
etc/systemd/network/20-wired.network
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
[Match]
|
||||
Name=enp1s0
|
||||
|
||||
[Link]
|
||||
RequiredForOnline=routable
|
||||
|
||||
[Network]
|
||||
DHCP=yes
|
||||
|
||||
[DHCPv4]
|
||||
RouteMetric=100
|
||||
|
||||
[IPv6AcceptRA]
|
||||
RouteMetric=100
|
||||
14
etc/systemd/network/25-wireless.network
Normal file
14
etc/systemd/network/25-wireless.network
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
[Match]
|
||||
Name=wlan0
|
||||
|
||||
[Link]
|
||||
RequiredForOnline=routable
|
||||
|
||||
[Network]
|
||||
DHCP=yes
|
||||
|
||||
[DHCPv4]
|
||||
RouteMetric=600
|
||||
|
||||
[IPv6AcceptRA]
|
||||
RouteMetric=600
|
||||
|
|
@ -14,9 +14,9 @@ background=#2E8B57
|
|||
command=echo " <b>$(date +'%A, %d %B %R %Z')</b> "
|
||||
interval=10
|
||||
|
||||
[wifi]
|
||||
[network]
|
||||
markup=pango
|
||||
command=~/bin/i3blocks/wifi
|
||||
command=~/bin/i3blocks/network
|
||||
interval=20
|
||||
|
||||
[cputemp]
|
||||
|
|
|
|||
|
|
@ -1,274 +0,0 @@
|
|||
# Any of these options can be overridden using the --config argument
|
||||
# on the command line, for instance:
|
||||
# $ swayimg --config="general.mode=gallery"
|
||||
|
||||
################################################################################
|
||||
# General configuration
|
||||
################################################################################
|
||||
[general]
|
||||
# Mode at startup (viewer/slideshow/gallery)
|
||||
mode = viewer
|
||||
# Window size (fullscreen/image, or absolute size)
|
||||
size = 1280,720
|
||||
# Sway/Hyprland only: Window position (auto or absolute coordinates, e.g. 10,20)
|
||||
position = auto
|
||||
# Sway/Hyprland only: create floating window above the currently focused one
|
||||
overlay = no
|
||||
# Use window decoration (yes/no)
|
||||
decoration = no
|
||||
# Action performed by SIGUSR1 signal (same format as for key bindings)
|
||||
sigusr1 = reload
|
||||
# Action performed by SIGUSR2 signal (same format as for key bindings)
|
||||
sigusr2 = next_file
|
||||
# Application ID and window class name
|
||||
app_id = swayimg
|
||||
|
||||
################################################################################
|
||||
# Viewer mode configuration
|
||||
################################################################################
|
||||
[viewer]
|
||||
# Window background color (auto/extend/mirror/RGBA)
|
||||
# window = #00000000
|
||||
window = #58228add
|
||||
# Background for transparent images (grid/RGBA)
|
||||
transparency = grid
|
||||
# Default image scale (optimal/width/height/fit/fill/real/keep)
|
||||
scale = optimal
|
||||
# Initial image position on the window (center/top/bottom/free/...)
|
||||
position = center
|
||||
# Anti-aliasing mode (none/box/bilinear/bicubic/mks13)
|
||||
antialiasing = mks13
|
||||
# Loop image list: jump to first image when end of list is reached (yes/no)
|
||||
loop = yes
|
||||
# Number of previously viewed images to store in cache
|
||||
history = 1
|
||||
# Number of preloaded images (read ahead)
|
||||
preload = 1
|
||||
|
||||
################################################################################
|
||||
# Slideshow mode configuration
|
||||
################################################################################
|
||||
[slideshow]
|
||||
# Slideshow image display time (seconds)
|
||||
time = 3
|
||||
# Window background color (auto/extend/mirror/RGBA)
|
||||
window = auto
|
||||
# Background for transparent images (grid/RGBA)
|
||||
transparency = #000000ff
|
||||
# Default image scale (optimal/width/height/fit/fill/real)
|
||||
scale = fit
|
||||
# Initial image position on the window (center/top/bottom/free/...)
|
||||
position = center
|
||||
# Anti-aliasing mode (none/box/bilinear/bicubic/mks13)
|
||||
antialiasing = mks13
|
||||
|
||||
################################################################################
|
||||
# Gallery mode configuration
|
||||
################################################################################
|
||||
[gallery]
|
||||
# Height and width of each thumbnail (pixels)
|
||||
size = 200
|
||||
# Max number of invisible thumbnails stored in memory cache
|
||||
cache = 2000
|
||||
# Load not only visible but also adjacent thumbnails
|
||||
preload = yes
|
||||
# Enable/disable storing thumbnails in persistent storage (yes/no)
|
||||
pstore = yes
|
||||
# Fill the entire tile with thumbnail (yes/no)
|
||||
fill = yes
|
||||
# Anti-aliasing mode for thumbnails (none/box/bilinear/bicubic/mks13)
|
||||
# antialiasing = mks13
|
||||
antialiasing = box
|
||||
# Background color of the window (RGBA)
|
||||
window = #00000000
|
||||
# Background color of non-selected tiles (RGBA)
|
||||
background = #202020ff
|
||||
# Background color of the selected tile (RGBA)
|
||||
select = #404040ff
|
||||
# Border color of the selected tile (RGBA)
|
||||
# border = #000000ff
|
||||
border = #FFc000ff
|
||||
# Shadow color of the selected tile (RGBA)
|
||||
# shadow = #000000ff
|
||||
shadow = #FFc000ff
|
||||
|
||||
################################################################################
|
||||
# Image list configuration
|
||||
################################################################################
|
||||
[list]
|
||||
# Default order (none/alpha/numeric/mtime/size/random)
|
||||
order = alpha
|
||||
# Reverse order (yes/no)
|
||||
reverse = no
|
||||
# Read directories recursively (yes/no)
|
||||
recursive = no
|
||||
# Add files from the same directory as the first file (yes/no)
|
||||
all = yes
|
||||
# Enable file system monitoring for adding new images to the list (yes/no)
|
||||
fsmon = yes
|
||||
|
||||
################################################################################
|
||||
# Font configuration
|
||||
################################################################################
|
||||
[font]
|
||||
# Font name
|
||||
name = monospace
|
||||
# Font size (pt)
|
||||
size = 14
|
||||
# Font color (RGBA)
|
||||
color = #ccccccff
|
||||
# Shadow color (RGBA)
|
||||
shadow = #000000d0
|
||||
# Background color (RGBA)
|
||||
background = #00000000
|
||||
|
||||
################################################################################
|
||||
# Image meta info scheme (format, size, EXIF, etc.)
|
||||
################################################################################
|
||||
[info]
|
||||
# Show on startup (yes/no)
|
||||
show = no
|
||||
# Timeout to hide info (seconds, 0 to always show)
|
||||
info_timeout = 0
|
||||
# Timeout to hide status message (seconds)
|
||||
status_timeout = 3
|
||||
|
||||
# Display scheme for viewer mode (position = content)
|
||||
[info.viewer]
|
||||
top_left = +name,+format,+filesize,+imagesize,+exif
|
||||
top_right = index
|
||||
bottom_left = scale,frame
|
||||
bottom_right = status
|
||||
|
||||
# Display scheme for slideshow mode (position = content)
|
||||
[info.slideshow]
|
||||
top_left = none
|
||||
top_right = none
|
||||
bottom_left = none
|
||||
bottom_right = dir,status
|
||||
|
||||
# Display scheme for gallery mode (position = content)
|
||||
[info.gallery]
|
||||
top_left = none
|
||||
top_right = index
|
||||
bottom_left = none
|
||||
bottom_right = name,status
|
||||
|
||||
################################################################################
|
||||
# Viewer mode key binding configuration: key = action [parameters]
|
||||
################################################################################
|
||||
[keys.viewer]
|
||||
F1 = help
|
||||
Home = first_file
|
||||
End = last_file
|
||||
Prior = prev_file
|
||||
Next = next_file
|
||||
Space = next_file
|
||||
Shift+r = rand_file
|
||||
Shift+d = prev_dir
|
||||
d = next_dir
|
||||
Shift+o = prev_frame
|
||||
o = next_frame
|
||||
c = skip_file
|
||||
s = mode slideshow
|
||||
n = animation
|
||||
f = fullscreen
|
||||
Return = mode gallery
|
||||
g = mode gallery
|
||||
Left = prev_file
|
||||
Right = next_file
|
||||
Up = step_up 10
|
||||
Down = step_down 10
|
||||
Equal = zoom +10
|
||||
Plus = zoom +10
|
||||
Minus = zoom -10
|
||||
w = zoom width
|
||||
Shift+w = zoom height
|
||||
z = zoom fit
|
||||
Shift+z = zoom fill
|
||||
0 = zoom real
|
||||
BackSpace = zoom optimal
|
||||
j = prev_file
|
||||
k = next_file
|
||||
Alt+s = zoom
|
||||
bracketleft = rotate_left
|
||||
bracketright = rotate_right
|
||||
m = flip_vertical
|
||||
Shift+m = flip_horizontal
|
||||
a = antialiasing
|
||||
r = reload
|
||||
i = info
|
||||
Shift+Delete = exec rm -f '%' && echo "File removed: %"; skip_file
|
||||
Escape = exit
|
||||
q = exit
|
||||
# Mouse related
|
||||
ScrollLeft = step_right 5
|
||||
ScrollRight = step_left 5
|
||||
ScrollUp = prev_file
|
||||
ScrollDown = next_file
|
||||
Ctrl+ScrollUp = zoom +10
|
||||
Ctrl+ScrollDown = zoom -10
|
||||
Shift+ScrollUp = prev_file
|
||||
Shift+ScrollDown = next_file
|
||||
Alt+ScrollUp = prev_frame
|
||||
Alt+ScrollDown = next_frame
|
||||
MouseLeft = drag
|
||||
MouseSide = prev_file
|
||||
MouseExtra = next_file
|
||||
MouseRight = info
|
||||
Shift+f = exec mv "%" ~/data/local/_move/; skip_file
|
||||
|
||||
################################################################################
|
||||
# Slideshow mode key binding configuration: key = action [parameters]
|
||||
################################################################################
|
||||
[keys.slideshow]
|
||||
F1 = help
|
||||
Home = first_file
|
||||
End = last_file
|
||||
Prior = prev_file
|
||||
Next = next_file
|
||||
Shift+r = rand_file
|
||||
Shift+d = prev_dir
|
||||
d = next_dir
|
||||
Space = pause
|
||||
i = info
|
||||
f = fullscreen
|
||||
Return = mode
|
||||
Escape = exit
|
||||
q = exit
|
||||
|
||||
################################################################################
|
||||
# Gallery mode key binding configuration: key = action [parameters]
|
||||
################################################################################
|
||||
[keys.gallery]
|
||||
F1 = help
|
||||
Home = first_file
|
||||
End = last_file
|
||||
Left = step_left
|
||||
Right = step_right
|
||||
Up = step_up
|
||||
Down = step_down
|
||||
Prior = page_up
|
||||
Next = page_down
|
||||
c = skip_file
|
||||
s = mode slideshow
|
||||
f = fullscreen
|
||||
Return = mode viewer
|
||||
a = antialiasing
|
||||
r = reload
|
||||
i = info
|
||||
Equal = thumb +20
|
||||
Plus = thumb +20
|
||||
Minus = thumb -20
|
||||
Shift+Delete = exec rm -f '%' && echo "File removed: %"; skip_file
|
||||
Escape = exit
|
||||
q = exit
|
||||
# Mouse related
|
||||
ScrollLeft = step_right
|
||||
ScrollRight = step_left
|
||||
ScrollUp = step_up
|
||||
ScrollDown = step_down
|
||||
Ctrl+ScrollUp = thumb +20
|
||||
Ctrl+ScrollDown = thumb -20
|
||||
MouseLeft = mode viewer
|
||||
Shift+f = exec mv "%" ~/data/local/_move/; skip_file
|
||||
135
home/oli/.config/swayimg/init.lua
Normal file
135
home/oli/.config/swayimg/init.lua
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
-- Show near images
|
||||
swayimg.imagelist.enable_adjacent(true)
|
||||
swayimg.enable_overlay(false)
|
||||
swayimg.text.set_size(16)
|
||||
-- swayimg.text.set_foreground(0xbb000000)
|
||||
-- swayimg.text.set_foreground(0xff00aa99)
|
||||
-- swayimg.text.set_background(0xbbababab)
|
||||
swayimg.text.set_background(0xbb2596be)
|
||||
swayimg.text.hide()
|
||||
swayimg.viewer.set_text("topleft", {
|
||||
"File: {dir}/{name}",
|
||||
"{sizehr}, {format}, {scale} of {frame.width}x{frame.height}",
|
||||
"EXIF: {meta.Exif.Image.Model}",
|
||||
})
|
||||
swayimg.viewer.set_text("bottomright", {
|
||||
"{list.index}/{list.total}",
|
||||
})
|
||||
swayimg.viewer.set_text("bottomleft", {})
|
||||
swayimg.viewer.set_text("topright", {})
|
||||
swayimg.enable_exif_orientation(true)
|
||||
|
||||
-- show file info
|
||||
swayimg.viewer.on_key("i", function()
|
||||
if swayimg.text.visible() then
|
||||
swayimg.text.hide()
|
||||
else
|
||||
swayimg.text.set_timeout(0)
|
||||
swayimg.text.show()
|
||||
end
|
||||
end)
|
||||
|
||||
-- Zoom scale of focused thumb
|
||||
swayimg.gallery.set_selected_scale(1.5)
|
||||
|
||||
-- Delete marked files
|
||||
swayimg.gallery.on_key("Ctrl+Delete", function()
|
||||
local entries = swayimg.imagelist.get()
|
||||
local marked = {}
|
||||
for _, entry in ipairs(entries) do
|
||||
if entry.mark then
|
||||
table.insert(marked, entry.path)
|
||||
end
|
||||
end
|
||||
for _, path in ipairs(marked) do
|
||||
os.remove(path)
|
||||
end
|
||||
swayimg.imagelist.remove(marked)
|
||||
swayimg.text.set_status("Deleted " .. #marked .. " marked file(s)")
|
||||
end)
|
||||
|
||||
-- mark
|
||||
swayimg.gallery.on_key("Space", function()
|
||||
swayimg.gallery.mark_image()
|
||||
end)
|
||||
swayimg.viewer.on_key("Space", function()
|
||||
swayimg.viewer.mark_image()
|
||||
end)
|
||||
|
||||
--- random
|
||||
swayimg.viewer.on_key("t", function()
|
||||
swayimg.viewer.switch_image("random")
|
||||
end)
|
||||
|
||||
-- rotate
|
||||
swayimg.viewer.on_key("r", function()
|
||||
swayimg.viewer.rotate(90)
|
||||
end)
|
||||
swayimg.viewer.on_key("Shift-r", function()
|
||||
swayimg.viewer.rotate(270)
|
||||
end)
|
||||
|
||||
-- quit
|
||||
swayimg.viewer.on_key("q", function()
|
||||
swayimg.exit()
|
||||
end)
|
||||
swayimg.gallery.on_key("q", function()
|
||||
swayimg.exit()
|
||||
end)
|
||||
|
||||
swayimg.viewer.on_key("j", function()
|
||||
swayimg.viewer.switch_image("prev")
|
||||
end)
|
||||
swayimg.viewer.on_key("k", function()
|
||||
swayimg.viewer.switch_image("next")
|
||||
end)
|
||||
|
||||
swayimg.gallery.on_key("h", function()
|
||||
swayimg.gallery.switch_image("left")
|
||||
end)
|
||||
swayimg.gallery.on_key("j", function()
|
||||
swayimg.gallery.switch_image("down")
|
||||
end)
|
||||
swayimg.gallery.on_key("k", function()
|
||||
swayimg.gallery.switch_image("up")
|
||||
end)
|
||||
swayimg.gallery.on_key("l", function()
|
||||
swayimg.gallery.switch_image("right")
|
||||
end)
|
||||
|
||||
-- Delete individual file
|
||||
swayimg.gallery.on_key("Shift-d", function()
|
||||
local image = swayimg.gallery.get_image()
|
||||
os.remove(image.path)
|
||||
swayimg.text.set_status("File " .. image.path .. " removed")
|
||||
end)
|
||||
swayimg.viewer.on_key("Shift-d", function()
|
||||
local image = swayimg.viewer.get_image()
|
||||
os.remove(image.path)
|
||||
swayimg.text.set_status("File " .. image.path .. " removed")
|
||||
end)
|
||||
|
||||
-- move image
|
||||
local dest = os.getenv("HOME") .. "/data/local/"
|
||||
|
||||
local function move_image(path)
|
||||
local filename = path:match("([^/]+)$")
|
||||
os.execute(string.format("mv %q %q", path, dest .. filename))
|
||||
swayimg.imagelist.remove(path)
|
||||
swayimg.text.set_status("Moved: " .. filename)
|
||||
end
|
||||
|
||||
swayimg.viewer.on_key("Shift-g", function()
|
||||
local image = swayimg.viewer.get_image()
|
||||
if image then
|
||||
move_image(image.path)
|
||||
swayimg.viewer.switch_image("next")
|
||||
end
|
||||
end)
|
||||
|
||||
swayimg.gallery.on_key("Shift-g", function()
|
||||
local image = swayimg.gallery.get_image()
|
||||
if image then
|
||||
move_image(image.path)
|
||||
end
|
||||
end)
|
||||
|
|
@ -1,12 +1,19 @@
|
|||
UNIT FILE STATE PRESET
|
||||
chronyd.service enabled disabled
|
||||
getty@.service enabled enabled
|
||||
iwd.service enabled disabled
|
||||
pulsesecure.service enabled disabled
|
||||
sshd.service enabled disabled
|
||||
systemd-resolved.service enabled enabled
|
||||
systemd-userdbd.socket enabled enabled
|
||||
remote-fs.target enabled enabled
|
||||
fstrim.timer enabled disabled
|
||||
UNIT FILE STATE PRESET
|
||||
chronyd.service enabled disabled
|
||||
getty@.service enabled enabled
|
||||
iwd.service enabled disabled
|
||||
pulsesecure.service enabled disabled
|
||||
sshd.service enabled disabled
|
||||
systemd-network-generator.service enabled enabled
|
||||
systemd-networkd-wait-online.service enabled enabled
|
||||
systemd-networkd.service enabled enabled
|
||||
systemd-resolved.service enabled enabled
|
||||
systemd-networkd-resolve-hook.socket enabled disabled
|
||||
systemd-networkd-varlink-metrics.socket enabled disabled
|
||||
systemd-networkd-varlink.socket enabled disabled
|
||||
systemd-networkd.socket enabled disabled
|
||||
systemd-userdbd.socket enabled enabled
|
||||
remote-fs.target enabled enabled
|
||||
fstrim.timer enabled disabled
|
||||
|
||||
9 unit files listed.
|
||||
16 unit files listed.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue