2017-12-27 19:59:34 +01:00
|
|
|
# Translate Widget
|
|
|
|
|
2018-01-20 20:12:40 +01:00
|
|
|
![demo](./demo.gif)
|
|
|
|
|
2018-01-20 20:10:36 +01:00
|
|
|
This widget is based on the [Yandex.Translate API](https://tech.yandex.com/translate/).
|
2017-12-27 19:59:34 +01:00
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
2018-01-21 03:24:07 +01:00
|
|
|
1. Get an [API key](https://translate.yandex.com/developers/keys) and paste it **secrets.lua**
|
|
|
|
1. Require widget and secrets in **rc.lua**:
|
|
|
|
|
|
|
|
```lua
|
|
|
|
local secrets = require("awesome-wm-widgets.secrets")
|
|
|
|
local translate = require("awesome-wm-widgets.translate-widget.translate")
|
|
|
|
```
|
|
|
|
|
|
|
|
1. Create a translate prompt (just under `mypromptbox`):
|
|
|
|
|
|
|
|
```lua
|
|
|
|
s.mypromptbox = awful.widget.prompt()
|
|
|
|
s.translateprompt = awful.widget.prompt()
|
|
|
|
```
|
|
|
|
|
|
|
|
1. Add it to the left widgets of the wibox, just after `mypromptbox`:
|
|
|
|
|
|
|
|
```lua
|
|
|
|
-- Add widgets to the wibox
|
|
|
|
s.mywibox:setup {
|
|
|
|
layout = wibox.layout.align.horizontal,
|
|
|
|
{ -- Left widgets
|
|
|
|
layout = wibox.layout.fixed.horizontal,
|
|
|
|
mylauncher,
|
|
|
|
s.mytaglist,
|
|
|
|
s.mypromptbox,
|
|
|
|
s.translateprompt,
|
|
|
|
},
|
|
|
|
```
|
|
|
|
|
|
|
|
1. Add a shortcut to run this prompt (note that we pass an API key from secrets.lua in method call):
|
|
|
|
|
|
|
|
```lua
|
|
|
|
awful.key({ modkey }, "c", function()
|
|
|
|
awful.prompt.run {
|
|
|
|
prompt = "trnslt: ",
|
|
|
|
textbox = awful.screen.focused().translateprompt.widget,
|
|
|
|
exe_callback = function(text)
|
|
|
|
translate.translate(text, secrets.translate_widget_api_key)
|
|
|
|
end
|
|
|
|
}
|
|
|
|
```
|
2017-12-27 19:59:34 +01:00
|
|
|
|
|
|
|
## Controls
|
|
|
|
|
|
|
|
- <kbd>Mod4</kbd> + <kbd>c</kbd> - opens a translate prompt;
|
|
|
|
- left click on the popup widget - copies the translation to the clipboard and closes widget;
|
2018-01-19 14:46:12 +01:00
|
|
|
- right click on the popup widget - copies text to translate to the clipboard and closes widget.
|