Kuinka voin helposti tehdä kuvakaappauksia näytön alueista Arch Linuxissa i3 WM: n avulla?

Noin kuukausi sitten vaihdoin Ubuntu 14.04 LTS: stä Archiin ja olen melko tyytyväinen tähän päätökseen. Kaipaan kuitenkin joitain ominaisuuksia uudessa distroissani , erityisesti Shift + printscr , joka Unityssä sallii näytön alueen valinnan kaappaamisen.

Käytän i3 WM: ää, joten kysymykseni on: Kuinka voin määrittää Unity-tyyppisen kuvakaappauksen käyttäytymisen niin, että se voi napsauttaa näytön alueita tai ikkunoita pikanäppäimellä tai muulla tavalla (ilman kaivamista ikkunan tunnukseen ja konsoliin)?

Vastaa

Voit käyttää import, joka on osa ImageMagickia.

Sieppaa alue

Tämä muuttaa kohdistimen hiusristikoksi. Kun napsautat ja vedät muodostaaksesi laatikon, kyseinen laatikko tallennetaan nimellä ss.png.

import ss.png 

Kaappaa koko näyttö

Voit myös korvata sanan root ikkunan tunnuksella kaapataksesi tietyn ikkunan.

Kommentit

  • Voit myös napsauttaa ikkunaa import ss.png jälkeen ottaaksesi kuvakaappauksen kyseisestä ikkunasta.
  • Tämä ei ’ ei kuitenkaan toimi i3-kokoonpanosta. Pienin esimerkki: lisää rivi bindsym $mod+shift+s exec import ~/screenshot.png määrityksiisi. Eikö ’ tee mitään puolestani.
  • Katso toinen vastaus liekkikuvasta. Se ’ s mitä minä ’ m käytän näinä päivinä.

Vastaa

Se on ollut kauan sitten, kun esitin tämän kysymyksen, ja näyttää siltä, että se on hyödyllinen joillekin käyttäjille. Joten annan oman käsikirjoitukseni kuvakaappaukset, joissa on xclip ja imagemagick -paketit.

Asenna ensin yllä mainitut riippuvuudet. Sitten voit tehdä mitä haluat alla olevan komentosarjan avulla. Se tukee kuvakaappauksen tekemistä koko näytöstä tai näyttöalueelta ja kopioi kuvakaappauksen automaattisesti leikepöydälle, jotta voit liittää sen kaikkialle (ei selain tai sähke Messenger).

Muutama vaikeasti keksittävä hakkerointi lisäisi tukea tiettyjen ikkunoiden kaappaamiseen ja osan kopioimiseen.

 #!/usr/bin/env bash # screenshots stuff # TODO: docs function help_and_exit { if [ -n "${1}" ]; then echo "${1}" fi cat <<-EOF Usage: scregcp [-h|-s] [<screenshots_base_folder>] Take screenshot of a whole screen or a specified region, save it to a specified folder (current folder is default) and copy it to a clipboard. -h - print help and exit -s - take a screenshot of a screen region EOF if [ -n "${1}" ]; then exit 1 fi exit 0 } if [ "${1}" == "-h" ]; then help_and_exit elif [ "${1:0:1}" == "-" ]; then if [ "${1}" != "-s" ]; then help_and_exit "error: unknown option ${1}" fi base_folder="${2}" else base_folder="${1}" params="-window root" fi file_path=${base_folder}$( date "+%Y-%m-%d_%H-%M-%S" )_screenshot.png import ${params} ${file_path} xclip -selection clipboard -target image/png -i < ${file_path}  

Ja tässä on viitteelliset pikanäppäimet i3wm -laitteiden käyttämiseen komentosarja:

# take a screenshot of a screen region and copy it to a clipboard bindsym --release Shift+Print exec "scregcp -s /home/ddnomad/pictures/screenshots/" # take a screenshot of a whole window and copy it to a clipboard bindsym --release Print exec "scregcp /home/ddnomad/pictures/screenshots/" 

vastaus

Flameshot on hyvä vaihtoehto.

bindsym Print exec flameshot full bindsym Shift+Print exec flameshot gui 

Voit ohittaa vaihtoehdon -p /path/to/directory valitsemalla hakemiston.

Kommentit

  • mukava työkalu Etsin sellaista työkalua dokumentaation tekemiseen. Jopa sinä voit lisätä merkinnän kuvakaappaukseen

Vastaa

oletko kokeillut scrot a, yksinkertainen komentorivin kaappaustyökalu

ref.,: https://faq.i3wm.org/question/202/what-do-you-guys-use-for-printscreen/

Kommentit

  • voit myös käyttää scrot -s -sanomia tietyn alueen sieppaamiseen. Suorita komento ja pidä sitten painettuna ja napsauta sitten toista kohtaa. ’ ll luo tiedosto, jonka päivämäärä on tiedostonimi nykyiseen hakemistoon.

Vastaa

Asenna ensin xclip, imagemagick ja jq!

pacman -S imagemagick jq xclip 

I sinulla on tämä rivi i3-asetuksissani:

bindsym $mod+Print exec \ import -window $( \ i3-msg -t get_tree | \ jq "recurse(.nodes[]) | select(.focused).window" \ ) png:- | \ xclip -selection clipboard -t image/png 

Tämä tuo kuvakaappauksen aktiivisesta ikkunasta leikepöydälle, kun painat mod (Ikkuna / Alt) + Tulostusnäyttö .

i3-msg -t get-puu saa kaikki i3: n ikkunat jsonina, sitten käytämme jq: tä tarkennetun ikkunan ikkunatunnuksen saamiseksi. Välitämme sen imagemagicks import -komennolle ja lähetämme tuloksen xclipille, joka laittaa sen leikepöydälle!

Vastaa

Käytä maim . Se kehittyy aktiivisemmin ja riippuu kaltevuudesta , mikä on paljon parempi.

Älä käytä scrot-tiedostoa. Sen valintaruutu vioittuu ja jättää vaikutelman kuvakaappaukseen (myös ruutu muuttuu kokoa muutettaessa), kun sitä käytetään päivitysikkunassa (esimerkiksi htop).

Kommentit

  • (1) Mikä on ”kaltevuus”? (2) Mikä on tarkalleen parempi? (3) Miksi?
  • 1. Valitse toiminto, jota käytetään ikkuna-alueiden valitsemiseen [ github.com/naelstrof/slop] 2. Se on ’ parempi kuin scrot, koska se ei ’ t läpäise valintaruudun vioittumista (Kokeile scrot over htop). 3. idk.

vastaus

Hyvin yksinkertainen vaihtoehto, jos se on asennettu tai älä välitä asentamasta xfce4-screenhooter ja i3-kokoonpanot olisivat seuraavat:

bindsym Print exec --no-startup-id xfce4-screenshooter 

Varoitus: vaikkakin melko kevyt, on joitain riippuvuuksia, jos et käytä muita xfce4-ohjelmia.

Vastaa

Pidän suljin jälkikäsittelyominaisuuksille (käsin piirretyt punaiset ympyrät!) ja kattaville määritysvaihtoehdoille.

Voit napata näytön alueen suorittamalla

shutter --select 

Voit määrittää avainsidokset kansioon .config/i3/config näin:

bindsym Print exec shutter --full bindsym Shift+Print exec shutter --select 

Lataaminen kestää sekunnin, joten sinun kannattaa käynnistää se automaattisesti taustalla:

exec shutter --min_at_startup 

Suljinta voi käyttää sitten tarjotinkuvakkeen kautta, mikä antaa sinulle monia hyödyllisiä vaihtoehtoja yllä olevan lisäksi.

Com ments

  • Suljinta ei voi ’ asentaa helposti kokonaan Ubuntu 18.04: een tällä hetkellä (muokkaustyökalu riippuu kirjastosta, jota ei ole käytettävissä) ; mukautettu PPA ei ole ajan tasalla). Surullinen.

Vastaus

Tämä perl6-komentosarja vie juuri, alue, ikkuna, tai delay Kuvakaappaukset tuontia käyttämällä ja tallentavat ne $-tiedostoon ja leikepöydälle.

#!/usr/bin/env perl6 use v6; sub print_window(Str $file) { qx{xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"} ~~ /(0x\S*)/; run <import -window>, $0, $file; } sub MAIN( Str $option where $option ∈ <root area window delay> ) { my $today = DateTime.now( formatter => { sprintf "%04d_%02d_%02d_%02d-%02d-%02d", .year, .month, .day, .hour, .minute, .second } ); my $file = "$*HOME/Dades/Imatges/ScreenShots/$today.png"; given $option { when "root" { run <import -window root>, $file } when "area" { run "import", $file } when "window" { print_window($file) } when "delay" { sleep 10; print_window($file) } } run <xclip -selection clipboard -target image/png -i>, $file; run <xmessage -nearmouse -timeout 3>, "Screenshot in clipboard, and saved in $today.png"; } 

Nämä ovat i3: n avainsidokset suoritettavaksi komentosarja:

bindsym $mod+Print exec Print_Screen root bindsym --release $mod+Shift+Print exec Print_Screen area bindsym $mod+Mod1+Print exec Print_Screen delay bindsym $mod+Control+Print exec Print_Screen window 

vastaus

Muokannut ratkaisua hiukan @ddnomad yllä, tässä ”komentosarjan bash -versio on selkeämpi ja toinen lippu, jonka avulla voidaan tallentaa vain leikepöydälle.

 #! /bin/bash - help_and_exit() { cat <<-EOF Usage: scregcp [-h|-s|-c] [<screenshots_base_folder>] Take screenshot of a whole screen or a specified region, save it to a specified folder (current folder is default) and copy it to a clipboard. -h - print help and exit -s - take a screenshot of a screen region -c - save only to clipboard EOF exit 0 } base_folder="./" savefile=true region=false params="-window root" while test $# -gt 0; do case "$1" in -h|--help*) help_and_exit ;; -r|--region*) params="" shift ;; -c|--clipboard-only*) savefile=false shift ;; *) if [[ $1 =~ ^\- ]] ; then echo "error: unknown flag "$1"" help_and_exit fi base_folder="${1}" shift ;; esac done file_path=${base_folder}$( date "+%Y-%m-%d_%H-%M-%S" )_screenshot.png import ${params} ${file_path} xclip -selection clipboard -target image/png -i < ${file_path} if [ "$savefile" = false ] ; then rm ${file_path} fi  

Sitten lisäät tämän kohtaan i3 config:

 bindsym --release Shift+Print exec "/dir/to/script.sh -r $HOME/Pictures/screenshots/" bindsym --release Control+Shift+Print exec "/dir/to/script.sh -r -c $HOME/Pictures/screenshots/" bindsym --release Print exec "/dir/to/script.sh $HOME/Pictures/screenshots/" bindsym --release Control+Print exec "/dir/to/script.sh -c $HOME/Pictures/screenshots/"  

Joten avaimen sidonta on:

  • = tee kuvakaappaus
  • +Control = tallenna vain leikepöydälle
  • +Shift = siepaa vain tietyn näytön alueen

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *