Tiling window manager config
This commit is contained in:
parent
1a09e7fc2c
commit
75144ff0c6
|
@ -0,0 +1,225 @@
|
||||||
|
# -*- conf -*-
|
||||||
|
|
||||||
|
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||||
|
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
||||||
|
# login-shell=no
|
||||||
|
|
||||||
|
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
|
||||||
|
# title=foot
|
||||||
|
# locked-title=no
|
||||||
|
|
||||||
|
font=monospace:size=12
|
||||||
|
# font-bold=<bold variant of regular font>
|
||||||
|
# font-italic=<italic variant of regular font>
|
||||||
|
# font-bold-italic=<bold+italic variant of regular font>
|
||||||
|
# font-size-adjustment=0.5
|
||||||
|
# line-height=<font metrics>
|
||||||
|
# letter-spacing=0
|
||||||
|
# horizontal-letter-offset=0
|
||||||
|
# vertical-letter-offset=0
|
||||||
|
# underline-offset=<font metrics>
|
||||||
|
# underline-thickness=<font underline thickness>
|
||||||
|
# box-drawings-uses-font-glyphs=no
|
||||||
|
# dpi-aware=no
|
||||||
|
|
||||||
|
# initial-window-size-pixels=700x500 # Or,
|
||||||
|
# initial-window-size-chars=<COLSxROWS>
|
||||||
|
# initial-window-mode=windowed
|
||||||
|
# pad=0x0 # optionally append 'center'
|
||||||
|
# resize-delay-ms=100
|
||||||
|
|
||||||
|
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
||||||
|
|
||||||
|
# bold-text-in-bright=no
|
||||||
|
# word-delimiters=,│`|:"'()[]{}<>
|
||||||
|
# selection-target=primary
|
||||||
|
# workers=<number of logical CPUs>
|
||||||
|
# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux)
|
||||||
|
# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD)
|
||||||
|
|
||||||
|
[environment]
|
||||||
|
# name=value
|
||||||
|
|
||||||
|
[bell]
|
||||||
|
# urgent=no
|
||||||
|
# notify=no
|
||||||
|
# visual=no
|
||||||
|
# command=
|
||||||
|
# command-focused=no
|
||||||
|
|
||||||
|
[scrollback]
|
||||||
|
# lines=1000
|
||||||
|
# multiplier=3.0
|
||||||
|
# indicator-position=relative
|
||||||
|
# indicator-format=""
|
||||||
|
|
||||||
|
[url]
|
||||||
|
# launch=xdg-open ${url}
|
||||||
|
# label-letters=sadfjklewcmpgh
|
||||||
|
# osc8-underline=url-mode
|
||||||
|
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
||||||
|
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
# style=block
|
||||||
|
# color=<inverse foreground/background>
|
||||||
|
# blink=no
|
||||||
|
# beam-thickness=1.5
|
||||||
|
# underline-thickness=<font underline thickness>
|
||||||
|
|
||||||
|
[mouse]
|
||||||
|
# hide-when-typing=no
|
||||||
|
# alternate-scroll-mode=yes
|
||||||
|
|
||||||
|
[touch]
|
||||||
|
# long-press-delay=400
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
# alpha=1.0
|
||||||
|
# background=242424
|
||||||
|
# foreground=ffffff
|
||||||
|
# flash=7f7f00
|
||||||
|
# flash-alpha=0.5
|
||||||
|
|
||||||
|
## Normal/regular colors (color palette 0-7)
|
||||||
|
# regular0=242424 # black
|
||||||
|
# regular1=f62b5a # red
|
||||||
|
# regular2=47b413 # green
|
||||||
|
# regular3=e3c401 # yellow
|
||||||
|
# regular4=24acd4 # blue
|
||||||
|
# regular5=f2affd # magenta
|
||||||
|
# regular6=13c299 # cyan
|
||||||
|
# regular7=e6e6e6 # white
|
||||||
|
|
||||||
|
## Bright colors (color palette 8-15)
|
||||||
|
# bright0=616161 # bright black
|
||||||
|
# bright1=ff4d51 # bright red
|
||||||
|
# bright2=35d450 # bright green
|
||||||
|
# bright3=e9e836 # bright yellow
|
||||||
|
# bright4=5dc5f8 # bright blue
|
||||||
|
# bright5=feabf2 # bright magenta
|
||||||
|
# bright6=24dfc4 # bright cyan
|
||||||
|
# bright7=ffffff # bright white
|
||||||
|
|
||||||
|
## dimmed colors (see foot.ini(5) man page)
|
||||||
|
# dim0=<not set>
|
||||||
|
# ...
|
||||||
|
# dim7=<not-set>
|
||||||
|
|
||||||
|
## The remaining 256-color palette
|
||||||
|
# 16 = <256-color palette #16>
|
||||||
|
# ...
|
||||||
|
# 255 = <256-color palette #255>
|
||||||
|
|
||||||
|
## Misc colors
|
||||||
|
# selection-foreground=<inverse foreground/background>
|
||||||
|
# selection-background=<inverse foreground/background>
|
||||||
|
# jump-labels=<regular0> <regular3> # black-on-yellow
|
||||||
|
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
||||||
|
# search-box-no-match=<regular0> <regular1> # black-on-red
|
||||||
|
# search-box-match=<regular0> <regular3> # black-on-yellow
|
||||||
|
# urls=<regular3>
|
||||||
|
|
||||||
|
[csd]
|
||||||
|
# preferred=server
|
||||||
|
# size=26
|
||||||
|
# font=<primary font>
|
||||||
|
# color=<foreground color>
|
||||||
|
# hide-when-maximized=no
|
||||||
|
# double-click-to-maximize=yes
|
||||||
|
# border-width=0
|
||||||
|
# border-color=<csd.color>
|
||||||
|
# button-width=26
|
||||||
|
# button-color=<background color>
|
||||||
|
# button-minimize-color=<regular4>
|
||||||
|
# button-maximize-color=<regular2>
|
||||||
|
# button-close-color=<regular1>
|
||||||
|
|
||||||
|
[key-bindings]
|
||||||
|
# scrollback-up-page=Shift+Page_Up
|
||||||
|
# scrollback-up-half-page=none
|
||||||
|
# scrollback-up-line=none
|
||||||
|
# scrollback-down-page=Shift+Page_Down
|
||||||
|
# scrollback-down-half-page=none
|
||||||
|
# scrollback-down-line=none
|
||||||
|
# scrollback-home=none
|
||||||
|
# scrollback-end=none
|
||||||
|
# clipboard-copy=Control+Shift+c XF86Copy
|
||||||
|
# clipboard-paste=Control+Shift+v XF86Paste
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
# search-start=Control+Shift+r
|
||||||
|
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||||
|
# font-decrease=Control+minus Control+KP_Subtract
|
||||||
|
# font-reset=Control+0 Control+KP_0
|
||||||
|
# spawn-terminal=Control+Shift+n
|
||||||
|
# minimize=none
|
||||||
|
# maximize=none
|
||||||
|
# fullscreen=none
|
||||||
|
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||||
|
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||||
|
# pipe-selected=[xargs -r firefox] none
|
||||||
|
# show-urls-launch=Control+Shift+o
|
||||||
|
# show-urls-copy=none
|
||||||
|
# show-urls-persistent=none
|
||||||
|
# prompt-prev=Control+Shift+z
|
||||||
|
# prompt-next=Control+Shift+x
|
||||||
|
# unicode-input=Control+Shift+u
|
||||||
|
# noop=none
|
||||||
|
|
||||||
|
[search-bindings]
|
||||||
|
# cancel=Control+g Control+c Escape
|
||||||
|
# commit=Return
|
||||||
|
# find-prev=Control+r
|
||||||
|
# find-next=Control+s
|
||||||
|
# cursor-left=Left Control+b
|
||||||
|
# cursor-left-word=Control+Left Mod1+b
|
||||||
|
# cursor-right=Right Control+f
|
||||||
|
# cursor-right-word=Control+Right Mod1+f
|
||||||
|
# cursor-home=Home Control+a
|
||||||
|
# cursor-end=End Control+e
|
||||||
|
# delete-prev=BackSpace
|
||||||
|
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||||
|
# delete-next=Delete
|
||||||
|
# delete-next-word=Mod1+d Control+Delete
|
||||||
|
# extend-char=Shift+Right
|
||||||
|
# extend-to-word-boundary=Control+w Control+Shift+Right
|
||||||
|
# extend-to-next-whitespace=Control+Shift+w
|
||||||
|
# extend-line-down=Shift+Down
|
||||||
|
# extend-backward-char=Shift+Left
|
||||||
|
# extend-backward-to-word-boundary=Control+Shift+Left
|
||||||
|
# extend-backward-to-next-whitespace=none
|
||||||
|
# extend-line-up=Shift+Up
|
||||||
|
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
||||||
|
# primary-paste=Shift+Insert
|
||||||
|
# unicode-input=none
|
||||||
|
# scrollback-up-page=Shift+Page_Up
|
||||||
|
# scrollback-up-half-page=none
|
||||||
|
# scrollback-up-line=none
|
||||||
|
# scrollback-down-page=Shift+Page_Down
|
||||||
|
# scrollback-down-half-page=none
|
||||||
|
# scrollback-down-line=none
|
||||||
|
# scrollback-home=none
|
||||||
|
# scrollback-end=none
|
||||||
|
|
||||||
|
[url-bindings]
|
||||||
|
# cancel=Control+g Control+c Control+d Escape
|
||||||
|
# toggle-url-visible=t
|
||||||
|
|
||||||
|
[text-bindings]
|
||||||
|
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
||||||
|
|
||||||
|
[mouse-bindings]
|
||||||
|
# scrollback-up-mouse=BTN_BACK
|
||||||
|
# scrollback-down-mouse=BTN_FORWARD
|
||||||
|
# selection-override-modifiers=Shift
|
||||||
|
# primary-paste=BTN_MIDDLE
|
||||||
|
# select-begin=BTN_LEFT
|
||||||
|
# select-begin-block=Control+BTN_LEFT
|
||||||
|
# select-extend=BTN_RIGHT
|
||||||
|
# select-extend-character-wise=Control+BTN_RIGHT
|
||||||
|
# select-word=BTN_LEFT-2
|
||||||
|
# select-word-whitespace=Control+BTN_LEFT-2
|
||||||
|
# select-quote = BTN_LEFT-3
|
||||||
|
# select-row=BTN_LEFT-4
|
||||||
|
|
||||||
|
# vim: ft=dosini
|
|
@ -0,0 +1,8 @@
|
||||||
|
font=noto mono
|
||||||
|
icon-theme=hicolor
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background=242424dd
|
||||||
|
text=ebebebff
|
||||||
|
selection=1e1e1edd
|
||||||
|
selection-text=fafafaff
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"Alt-/": "lua:comment.comment",
|
||||||
|
"CtrlUnderscore": "lua:comment.comment"
|
||||||
|
}
|
Binary file not shown.
|
@ -0,0 +1,28 @@
|
||||||
|
color-link default "#D5D8D6,#1D0000"
|
||||||
|
color-link comment "#75715E"
|
||||||
|
color-link identifier "#66D9EF"
|
||||||
|
color-link constant "#AE81FF"
|
||||||
|
color-link constant.string "#E6DB74"
|
||||||
|
color-link constant.string.char "#BDE6AD"
|
||||||
|
color-link statement "#F92672"
|
||||||
|
color-link preproc "#CB4B16"
|
||||||
|
color-link type "#66D9EF"
|
||||||
|
color-link special "#A6E22E"
|
||||||
|
color-link underlined "#D33682"
|
||||||
|
color-link error "bold #CB4B16"
|
||||||
|
color-link todo "bold #D33682"
|
||||||
|
color-link hlsearch "#1D0000,#E6DB74"
|
||||||
|
color-link statusline "#282828,#F8F8F2"
|
||||||
|
color-link indent-char "#505050,#282828"
|
||||||
|
color-link line-number "#AAAAAA,#282828"
|
||||||
|
color-link current-line-number "#AAAAAA,#1D0000"
|
||||||
|
color-link diff-added "#00AF00"
|
||||||
|
color-link diff-modified "#FFAF00"
|
||||||
|
color-link diff-deleted "#D70000"
|
||||||
|
color-link gutter-error "#CB4B16"
|
||||||
|
color-link gutter-warning "#E6DB74"
|
||||||
|
color-link cursor-line "#323232"
|
||||||
|
color-link color-column "#323232"
|
||||||
|
color-link match-brace "#1D0000,#AE81FF"
|
||||||
|
color-link tab-error "#D75F5F"
|
||||||
|
color-link trailingws "#D75F5F"
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Detectindent plugin for Micro text editor
|
||||||
|
|
||||||
|
Whenever a file is opened, the detectindent plugin tries to automatically detect its indentation style (spaces or tabs) and set the `tabstospaces` option accordingly. If spaces indentation is detected, it also tries to detect the indentation width and set the `tabsize` option accordingly.
|
|
@ -0,0 +1,70 @@
|
||||||
|
VERSION = "1.1.0"
|
||||||
|
|
||||||
|
local config = import("micro/config")
|
||||||
|
local util = import("micro/util")
|
||||||
|
|
||||||
|
function onBufferOpen(buf)
|
||||||
|
local spaces, tabs = 0, 0
|
||||||
|
local space_count, prev_space_count = 0, 0
|
||||||
|
local tabsizes = {}
|
||||||
|
local i = 0
|
||||||
|
while spaces + tabs < 500 and i < 1000 and i < buf:LinesNum() do
|
||||||
|
space_count = 0
|
||||||
|
local line = buf:Line(i)
|
||||||
|
local r = util.RuneAt(line, 0)
|
||||||
|
if r == " " then
|
||||||
|
space_count = string.len(util.GetLeadingWhitespace(line))
|
||||||
|
-- for tab vs space detection, ignore space indents of 1
|
||||||
|
-- which can be a false signal from C-style block comments
|
||||||
|
if space_count > 1 then
|
||||||
|
spaces = spaces + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
-- treat whitespace-only lines as not changing the indent
|
||||||
|
if string.len(line) == space_count then
|
||||||
|
space_count = prev_space_count
|
||||||
|
end
|
||||||
|
-- look for an increasing number of spaces, ignoring increases of 1
|
||||||
|
-- which can be a false signal from C-style block comments
|
||||||
|
if space_count > prev_space_count + 1 then
|
||||||
|
local t = space_count - prev_space_count
|
||||||
|
if tabsizes[t] == nil then
|
||||||
|
tabsizes[t] = 1
|
||||||
|
else
|
||||||
|
tabsizes[t] = tabsizes[t] + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
elseif r == "\t" then
|
||||||
|
tabs = tabs + 1
|
||||||
|
-- treat tabbed lines as not affecting spaced indentation
|
||||||
|
space_count = prev_space_count
|
||||||
|
elseif r == "" then
|
||||||
|
-- treat empty lines as not changing the indent
|
||||||
|
space_count = prev_space_count
|
||||||
|
end
|
||||||
|
prev_space_count = space_count
|
||||||
|
i = i + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if spaces > tabs then
|
||||||
|
buf.Settings["tabstospaces"] = true
|
||||||
|
-- get the indentation change used for the largest number of lines
|
||||||
|
local tabsize = -1
|
||||||
|
local maxcount = 0
|
||||||
|
for t, count in pairs(tabsizes) do
|
||||||
|
if count > maxcount then
|
||||||
|
maxcount = count
|
||||||
|
tabsize = t
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if tabsize > 0 then
|
||||||
|
buf.Settings["tabsize"] = tabsize
|
||||||
|
end
|
||||||
|
elseif tabs > spaces then
|
||||||
|
buf.Settings["tabstospaces"] = false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function init()
|
||||||
|
config.AddRuntimeFile("detectindent", config.RTHelp, "help/detectindent.md")
|
||||||
|
end
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Detectindent
|
||||||
|
|
||||||
|
Whenever a file is opened, the detectindent plugin tries to automatically
|
||||||
|
detect its indentation style (spaces or tabs) and set the `tabstospaces`
|
||||||
|
option accordingly. If spaces indentation is detected, it also tries to
|
||||||
|
detect the indentation width and set the `tabsize` option accordingly.
|
||||||
|
|
||||||
|
To disable it, just turn off the plugin:
|
||||||
|
|
||||||
|
```
|
||||||
|
set detectindent off
|
||||||
|
```
|
|
@ -0,0 +1,14 @@
|
||||||
|
[{
|
||||||
|
"Name": "detectindent",
|
||||||
|
"Description": "Automatically detect indentation settings",
|
||||||
|
"Tags": ["indent", "detect"],
|
||||||
|
"Versions": [
|
||||||
|
{
|
||||||
|
"Version": "1.1.0",
|
||||||
|
"Url": "https://github.com/dmaluka/micro-detectindent/archive/v1.1.0.zip",
|
||||||
|
"Require": {
|
||||||
|
"micro": ">=2.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}]
|
|
@ -0,0 +1,17 @@
|
||||||
|
# EditorConfig is awesome: http://EditorConfig.org
|
||||||
|
|
||||||
|
# top-most EditorConfig file
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# Unix-style newlines with a newline ending every file
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 2
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
# Ignore .md files, because 2 spaces at end-of-line has meaning
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
|
@ -0,0 +1,109 @@
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [3.4.0] - 2018-10-22
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Issues with Lua's `io.popen` on some systems by using Micro's built-in `RunShellCommand` instead, [thanks to @scottbilas](https://github.com/NicolaiSoeborg/filemanager-plugin/pull/38)
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Adds the option `filemanager-openonstart` to allow auto-opening the file tree when Micro is started (default OFF)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Update README's option's documentation
|
||||||
|
|
||||||
|
## [3.3.1] - 2018-10-03
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Performance improvement by removing unnecessary refresh of the opened file, [thanks to @jackwilsdon](https://github.com/NicolaiSoeborg/filemanager-plugin/pull/37)
|
||||||
|
|
||||||
|
## [3.3.0] - 2018-09-13
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- The ability to sort folders above files, [thanks to @cbrown1](https://github.com/NicolaiSoeborg/filemanager-plugin/pull/33)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- The displayed filenames are now correctly only showing their "basename" on Windows
|
||||||
|
|
||||||
|
## [3.2.0] - 2018-02-15
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- The ability to go to parent directory with left arrow (when not minimizing). Thanks @avently
|
||||||
|
- The ability to jump to the `..` as a "parent directory". Thanks @avently
|
||||||
|
|
||||||
|
## [3.1.2] - 2018-02-07
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- The minimum Micro version, which was incorrectly set to v1.4.0. Ref [issue #28](https://github.com/NicolaiSoeborg/filemanager-plugin/issues/28)
|
||||||
|
|
||||||
|
## [3.1.1] - 2018-02-04
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
Ref https://github.com/zyedidia/micro/issues/992 for both of these fixes.
|
||||||
|
|
||||||
|
- The syntax parser not loading correctly (mostly block comments) on opened files. **Requires Micro >= v1.4.0**
|
||||||
|
- An errant tab being inserted into the newly opened file.
|
||||||
|
|
||||||
|
## [3.1.0] - 2018-01-30
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- The ability to hide dotfiles using the `filemanager-showdotfiles` option.
|
||||||
|
- The ability to hide files ignored in your VCS (aka `.gitignore`'d) using the `filemanager-showignored` option. Only works with Git at the moment.
|
||||||
|
- This `CHANGELOG.md`
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- A bug with the `rm` command that caused weird, undefined behaviour to contents within the same dir as the file/dir deleted.
|
||||||
|
- Issue [#24](https://github.com/NicolaiSoeborg/filemanager-plugin/issues/24)
|
||||||
|
|
||||||
|
## [3.0.0] - 2018-01-10
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Issues [#13](https://github.com/NicolaiSoeborg/filemanager-plugin/issues/13), [#14](https://github.com/NicolaiSoeborg/filemanager-plugin/issues/14), [#15](https://github.com/NicolaiSoeborg/filemanager-plugin/issues/15), [#19](https://github.com/NicolaiSoeborg/filemanager-plugin/issues/19), [#20](https://github.com/NicolaiSoeborg/filemanager-plugin/issues/20)
|
||||||
|
- The broken syntax highlighting
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Directory expansion/compression below itself for viewing more akin to a file tree.
|
||||||
|
- The `rm` command, which deletes the file/directory under the cursor.
|
||||||
|
- The `touch` command, which creates a file with the passed filename.
|
||||||
|
- The `mkdir` command, which creates a directory with the passed filename.
|
||||||
|
- An API, of sorts, for the user to rebind their keys to if they dislike the defaults.
|
||||||
|
- An [editorconfig](http://editorconfig.org/) file.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- The view that it spawns in to read-only, which requires Micro version >= 1.3.5
|
||||||
|
- The functionality of some keybindings (when in the view) so they work safetly, or at all, with the plugin.
|
||||||
|
- From the `enter` key to `tab` for opening/going into files/dirs (a side-effect of using the read-only setting)
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- The ability to use a lot of keybindings that would otherwise mess with the view, and have no benifit.
|
||||||
|
- The pointless `.gitignore` file.
|
||||||
|
|
||||||
|
[unreleased]: https://github.com/NicolaiSoeborg/filemanager-plugin/compare/v3.4.0...HEAD
|
||||||
|
[3.4.0]: https://github.com/NicolaiSoeborg/filemanager-plugin/compare/v3.3.1...v3.4.0
|
||||||
|
[3.3.1]: https://github.com/NicolaiSoeborg/filemanager-plugin/compare/v3.3.0...v3.3.1
|
||||||
|
[3.3.0]: https://github.com/NicolaiSoeborg/filemanager-plugin/compare/v3.2.0...v3.3.0
|
||||||
|
[3.2.0]: https://github.com/NicolaiSoeborg/filemanager-plugin/compare/v3.1.2...v3.2.0
|
||||||
|
[3.1.2]: https://github.com/NicolaiSoeborg/filemanager-plugin/compare/v3.1.1...v3.1.2
|
||||||
|
[3.1.1]: https://github.com/NicolaiSoeborg/filemanager-plugin/compare/v3.1.0...v3.1.1
|
||||||
|
[3.1.0]: https://github.com/NicolaiSoeborg/filemanager-plugin/compare/v3.0.0...v3.1.0
|
||||||
|
[3.0.0]: https://github.com/NicolaiSoeborg/filemanager-plugin/compare/v2.1.1...v3.0.0
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2017 Nicolai Søborg
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
|
@ -0,0 +1,56 @@
|
||||||
|
# Filemanager Plugin
|
||||||
|
|
||||||
|
A simple plugin that allows for easy navigation of a file tree.
|
||||||
|
|
||||||
|
![Example picture](./example.jpg?raw=true "Example")
|
||||||
|
|
||||||
|
**Installation:** run `plugin install filemanager` and restart Micro.
|
||||||
|
|
||||||
|
## Basics
|
||||||
|
|
||||||
|
The top line always has the current directory's path to show you where you are.\
|
||||||
|
The `..` near the top is used to move back a directory, from your current position.
|
||||||
|
|
||||||
|
All directories have a `/` added to the end of it, and are syntax-highlighted as a `special` character.\
|
||||||
|
If the directory is expanded, there will be a `+` to the left of it. If it is collapsed there will be a `-` instead.
|
||||||
|
|
||||||
|
**NOTE:** If you change files without using the plugin, it can't know what you did. The only fix is to close and open the tree.
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
| Option | Purpose | Default |
|
||||||
|
| :--------------------------- | :----------------------------------------------------------- | :------ |
|
||||||
|
| `filemanager-showdotfiles` | Show dotfiles (hidden if false) | `true` |
|
||||||
|
| `filemanager-showignored` | Show gitignore'd files (hidden if false) | `true` |
|
||||||
|
| `filemanager-compressparent` | Collapse the parent dir when left is pressed on a child file | `true` |
|
||||||
|
| `filemanager-foldersfirst` | Sorts folders above any files | `true` |
|
||||||
|
| `filemanager-openonstart` | Automatically open the file tree when starting Micro | `false` |
|
||||||
|
|
||||||
|
### Commands and Keybindings
|
||||||
|
|
||||||
|
The keybindings below are the equivalent to Micro's defaults, and not actually set by the plugin. If you've changed any of those keybindings, then that key is used instead.
|
||||||
|
|
||||||
|
If you want to [keybind](https://github.com/zyedidia/micro/blob/master/runtime/help/keybindings.md#rebinding-keys) any of the operations/commands, bind to the labeled API in the table below.
|
||||||
|
|
||||||
|
| Command | Keybinding(s) | What it does | API for `bindings.json` |
|
||||||
|
| :------- | :------------------------- | :------------------------------------------------------------------------------------------ | :------------------------------------ |
|
||||||
|
| `tree` | - | Open/close the tree | `filemanager.toggle_tree` |
|
||||||
|
| - | <kbd>Tab</kbd> & MouseLeft | Open a file, or go into the directory. Goes back a dir if on `..` | `filemanager.try_open_at_cursor` |
|
||||||
|
| - | <kbd>→</kbd> | Expand directory in tree listing | `filemanager.uncompress_at_cursor` |
|
||||||
|
| - | <kbd>←</kbd> | Collapse directory listing | `filemanager.compress_at_cursor` |
|
||||||
|
| - | <kbd>Shift ⬆</kbd> | Go to the target's parent directory | `filemanager.goto_parent_dir` |
|
||||||
|
| - | <kbd>Alt Shift {</kbd> | Jump to the previous directory in the view | `filemanager.goto_next_dir` |
|
||||||
|
| - | <kbd>Alt Shift }</kbd> | Jump to the next directory in the view | `filemanager.goto_prev_dir` |
|
||||||
|
| `rm` | - | Prompt to delete the target file/directory your cursor is on | `filemanager.prompt_delete_at_cursor` |
|
||||||
|
| `rename` | - | Rename the file/directory your cursor is on, using the passed name | `filemanager.rename_at_cursor` |
|
||||||
|
| `touch` | - | Make a new file under/into the file/directory your cursor is on, using the passed name | `filemanager.new_file` |
|
||||||
|
| `mkdir` | - | Make a new directory under/into the file/directory your cursor is on, using the passed name | `filemanager.new_dir` |
|
||||||
|
|
||||||
|
#### Notes
|
||||||
|
|
||||||
|
- `rename`, `touch`, and `mkdir` require a name to be passed when calling.\
|
||||||
|
Example: `rename newnamehere`, `touch filenamehere`, `mkdir dirnamehere`.\
|
||||||
|
If the passed name already exists in the current dir, it will cancel instead of overwriting (for safety).
|
||||||
|
|
||||||
|
- The <kbd>Ctrl w</kbd> keybinding is to switch which buffer your cursor is on.\
|
||||||
|
This isn't specific to the plugin, it's just part of Micro, but many people seem to not know this.
|
Binary file not shown.
After Width: | Height: | Size: 113 KiB |
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,45 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"Name": "filemanager",
|
||||||
|
"Description": "File manager for Micro",
|
||||||
|
"Tags": ["filetree", "filemanager", "file", "manager"],
|
||||||
|
"Website": "",
|
||||||
|
"Versions": [
|
||||||
|
{
|
||||||
|
"Version": "2.1.1",
|
||||||
|
"Url": "https://github.com/NicolaiSoeborg/filemanager-plugin/archive/v2.1.1.zip",
|
||||||
|
"Require": {
|
||||||
|
"micro": ">=1.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Version": "3.1.0",
|
||||||
|
"Url": "https://github.com/NicolaiSoeborg/filemanager-plugin/archive/v3.1.0.zip",
|
||||||
|
"Require": {
|
||||||
|
"micro": ">=1.3.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Version": "3.4.0",
|
||||||
|
"Url": "https://github.com/NicolaiSoeborg/filemanager-plugin/archive/v3.4.0.zip",
|
||||||
|
"Require": {
|
||||||
|
"micro": ">=1.4.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Version": "3.5.0",
|
||||||
|
"Url": "https://github.com/micro-editor/updated-plugins/releases/download/v1.0.0/filemanager-3.5.0.zip",
|
||||||
|
"Require": {
|
||||||
|
"micro": ">=2.0.0-1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Version": "3.5.1",
|
||||||
|
"Url": "https://github.com/micro-editor/updated-plugins/releases/download/v1.0.0/filemanager-3.5.1.zip",
|
||||||
|
"Require": {
|
||||||
|
"micro": ">=2.0.0-1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
|
@ -0,0 +1,9 @@
|
||||||
|
filetype: filemanager
|
||||||
|
|
||||||
|
detect:
|
||||||
|
filename: "^filemanager$"
|
||||||
|
|
||||||
|
rules:
|
||||||
|
# The "..", the separator line thing, and directories
|
||||||
|
# Optionally, add this below to highlight the ascii line: "^─*$"
|
||||||
|
- special: "^\\.\\.$|\\-\\s.*|\\+\\s.*"
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"colorscheme": "monokai"
|
||||||
|
}
|
|
@ -0,0 +1,228 @@
|
||||||
|
# Default config for sway
|
||||||
|
#
|
||||||
|
# Copy this to ~/.config/sway/config and edit it to your liking.
|
||||||
|
#
|
||||||
|
# Read `man 5 sway` for a complete reference.
|
||||||
|
|
||||||
|
### Variables
|
||||||
|
#
|
||||||
|
# Logo key. Use Mod1 for Alt.
|
||||||
|
set $mod Mod4
|
||||||
|
# Home row direction keys, like vim
|
||||||
|
set $left h
|
||||||
|
set $down j
|
||||||
|
set $up k
|
||||||
|
set $right l
|
||||||
|
# Your preferred terminal emulator
|
||||||
|
set $term foot
|
||||||
|
# Your preferred application launcher
|
||||||
|
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||||
|
# on the original workspace that the command was run on.
|
||||||
|
# set $menu dmenu_path | wmenu | xargs swaymsg exec --
|
||||||
|
# set $menu /usr/bin/bemenu-run
|
||||||
|
set $menu /usr/bin/fuzzel
|
||||||
|
|
||||||
|
include /etc/sway/config-vars.d/*
|
||||||
|
|
||||||
|
### Output configuration
|
||||||
|
#
|
||||||
|
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
|
||||||
|
#output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
|
||||||
|
|
||||||
|
output * bg /home/winsdominoes/Pictures/road.webp fill
|
||||||
|
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
||||||
|
#
|
||||||
|
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||||
|
|
||||||
|
output eDP-1 mode 3200x1800 position 3200,0
|
||||||
|
|
||||||
|
### Idle configuration
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# exec swayidle -w \
|
||||||
|
# timeout 300 'swaylock -f -c 000000' \
|
||||||
|
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
||||||
|
# before-sleep 'swaylock -f -c 000000'
|
||||||
|
#
|
||||||
|
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||||
|
# your displays after another 300 seconds, and turn your screens back on when
|
||||||
|
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||||
|
|
||||||
|
### Input configuration
|
||||||
|
#
|
||||||
|
# Example configuration:
|
||||||
|
#
|
||||||
|
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||||
|
# dwt enabled
|
||||||
|
# tap enabled
|
||||||
|
# natural_scroll enabled
|
||||||
|
# middle_emulation enabled
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||||
|
# Read `man 5 sway-input` for more information about this section.
|
||||||
|
|
||||||
|
### Key bindings
|
||||||
|
#
|
||||||
|
# Basics:
|
||||||
|
#
|
||||||
|
# Start a terminal
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
|
||||||
|
# Kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# Start your launcher
|
||||||
|
bindsym $mod+d exec $menu
|
||||||
|
|
||||||
|
# Drag floating windows by holding down $mod and left mouse button.
|
||||||
|
# Resize them with right mouse button + $mod.
|
||||||
|
# Despite the name, also works for non-floating windows.
|
||||||
|
# Change normal to inverse to use left mouse button for resizing and right
|
||||||
|
# mouse button for dragging.
|
||||||
|
floating_modifier $mod normal
|
||||||
|
|
||||||
|
# Reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
|
# Exit sway (logs you out of your Wayland session)
|
||||||
|
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||||
|
#
|
||||||
|
# Moving around:
|
||||||
|
#
|
||||||
|
# Move your focus around
|
||||||
|
bindsym $mod+$left focus left
|
||||||
|
bindsym $mod+$down focus down
|
||||||
|
bindsym $mod+$up focus up
|
||||||
|
bindsym $mod+$right focus right
|
||||||
|
# Or use $mod+[up|down|left|right]
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# Move the focused window with the same, but add Shift
|
||||||
|
bindsym $mod+Shift+$left move left
|
||||||
|
bindsym $mod+Shift+$down move down
|
||||||
|
bindsym $mod+Shift+$up move up
|
||||||
|
bindsym $mod+Shift+$right move right
|
||||||
|
# Ditto, with arrow 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
|
||||||
|
#
|
||||||
|
# Workspaces:
|
||||||
|
#
|
||||||
|
# Switch to workspace
|
||||||
|
bindsym $mod+1 workspace number 1
|
||||||
|
bindsym $mod+2 workspace number 2
|
||||||
|
bindsym $mod+3 workspace number 3
|
||||||
|
bindsym $mod+4 workspace number 4
|
||||||
|
bindsym $mod+5 workspace number 5
|
||||||
|
bindsym $mod+6 workspace number 6
|
||||||
|
bindsym $mod+7 workspace number 7
|
||||||
|
bindsym $mod+8 workspace number 8
|
||||||
|
bindsym $mod+9 workspace number 9
|
||||||
|
bindsym $mod+0 workspace number 10
|
||||||
|
# Move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number 8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number 9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number 10
|
||||||
|
# Note: workspaces can have any name you want, not just numbers.
|
||||||
|
# We just use 1-10 as the default.
|
||||||
|
#
|
||||||
|
# Layout stuff:
|
||||||
|
#
|
||||||
|
# You can "split" the current object of your focus with
|
||||||
|
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||||
|
# respectively.
|
||||||
|
bindsym $mod+b splith
|
||||||
|
bindsym $mod+v splitv
|
||||||
|
|
||||||
|
# Switch the current container between different layout styles
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# Make the current focus fullscreen
|
||||||
|
bindsym $mod+f fullscreen
|
||||||
|
|
||||||
|
# Toggle the current focus between tiling and floating mode
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# Swap focus between the tiling area and the floating area
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# Move focus to the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
#
|
||||||
|
# Scratchpad:
|
||||||
|
#
|
||||||
|
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||||
|
# You can send windows there and get them back later.
|
||||||
|
|
||||||
|
# Move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||||
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
#
|
||||||
|
# Resizing containers:
|
||||||
|
#
|
||||||
|
mode "resize" {
|
||||||
|
# left will shrink the containers width
|
||||||
|
# right will grow the containers width
|
||||||
|
# up will shrink the containers height
|
||||||
|
# down will grow the containers height
|
||||||
|
bindsym $left resize shrink width 10px
|
||||||
|
bindsym $down resize grow height 10px
|
||||||
|
bindsym $up resize shrink height 10px
|
||||||
|
bindsym $right resize grow width 10px
|
||||||
|
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym Left resize shrink width 10px
|
||||||
|
bindsym Down resize grow height 10px
|
||||||
|
bindsym Up resize shrink height 10px
|
||||||
|
bindsym Right resize grow width 10px
|
||||||
|
|
||||||
|
# Return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Status Bar:
|
||||||
|
#
|
||||||
|
# Read `man 5 sway-bar` for more information about this section.
|
||||||
|
bar {
|
||||||
|
position bottom
|
||||||
|
|
||||||
|
# When the status_command prints a new line to stdout, swaybar updates.
|
||||||
|
# The default just shows the current date and time.
|
||||||
|
# status_command while date +'%Y-%m-%d %X'; do sleep 1; done
|
||||||
|
|
||||||
|
status_command i3status
|
||||||
|
|
||||||
|
colors {
|
||||||
|
statusline #ffffff
|
||||||
|
background #323232
|
||||||
|
inactive_workspace #32323200 #32323200 #5c5c5c
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
include /etc/sway/config.d/*
|
Loading…
Reference in New Issue