added emoji picker
This commit is contained in:
parent
dced0c0438
commit
310b8d9c1e
5 changed files with 1596 additions and 1 deletions
|
@ -16,6 +16,7 @@ which are selectable options in dmenu.
|
|||
- `temperature` shows the current CPU temperature
|
||||
- `notes` a simple one liner note taking tool, displaying notes in `dmenu`/`rofi`
|
||||
- `calculate` a calculator, utilising `qalculate` - inspired by [@fedops](https://codeberg.org/fedops/scripts)
|
||||
- `emoji` an emoji picker
|
||||
|
||||
The next two do not work with `rofi` unless you have `alias dmenu=rofi` set, but they're pretty nice tools
|
||||
|
||||
|
|
2
base.nim
2
base.nim
|
@ -178,6 +178,8 @@ proc runDMenu*(data: Info, opts: varargs[string], rofi: bool = false): string =
|
|||
output.output.stripLineEnd()
|
||||
return output.output
|
||||
|
||||
proc copyToClipboard*(str: string) =
|
||||
discard execCmd("echo -n " & quote(str) & " | xclip -selection clipboard")
|
||||
proc outputData*(data: Info, args: varargs[string]): string {.discardable.} =
|
||||
var output = ""
|
||||
if rofi:
|
||||
|
|
|
@ -17,7 +17,7 @@ proc doCalculation(calc: string) =
|
|||
var cmd = outputData(info, args)
|
||||
cmd.stripLineEnd()
|
||||
if cmd in answers:
|
||||
discard execCmd("echo " & quote(cmd) & " | xclip")
|
||||
copyToClipboard(cmd)
|
||||
elif cmd == "exit" or cmd == "":
|
||||
return
|
||||
else:
|
||||
|
|
19
emoji.nim
Normal file
19
emoji.nim
Normal file
|
@ -0,0 +1,19 @@
|
|||
import base
|
||||
import lib/codemap
|
||||
import std/[re,osproc,algorithm]
|
||||
|
||||
proc main() =
|
||||
var info = newInfo("Emoji Picker")
|
||||
var args = emojiCodemap
|
||||
args.add("exit")
|
||||
let output = outputData(info,args)
|
||||
if output == "exit" or output == "":
|
||||
return
|
||||
else:
|
||||
let e = re.findAll(output,re(".+ :"))
|
||||
let emoji = re.replace(e[0], re(" :"),"")
|
||||
copyToClipboard(emoji)
|
||||
return
|
||||
|
||||
if isMainModule:
|
||||
main()
|
1573
lib/codemap.nim
Normal file
1573
lib/codemap.nim
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue