river: Add translation widget mapping
Added quick way to translate from anywhere with the Mod+Shift+T mapping. Will open a bemenu window into which text to be translated can be input (as well as any translation options) and will return in another bemenu window. From there, selected text can be put on the clipboard for easy pasting. Internally uses a simple wrapper script for translate-shell on which the translation is based. Closes #12.
This commit is contained in:
parent
4abfc41ca2
commit
a08f2daafe
3 changed files with 74 additions and 29 deletions
|
|
@ -59,6 +59,9 @@ riverctl map normal $mod+Shift R spawn "$term --class float -e qalc"
|
|||
# Open emoji picker
|
||||
riverctl map normal $mod+Shift E spawn "bemoji -t"
|
||||
|
||||
# Open translation helper
|
||||
riverctl map normal $mod+Shift T spawn "bemenu-translate"
|
||||
|
||||
# Desktop theming
|
||||
# shellcheck disable=SC2016
|
||||
riverctl map normal $mod+Shift S spawn 'styler set $(styler list themes | bemenu)'
|
||||
|
|
@ -146,20 +149,20 @@ riverctl map normal $mod+Shift Comma send-to-output previous
|
|||
|
||||
# set up 10 tags (with '0' opening the 10th one)
|
||||
for i in $(seq 0 9); do
|
||||
tags=$((1 << (i - 1)))
|
||||
if [ "$i" -eq 0 ]; then tags=$((1 << 9)); fi
|
||||
tags=$((1 << (i - 1)))
|
||||
if [ "$i" -eq 0 ]; then tags=$((1 << 9)); fi
|
||||
|
||||
# Mod+[1-9] to focus tag [0-8]
|
||||
riverctl map normal $mod "$i" set-focused-tags $tags
|
||||
# Mod+[1-9] to focus tag [0-8]
|
||||
riverctl map normal $mod "$i" set-focused-tags $tags
|
||||
|
||||
# Mod+Shift+[1-9] to tag focused view with tag [0-8]
|
||||
riverctl map normal $mod+Shift "$i" set-view-tags $tags
|
||||
# Mod+Shift+[1-9] to tag focused view with tag [0-8]
|
||||
riverctl map normal $mod+Shift "$i" set-view-tags $tags
|
||||
|
||||
# Mod+Ctrl+[1-9] to toggle focus of tag [0-8]
|
||||
riverctl map normal $mod+Control "$i" toggle-focused-tags $tags
|
||||
# Mod+Ctrl+[1-9] to toggle focus of tag [0-8]
|
||||
riverctl map normal $mod+Control "$i" toggle-focused-tags $tags
|
||||
|
||||
# Mod+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view
|
||||
riverctl map normal $mod+Shift+Control "$i" toggle-view-tags $tags
|
||||
# Mod+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view
|
||||
riverctl map normal $mod+Shift+Control "$i" toggle-view-tags $tags
|
||||
done
|
||||
|
||||
# focus all tags
|
||||
|
|
@ -171,22 +174,22 @@ riverctl map normal $mod+Shift equal set-view-tags $all_tags
|
|||
# Various media key mapping examples for both normal and locked mode which do
|
||||
# not have a modifier
|
||||
for mode in normal locked; do
|
||||
# Eject the optical drive
|
||||
riverctl map $mode None XF86Eject spawn 'eject -T'
|
||||
# Eject the optical drive
|
||||
riverctl map $mode None XF86Eject spawn 'eject -T'
|
||||
|
||||
riverctl map $mode None XF86AudioRaiseVolume spawn 'pactl set-sink-volume @DEFAULT_SINK@ +5%'
|
||||
riverctl map $mode None XF86AudioLowerVolume spawn 'pactl set-sink-volume @DEFAULT_SINK@ -5%'
|
||||
riverctl map $mode None XF86AudioMute spawn 'pactl set-sink-mute @DEFAULT_SINK@ toggle'
|
||||
riverctl map $mode None XF86AudioRaiseVolume spawn 'pactl set-sink-volume @DEFAULT_SINK@ +5%'
|
||||
riverctl map $mode None XF86AudioLowerVolume spawn 'pactl set-sink-volume @DEFAULT_SINK@ -5%'
|
||||
riverctl map $mode None XF86AudioMute spawn 'pactl set-sink-mute @DEFAULT_SINK@ toggle'
|
||||
|
||||
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
|
||||
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
|
||||
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
|
||||
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
|
||||
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
|
||||
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
|
||||
|
||||
# You can control screen backlight brighness with light (https://github.com/haikarainen/light); but we prefer brightnessctl
|
||||
riverctl map $mode None XF86MonBrightnessUp spawn 'brightnessctl set 10%+'
|
||||
riverctl map $mode None XF86MonBrightnessDown spawn 'brightnessctl set 10%-'
|
||||
# You can control screen backlight brighness with light (https://github.com/haikarainen/light); but we prefer brightnessctl
|
||||
riverctl map $mode None XF86MonBrightnessUp spawn 'brightnessctl set 10%+'
|
||||
riverctl map $mode None XF86MonBrightnessDown spawn 'brightnessctl set 10%-'
|
||||
done
|
||||
|
||||
# The scratchpad will live on an unused tag. Which tags are used depends on your
|
||||
|
|
@ -210,14 +213,14 @@ riverctl spawn-tagmask ${all_but_scratch_tag}
|
|||
# device (touchscreen)
|
||||
# enable touch clicking for touchpads
|
||||
for pad in $(riverctl list-inputs | grep -i touchpad); do
|
||||
riverctl input "$pad" events enabled
|
||||
riverctl input "$pad" tap enabled
|
||||
riverctl input "$pad" events enabled
|
||||
riverctl input "$pad" tap enabled
|
||||
done
|
||||
for pad in $(riverctl list-inputs | grep -i touchscreen); do
|
||||
riverctl input "$pad" events enabled
|
||||
riverctl input "$pad" tap enabled
|
||||
riverctl input "$pad" drag enabled
|
||||
riverctl input "$pad" pointer-accel 0.5
|
||||
riverctl input "$pad" events enabled
|
||||
riverctl input "$pad" tap enabled
|
||||
riverctl input "$pad" drag enabled
|
||||
riverctl input "$pad" pointer-accel 0.5
|
||||
done
|
||||
|
||||
setxkbmap -option "compose:menu"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue