Bagaimana cara menghentikan permainan layar penuh dari meminimalkan ketika saya mengklik jendela lain pada monitor kedua saya?

1

Saya mencoba memainkan permainan yang tidak memiliki mode jendela tanpa batas, dan saya tidak ingin menggunakan mode berjendela normal pada permainan.

Saya menggunakan dua monitor, satu sebagai monitor utama besar, dan satu sebagai sesuatu untuk melacak obrolan, wiki, dan sejenisnya. Sebagian besar gim yang saya mainkan memiliki opsi untuk menjaga gim layar penuh tetap berada di atas (mode jendela tanpa batas) saat saya bermain, tetapi, untuk gim yang tidak memiliki fitur ini, ini bisa membuat frustrasi.

Apakah ada cara untuk memaksa game agar tetap maksimal jika saya mengklik monitor kedua saya?

Conjo
sumber

Jawaban:

2

Saya tidak punya cukup perwakilan untuk mengomentari jawaban gunix, tetapi seseorang meminta konteks, jadi saya hanya akan menulis jawaban saya sendiri.

Perilaku ini umumnya disebabkan oleh SDL, perpustakaan yang biasa digunakan untuk membuat konteks OpenGL agar game dapat merender hal-hal. Komit ini ke libSDL2 pada tahun 2012 menambahkan variabel lingkungan, SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS, yang, seperti namanya, mengontrol apakah game akan meminimalkan dirinya sendiri atau tidak jika kehilangan fokus jendela.

Untuk menghentikan perilaku ini, Anda perlu mengatur variabel lingkungan ini ke 0. Ada beberapa cara untuk melakukan ini:

  • Ubah file lingkungan lokal Anda, yang terletak di suatu tempat di direktori home Anda, mungkin .profile atau .xprofile; .bashrc akan mengaturnya untuk shell Bash Anda tetapi itu mungkin tidak membantu jika Anda masuk melalui xdm atau salah satu dari banyak alternatifnya. Ini akan memengaruhi semua game menggunakan SDL dan dijalankan sebagai pengguna Anda.
  • Ubah file lingkungan global Anda, biasanya /etc/profile atau /etc/environment. Dibandingkan dengan file lingkungan di direktori home Anda, ini bukan pilihan yang disarankan, tetapi jika Anda satu-satunya pengguna pada sistem dan perubahan ke .profile tampaknya tidak berlaku bahkan setelah keluar dan kembali lagi, ini adalah hal kedua yang harus dicoba.

    Untuk kedua opsi di atas, Anda akan menambahkan baris ini:

    export SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0
    
  • Jika ini adalah permainan Steam, Anda dapat menambahkannya ke opsi peluncuran Anda:

    SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0 %command%
    
  • Jika ini bukan permainan Steam, tetapi Anda masih ingin mengubahnya hanya untuk game ini, Anda bisa membuatnya launch_game.sh file dalam direktori yang sama dengan game executable utama:

    #!/bin/sh
    export SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0
    ./SomeGame "$@"
    
Nicholas O'Connor
sumber
1
tbh, sementara ini dibangun berdasarkan jawaban Gunix, ini dia secara signifikan lebih baik dan bagi saya, terasa seperti jawaban mandiri yang lebih baik. Yang mengatakan ... tag menunjukkan untuk Windows 10, jadi ini mungkin tidak sepenuhnya berguna di sini.
Journeyman Geek
Di berbagai sistem, saya telah menemukan bahwa saya dapat menghindari / etc / dengan sumber umum "~ / .environment.sh" dari semua yang berikut: ~ / .profile ~ / .zshrc ~ / .xprofile ~ / .xsessionrc ~ /.bashrc ~ / .config / plasma-workspace / env / *. sh (dimasukkannya. * file rc disengaja agar shell baru mendapatkannya tanpa keluar, meskipun program yang diluncurkan dari menu tidak) ... Saya masih belum menangani login grafis untuk non-KDE.
o11c
0

Banyak game dapat diatur ke "jendela tanpa batas", "tanpa batas jendela" atau sesuatu yang serupa dalam pengaturan grafik. Setelah Anda mengaturnya, gim akan tetap menggunakan seluruh layar, tetapi itu akan dianggap sebagai jendela biasa oleh OS. Saya pikir ini dapat mencegah gim diperkecil saat Anda mengklik di layar kedua.

user169862
sumber
Saya cukup yakin Anda menerima sedikit penalti kinerja saat melakukan ini, meskipun itu seharusnya membantu menyelesaikan masalah. Perhatikan bahwa tidak semua game akan menangkap kursor Anda ketika bergerak ke tepi layar dalam mode ini, jadi Anda mungkin secara tidak sengaja mengklik di luar permainan.
cascer1
0

Tambahkan baris berikut:

export SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0

ke file / etc / environment dan reboot setelah itu.

gunix
sumber
Pertimbangkan untuk menambahkan beberapa penjelasan konteks juga.
Pimp Juice IT