Poté, co jsem začal používat Arch, přešel jsem na terminály xterm a urxvt a užíval jsem si jejich flexibility (zejména scaleHeight zdroj). Nechápu však, proč někdy konfigurace fungují s Xterm a někdy s xterm nebo XTerm (malá vs velká písmena x a t ).
Například mám tuto zvláštní konfiguraci, která funguje na Ubuntu:
XTerm*faceName: terminus
XTerm*faceSize: 11
XTerm*saveLines: 16384
XTerm*loginShell: true
XTerm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48
XTerm*termName: xterm-color
XTerm*eightBitInput: false
xterm*VT100.geometry: 100x80 ! <------ this line would not work with "Xterm" or "XTerm"
XTerm*scaleHeight: 1.3 ! <----- but all others work with "XTerm"
Můj Arch box však běží na „xterm“ v pořádku. Totéž platí pro terminál URxvt:Nemohu jednoduše přenést svůj Arch .Xresources do pracovního boxu Ubuntu14, protože jeho části přestanou fungovat a po spuštění dostanu různá nastavení:
xrdb -merge .Xresources
X.org na xterm neměl žádné příklady (hledání „xterm*“ na této stránce nic nevrátilo). Vidím příklady s Xterm , xterm a XTerm online… Udivuje mě, že výše uvedená konfigurace funguje, protože je syntakticky vypnutá. proč tomu tak je? Může to mít něco společného s novými nebo starými zdroji v X? Díky!
xterm na ubuntu je Xterm(297). Momentálně nemám přístup ke svému Arch boxu, ale bylo by to docela aktuální. Nevím, jak rozeznat verzi Xterm od repozitářů Arch, ale možná toto:https://www.archlinux.org/packages/extra/i686/xterm/
Takže pokud je ten odkaz správný, pak ano , Používám různé verze Xterm.
Zkoušel jsem upgradovat xterm, ale stále je to 297.
apt-get update && apt-get install --only-upgrade xterm
Teď to nemůžu udělat, ale možná se pokusím překompilovat nejnovější verzi, abych zjistil, jestli tam není problém.
Podle níže uvedených návrhů od ILMostro_7 jsem zkusil XTerm.vt100.geometry , který stále nefungoval. Toto je Xterm (297) na Ubuntu14. Takže v podstatě . nebo * zdá se, že funguje pouze s malým xt .
Výsledek appres XTerm xterm | grep geometry díky Gillesovi. Nenapadlo mě hledat, co přesně xrdb -merge dělá, což vedlo k tomuto nepořádku. Takže můj odhad je, že jeden z nich má přednost před vším ostatním?
xterm.VT100.geometry: 100x100
xterm*VT100.geometry: 100x80
xterm*VT100*geometry: 50x50
xterm.vt100.geometry: 160x40
xterm*vt100.geometry: 100x20
xterm.geometry: 5x5
xterm*geometry: 100x20
XTerm.VT100.geometry: 100x100
XTerm*VT100.geometry: 50x50
XTerm*VT100*geometry: 20x10
XTerm.vt100.geometry: 100x5
XTerm*vt100.geometry: 40x40
XTerm*geometry: 50x50
Ve skutečnosti to vypadá jako xterm.vt100.geometry: 160x40 má přednost před ostatními, od té doby se mi neustále dostává. Také se mi nějak podařilo úplně podělat Xterm menu (Ctrl+kliknutí myší) – zobrazují se jako malá žlutá čára. Hehe
Přijatá odpověď:
Zdroje X11 mají název, který se skládá z řady komponent oddělených tečkou, jako je xterm.vt100.geometry . První komponenta je název aplikace, druhá komponenta je widget v této aplikaci a poslední komponenta je vlastnost widgetu. Widgety mohou být vnořené, takže mohou existovat více než tři komponenty nebo pouze dvě pro vlastnost aplikace.
Specifikace X zdrojů se může vztahovat na jeden zdroj nebo na sadu zdrojů odpovídajících vzoru. Existují dva způsoby, jak specifikaci použít pro více zdrojů.
-
Pro jakoukoli komponentu můžete místo názvu instance použít název třídy. Názvy instancí obvykle začínají malým písmenem, zatímco názvy tříd začínají velkým písmenem.
- Na úrovni aplikace je název třídy pro danou aplikaci obvykle pevně daný, obvykle na název aplikace s velkými písmeny a někdy jsou také velká písmena, např.
XTerm,XCalc,GV,NetHack, … Aplikace používající sadu nástrojů X podporují volbu-classpro nastavení názvu třídy a také-namepro nastavení názvu instance (jehož výchozím nastavením je základní název spustitelného souboru). NapříkladXTerm.vt100.geometrynastavuje hodnotugeometryvlastnost provt100widget jakékoli instanceXTermtřída; platí proxterm -name fooale ne naxterm -class Foo. - Na úrovni widgetu může být více widgetů se stejnou třídou, například více tlačítek ve stejném okně. Xterm má jeden widget třídy
VT100s názvemvt100, což je část emulátoru terminálu, která pokrývá celé okno. Mezi další widgety patří nabídkymainMenu,fontMenuavtMenutřídySimpleMenu.
- Na úrovni aplikace je název třídy pro danou aplikaci obvykle pevně daný, obvykle na název aplikace s velkými písmeny a někdy jsou také velká písmena, např.
- Existují zástupné znaky:
?znamená „jakýkoli widget“ a*znamená „jakákoli sekvence widgetů“. Napříkladxterm*backgrounddefinuje pozadí pro absolutně vše v okně Xterm.
Strom prostředků aplikace, která podporuje protokol editres, můžete prozkoumat pomocí editres . Tento protokol podporuje jen málo aplikací, ale Xterm je jednou z nich.
Je možné, že daný zdroj bude odpovídat více vzorům. V tomto případě platí pravidla přednosti. Úplná pravidla naleznete v příručce.
Ve vašem případě je pravděpodobné, že někde existuje další záznam, který se blíže shoduje s xterm.vt100.geometry než xterm*VT100.geometry a tato shoda přepíše vaše nastavení. Ostatní nemají žádné jiné nastavení, takže cokoli uděláte, vyhrává.