# [Fluxbox] Dwie różne tapety na dwu różnych moniotrach.

## nUmer_inaczej

Cześć.

 Wybieranie dwu różnych tapet na dwa fizyczne monitory 

Napisałem niewielki skrypt, który pozwala na wybór z menu tapet na dwa różne monitory.

1) Skrypt picture do pobrania tutaj.

 - pamiętając o nadaniu praw do wykonania (chmod +x program)

2) Edytujemy /home/user/.fluxbox/menu na kształt:

```
(...)

   [submenu] (Wallpapers) {Choose a wallpapers...}

      [wallpapers] (/home/user/.fluxbox/wallpapers) {/home/user/bin/picture -f }

   [end] 

(...)
```

i dopisujemy zarówno ścieżkę do tapet /home/user/.fluxbox/wallpapers która może być dowolna oraz ścieżkę do programu {/home/user/bin/picture -f }. Oczywiście program można umieścić w dowolnym miejscu na dysku, pamiętając o właściwym podaniu dostępu.

3) Edytujemy /home/user/.fluxbox/startup na kształt, dopisując:

```
/home/numer/skrypty/fluxbox/picture -l &
```

Uwagi: 

- program tworzy tylko jeden plik, w którym zapamiętuje potrzebne do uruchomienia tapety przy starcie fluxboxa o nazwie /home/user/.fluxbox/.picture_wallpapers (jeśli zostanie usunięty utworzy się ponownie podczas wyboru tapety)

- pierwsza tapeta uruchomi się na pierwszym monitorze, druga na drugim (zatem w menu wybieramy 2 tapety lub inaczej - tapeta z 2 monitora zostaje przesunięta na 1)

Mam nadzieję, że się przyda. Napisałem tylko na 2 monitory - bo tylko tyle posiadam  :Smile:  ale w razie potrzeby jestem w stanie dopisać potrzebne fragmenty.

Uwaga: program do ustawiania tapety korzysta z przeglądarki feh.

program w ver 0.3 pozwala na ustalenie dowolnych tapet na dwolnie przypiętej ilosci monitorach.

Zrzutka ekranu z dwu różnych fizycznie monitorów.

Dla poniższego przykładu tworzymy w katalogu domowy katalog shoot z dwoma podkatalogami big oraz small (kolejno dla większego i mniejszego ekranu).

```

mkdir ~/shoot

mkdir ~/shoot/big

mkdir ~/shoot/small

```

Następnie musimy przekazać rozmiary dwu ekranów dla programu convert co uzyskujemy z wyjścia programu xrandr

```

xrandr:

Screen 0: minimum 8 x 8, current 3286 x 1080, maximum 16384 x 16384

DVI-I-0 connected primary 1366x768+0+312 (normal left inverted right x axis y axis) 410mm x 230mm

   1366x768       59.8*+

   1280x720       60.0  

   1024x768       75.0     70.1     60.0  

   800x600        75.0     72.2     60.3     56.2  

   640x480        75.0     72.8     59.9  

DVI-I-1 disconnected (normal left inverted right x axis y axis)

HDMI-0 disconnected (normal left inverted right x axis y axis)

DP-0 disconnected (normal left inverted right x axis y axis)

DVI-D-0 connected 1920x1080+1366+0 (normal left inverted right x axis y axis) 598mm x 336mm

   1920x1080      60.0*+   59.9     50.0     60.1     60.0     50.0  

   1680x1050      60.0  

   1600x1200      60.0  

   1440x900       75.0     59.9  

   1280x1024      75.0     60.0  

   1280x960       60.0  

   1280x800       59.8  

   1280x720       60.0     59.9     50.0  

   1152x864       75.0  

   1024x768       75.0     70.1     60.0  

   800x600        75.0     72.2     60.3     56.2  

   720x576        50.0  

   720x480        59.9  

   640x480        75.0     72.8     59.9  

DP-1 disconnected (normal left inverted right x axis y axis)

```

Kolejnym krokiem jest odpowiednie uruchomienie programu scrot tworzącego obraz najwyższej jakości z datą w nazwie o rozszerzeniu jpg.

To utworzy nam zrzutkę z dwu fizycznych ekranów, którą rozdzielamy na dwa fizyczne ekrany formatu jpg o rozmiarach uzyskanych z xrandr i przekazanych kolejno do podkatalogów big oraz small.

Ostatnim krokiem jest podpięcie w Fluxboxie tych poleceń pod klawisze Cotntrol+Shift+P:

```

Control Shift P      :execcommand scrot -q 100 '%Y-%m-%d.jpg' -e 'mv $f ~/shoot/' ; convert -crop 1366x768+0+312 -quality 100 ~/shoot/`date +%Y-%m-%d`.jpg ~/shoot/small/`date +%Y-%m-%d`.jpg ; convert -crop 1920x1080+1366+0 -quality 100 ~/shoot/`date +%Y-%m-%d`.jpg ~/shoot/big/`date +%Y-%m-%d`.jpg

```

----------

