X kaynakları - X resources

İçinde X Pencere Sistemi, X kaynakları vardır parametreleri nın-nin bilgisayar programları adı gibi yazı tipi kullanılan düğmeler, arka plan rengi nın-nin menüler vb. ile birlikte veya alternatif olarak kullanılırlar. Komut satırı parametreler ve yapılandırma dosyaları.

Biçim

X protokol düzeyinde kaynaklar, sunucuda depolanan ve özel bir anlamı olmayan dizelerdir. Bu dizelerin sözdizimi ve anlamı, istemci kitaplıkları ve uygulamaları tarafından verilir.

Her X kaynağı, bir program veya bileşenlerinden biri için bir parametre belirtir. Tam olarak belirtilmiş bir kaynak aşağıdaki biçime sahiptir:

application.component.subcomponent.subcomponent.attribute: değer

Bu kaynak, değerini belirtir nitelik adlı bileşen için component.subcomponent.subcomponent programın uygulama. Kaynaklar genellikle aşağıdakilerin parametrelerini belirlemek için kullanılır. aletler uygulama tarafından oluşturulur. Bu widget'lar bir ağaç, bileşen / alt bileşen adları dizisi, ağaç içinde yolunu vererek bir parçacığı tanımlamak için kullanılır. Kaynağın değeri, arka plan rengi vb. Gibi bu widget için bir özniteliğin değeridir.

X kaynakları, aynı sözdizimini kullanarak, programın pencere öğeleriyle doğrudan ilişkili olmayan parametrelerini belirtmek için de kullanılır.

X kaynakları, aynı parametrenin birden fazla program veya bileşen için belirtilmesine izin verecek şekilde tasarlanmıştır. Bu izin vererek gerçekleştirilir joker karakterler bir kaynak spesifikasyonunda. Özellikle, ? karakter, uygulama adıyla veya tek bir bileşenle eşleşmek için kullanılır. * karakteri herhangi bir sayıda bileşeni eşleştirmek için kullanılır. Bu iki karakter, herhangi bir yerde ancak kaynak adının sonunda kullanılabilir. Başka bir deyişle, bir öznitelik joker karakterle değiştirilemez.

Kaynaklar, joker karakterlerle gevşek bir şekilde belirtilebilirken, bir kaynağın değerine yönelik sorgular bu kaynağı tam olarak belirtmelidir. Örneğin, bir kaynak, her bileşeninin arka planının xmail program kırmızı olmalıdır:

xmail * arka plan: kırmızı

Ancak, bir program (ör. xmail programın kendisi, hangi arka plan renginin kullanılacağını öğrenmek istediğinde) aracılığıyla kaynak veritabanına erişir Xlib işlevleri, yalnızca belirli bir kaynağın değerini talep edebilir. Çoğunun aksine veritabanları saklanan veriler gevşek bir şekilde (joker karakterlerle) belirtilebilir, ancak sorgulama yapılamaz. Örneğin, bir programın değerini sorgulayabilir xmail.main.background veya xmail.toc.buttons.backgroundama kullanamaz ? veya * aynı anda birkaç bileşenin arka plan rengini kontrol etmek için.

Kaynaklar ayrıca şunlar için de belirtilebilir: sınıflar eleman sayısı: örneğin, application.widget.widget.attribute: değer uygulama adı sınıfıyla değiştirilerek genelleştirilebilir (ör. Posta onun yerine xmh), türüne (Bölme, Buton, vb.) ve türünün niteliği.

Yer ve kullanım

X sırasında görüntü sunucusu yürütme, X kaynakları, tüm ekranlar için mi yoksa belirli bir ekran için mi geçerli olduklarına bağlı olarak iki standart konumda depolanır:

  1. KAYNAK YÖNETİCİSİ 0 ekranının kök penceresinin özelliği
  2. SCREEN_RESOURCES rastgele bir ekranın kök penceresinin özelliği
X kaynaklarına, farklı bilgisayarlarda çalıştırılsa bile, X görüntü sunucusuna bağlı tüm programlar tarafından erişilebilir.

X kaynakları, diğer bilgisayarlardan başlatılan programların bunları kullanmasına izin vermek için bir yapılandırma dosyası yerine sunucuda depolanır. Aslında, başka bir bilgisayardan bir X görüntü sunucusuna bağlanan bir program, kaynaklara şu yolla erişebilir: X protokolü. Program parametrelerini depolamak için eski sistemi kullanma .Xdefaults dosyası, bu dosyanın bir programın başlatılabileceği diğer tüm bilgisayarlara kopyalanması ihtiyacını doğurur.

Kaynaklar, xrdb programı. Özellikle, birçok X görüntü sunucusu yapılandırması, başlangıçta xrdb'yi çalıştırarak, kaynakları bilgisayardan okuması talimatını verir. .Xresources kullanıcının dosyasında ana dizin. Bu noktadan itibaren, diğer her program, kaynakları iki standart konumda bulur. Mevcut kaynakları bir konsoldan görüntüleyebilirsiniz. xrdb -sorgu.

İstemci kitaplıkları

Xlib bir dizi içerir kolaylık fonksiyonları sunucudaki kaynaklara erişmek ve bunları yerel olarak yönetmek için. Bu işlevler hem xrdb tarafından hem de bu kaynaklara ihtiyaç duyan diğer tüm programlar tarafından kullanılır. Bu işlevlerin çoğu bir kaynak veritabanı, bir dizi kaynak belirtimini temsil eden yerel bir veri yapısıdır. Kaynak yönetimi için Xlib işlevleri şunlardır:

  • sunucudaki kaynakları yerel bir dizeye okumak için işlevler (XResourceManagerString ve XScreenResourceString)
  • yerel bir kaynak veritabanını oluşturma, değiştirme ve yok etme işlevleri (XrmInitialize, XrmDestroyDatabase, XrmGetFileDatabase, XrmPutFileDatabase, XrmGetStringDatabase, XrmLocaleOfDatabase, XrmSetDatabase, XrmGetDatabase, XrmCombineFileDatabase, XrmCombineDatabase, XrmMergeDatabases, XrmParseCommand)
  • kaynakları aramak ve yenilerini depolamak için işlevler (XrmGetResource, XrmQGetResource, XrmQGetSearchList, XrmQGetSearchResource, XrmPutResource, XrmQPutResource, XrmPutStringResource, XrmQPutStringResource, XrmPutLineResource, XrmEnumerateDatabase)

Özellikle, işlev XrmParseCommand ayrıştırmaya izin ver Komut satırı bağımsız değişkenler, daha sonra yerel bir kaynak veritabanına eklenen kaynakları okuma. Bu şekilde, kaynaklar sunucudan okunabilir ve komut satırı argümanları tarafından geçersiz kılınan varsayılanlar olarak kullanılabilir.

Verimlilik uğruna tamsayılar kuarklar yerel dizeleri temsil edecek şekilde tanımlanır. Kuarklar benzerdir atomlar ancak sunucuda değil yerel olarak depolanan dizeleri temsil ederler. Bir dizi Xlib işlevi, dizeler ve kuarklar arasında bir ilişki oluşturur. Kuarklar, yukarıdaki işlevlerden biri kullanılırken bileşen adları yerine kullanılabilir; bu nedenle kaynak isimleri kuark listelerine karşılık gelir.

Ayrıca bakınız

Dış bağlantılar