Linux'ta ekran çözünürlüğü değiştiğinde komut nasıl çalıştırılır


1

Bir VM'de Linux kullanıyorum ve X sunucu çözünürlüğü değiştiğinde (genellikle VM'de tam ekran moduna girip çıkıyor) bir komut dosyası çalıştırmak istiyorum. Bunu nasıl yapabilirim?

Yanıtlar:


1

Bu kodu yaz

#include <iostream>
#include <X11/Xlib.h>

Display* disp = XOpenDisplay(NULL);
Screen*  scrn = DefaultScreenOfDisplay(disp);
int height = scrn->height;
int width  = scrn->width;

int main() {
    std::cout << "width " << width << " height " << height << "\n";
}

Derle

g++ test.c -o test -lX11

Koş

rbabchis@haze:~$ ./test
width 1920 height 1080
rbabchis@haze:~$ 

Çözümü değiştirmek için komut dosyasını kontrol etmeye ve yürütmeye devam etmek için onu oradan değiştirmeniz veya başka bir programlama / komut dili ile sarmanız gerekir. Bu kolay olmalı.

Değişiklikleri sürekli kontrol etmek ve harici bir komut dosyasını çalıştırmak için bu komut dosyasını kullanın (./external_script)

#! / Bin / bash

çözünürlük = $ (./ testi)

doğru olsa da; yap {
        newResolution = $ (./ testi)
        if ["$ newResolution"! = "$ çözünürlük"]; sonra {
                echo "Çözünürlük değişikliği: $ newResolution"
                çözünürlüğü = $ newResolution
                ./external_script
        } fi

        uyku 1
} tamamlandı


Senin soruna cevap verdi mi? Daha fazla bilgiye mi ihtiyacınız var?
Ryan Babchishin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.