stop providing a default tool
This commit is contained in:
parent
b0ee84e87e
commit
f2cd6b8ef3
4 changed files with 29 additions and 23 deletions
|
@ -1,8 +1,8 @@
|
|||
# Next
|
||||
# 1.3.0
|
||||
|
||||
**Breaking changes**
|
||||
|
||||
- the selector's tool now defaults to wofi, rather than the obsolete dmenu
|
||||
- we don't set a default tool anymore for picking/clearing the history
|
||||
|
||||
**New features**
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
|||
|
||||
**Notable Bug fixes**
|
||||
|
||||
- some input were skipped because not recognized as text
|
||||
- some input was not served because it wasn't recognized as text
|
||||
|
||||
# 1.2.0
|
||||
|
||||
|
|
11
README.md
11
README.md
|
@ -8,7 +8,7 @@ Requirements:
|
|||
|
||||
- a windows manager that uses `wlr-data-control`, like Sway and other wlroots-based WMs.
|
||||
- wl-clipboard >= 2.0
|
||||
- dmenu, bemenu, rofi or wofi
|
||||
- either: wofi, bemenu, dmenu or rofi
|
||||
|
||||
[Install go](https://golang.org/doc/install), add `$GOPATH/bin` to your path, then run `go get github.com/yory8/clipman` OR run `go install` inside this folder.
|
||||
|
||||
|
@ -19,10 +19,10 @@ Archlinux users can find a PKGBUILD [here](https://aur.archlinux.org/packages/cl
|
|||
Run the binary in your Sway session by adding `exec wl-paste -t text --watch clipman store` (or `exec wl-paste -t text --watch clipman store 1>> PATH/TO/LOGFILE 2>&1 &` to log errors) at the beginning of your config.
|
||||
For primary clipboard support, also add `exec wl-paste -p -t text --watch clipman store --histpath="~/.local/share/clipman-primary.json`.
|
||||
|
||||
To query the history and select items, run the binary as `clipman pick`. You can assign it to a keybinding: `bindsym $mod+h exec clipman pick`.
|
||||
For primary clipboard support, `clipman pick --histpath="~/.local/share/clipman-primary.json`.
|
||||
To query the history and select items, run the binary as `clipman pick -t wofi`. You can assign it to a keybinding: `bindsym $mod+h exec clipman pick -t wofi`.
|
||||
For primary clipboard support, `clipman pick -t wofi --histpath="~/.local/share/clipman-primary.json`.
|
||||
|
||||
To remove items from history, `clipman clear` and `clipman clear --all`.
|
||||
To remove items from history, `clipman clear -t wofi` and `clipman clear --all`.
|
||||
|
||||
To serve the last history item at startup, add `exec clipman restore` to your Sway config.
|
||||
|
||||
|
@ -33,8 +33,7 @@ For more options: `clipman -h`.
|
|||
### Loss of rich text
|
||||
|
||||
- All items stored in history are treated as plain text.
|
||||
|
||||
- By default, we continue serving the last copied item even after its owner has exited. The trade-off is that we *always immediately* lose rich content: for example, if you copy some bold text in LibreOffice, when you paste it right after it will be unformatted text; or, if you copy a bookmark in Firefox, you won't be able to paste it in another bookmark folder. To disable this behaviour, you must give up persistency-after-exit by passing the `-P` option to `clipman store`. (Items manually picked from history will still be just plain text.)
|
||||
- By default, we continue serving the last copied item even after its owner has exited. This means that, unless you run with the `--no-persist` option, you'll always immediately lose rich content: for example, if you copy formatted text inside Libre Office you'll lose all formatting on paste; or, if you copy a bookmark in Firefox, you won't be able to paste it in another bookmark folder.
|
||||
|
||||
## Versions
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH clipman 1 1.2.0 ""
|
||||
.TH clipman 1 1.3.0 ""
|
||||
.SH "NAME"
|
||||
clipman
|
||||
.SH "SYNOPSIS"
|
||||
|
@ -33,15 +33,15 @@ history size
|
|||
\fB-P, --no-persist\fR
|
||||
Don't persist a copy buffer after a program exits
|
||||
.SS
|
||||
\fBpick [<flags>]\fR
|
||||
\fBpick --tool=TOOL [<flags>]\fR
|
||||
.PP
|
||||
Pick an item from clipboard history
|
||||
.TP
|
||||
\fB--max-items=15\fR
|
||||
scrollview length
|
||||
.TP
|
||||
\fB-t, --tool="wofi"\fR
|
||||
Which selector to use: dmenu/bemenu/rofi/wofi/STDOUT
|
||||
\fB-t, --tool=TOOL\fR
|
||||
Which selector to use: wofi/bemenu/dmenu/rofi/STDOUT
|
||||
.TP
|
||||
\fB-T, --tool-args=""\fR
|
||||
Extra arguments to pass to the --tool
|
||||
|
@ -53,8 +53,8 @@ Remove item/s from history
|
|||
\fB--max-items=15\fR
|
||||
scrollview length
|
||||
.TP
|
||||
\fB-t, --tool="wofi"\fR
|
||||
Which selector to use: dmenu/bemenu/rofi/wofi/STDOUT
|
||||
\fB-t, --tool=TOOL\fR
|
||||
Which selector to use: wofi/bemenu/dmenu/rofi/STDOUT
|
||||
.TP
|
||||
\fB-T, --tool-args=""\fR
|
||||
Extra arguments to pass to the --tool
|
||||
|
@ -69,11 +69,13 @@ Serve the last recorded item from history
|
|||
Run the binary in your Sway session by adding `exec wl-paste -t text --watch clipman store` (or `exec wl-paste -t text --watch clipman store 1>> PATH/TO/LOGFILE 2>&1 &` to log errors) at the beginning of your config.
|
||||
For primary clipboard support, also add `exec wl-paste -p -t text --watch clipman store --histpath="~/.local/share/clipman-primary.json`.
|
||||
.PP
|
||||
To query the history and select items, run the binary as `clipman pick`. You can assign it to a keybinding: `bindsym $mod+h exec clipman pick`.
|
||||
For primary clipboard support, `clipman pick --histpath="~/.local/share/clipman-primary.json`.
|
||||
To query the history and select items, run the binary as `clipman pick -t wofi`. You can assign it to a keybinding: `bindsym $mod+h exec clipman pick -t wofi`.
|
||||
For primary clipboard support, `clipman pick -t wofi --histpath="~/.local/share/clipman-primary.json`.
|
||||
.PP
|
||||
To remove items from history, `clipman clear` and `clipman clear --all`.
|
||||
To remove items from history, `clipman clear -t wofi` and `clipman clear --all`.
|
||||
.PP
|
||||
To serve the last history item at startup, add `exec clipman restore` to your Sway config.
|
||||
.SH "KNOWN ISSUES"
|
||||
All items stored in history are treated as plain text. This means that, unless you run with the `--no-persist` option, you'll always immediately lose rich content: for example, if you copy formatted text inside Libre Office you'll lose all formatting on paste.
|
||||
All items stored in history are treated as plain text.
|
||||
.PP
|
||||
By default, we continue serving the last copied item even after its owner has exited. This means that, unless you run with the `--no-persist` option, you'll always immediately lose rich content: for example, if you copy formatted text inside Libre Office you'll lose all formatting on paste; or, if you copy a bookmark in Firefox, you won't be able to paste it in another bookmark folder.
|
||||
|
|
13
main.go
13
main.go
|
@ -15,7 +15,7 @@ import (
|
|||
"gopkg.in/alecthomas/kingpin.v2"
|
||||
)
|
||||
|
||||
const version = "1.2.0"
|
||||
const version = "1.3.0"
|
||||
|
||||
var (
|
||||
app = kingpin.New("clipman", "A clipboard manager for Wayland")
|
||||
|
@ -27,12 +27,12 @@ var (
|
|||
|
||||
picker = app.Command("pick", "Pick an item from clipboard history")
|
||||
maxPicker = picker.Flag("max-items", "scrollview length").Default("15").Int()
|
||||
pickTool = picker.Flag("tool", "Which selector to use: wofi/bemenu/dmenu/rofi/STDOUT").Short('t').Default("wofi").String()
|
||||
pickTool = picker.Flag("tool", "Which selector to use: wofi/bemenu/dmenu/rofi/STDOUT").Short('t').Required().String()
|
||||
pickToolArgs = picker.Flag("tool-args", "Extra arguments to pass to the --tool").Short('T').Default("").String()
|
||||
|
||||
clearer = app.Command("clear", "Remove item(s) from history")
|
||||
clearer = app.Command("clear", "Remove item/s from history")
|
||||
maxClearer = clearer.Flag("max-items", "scrollview length").Default("15").Int()
|
||||
clearTool = clearer.Flag("tool", "Which selector to use: wofi/bemenu/dmenu/rofi/STDOUT").Short('t').Default("wofi").String()
|
||||
clearTool = clearer.Flag("tool", "Which selector to use: wofi/bemenu/dmenu/rofi/STDOUT").Short('t').String()
|
||||
clearToolArgs = clearer.Flag("tool-args", "Extra arguments to pass to the --tool").Short('T').Default("").String()
|
||||
clearAll = clearer.Flag("all", "Remove all items").Short('a').Default("false").Bool()
|
||||
|
||||
|
@ -93,6 +93,11 @@ func main() {
|
|||
return
|
||||
}
|
||||
|
||||
if *clearTool == "" {
|
||||
fmt.Println("clipman: error: required flag --tool or --all not provided, try --help")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
selection, err := selector(history, *maxClearer, *clearTool, "clear", *clearToolArgs)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
|
|
Loading…
Reference in a new issue