Scaling abhängig von Nutzung T460s mit oder ohne Dock

anjuna

Member
Registriert
25 Mai 2011
Beiträge
158
Moin,

ich benutze ein T460s im Wechsel im Dock zuhause oder eben irgendwo ungedockt.
Am Dock habe ich folgendes Display im Einsatz:
27", 2560x1440, ~109 PPI
Das T460s hat folgende Werte:
14", 2560x1440, ~219 PPI
Arch Linux mit WM, aber kein DM (logge mich ein und starte mit startx)

Anhand der Pixeldichte sieht man schon, dass ich je nach Einsatz skalieren muss,
bisher total umständlich durch Änderungen an der Datei ~/.Xresources (Xft.dpi wechsele
ich von 78 zu 144). Ich finde diese "Lösung" selber voll dämlich, aber so richtig Ideen, wie
das besser zu machen ist, habe ich nicht. Denke an so Dinge wie acpi-events oder dass ich
je nach Situation statt "startx" ein Skript laufen lasse das aus 2 versch. Dateien jeweils die
passende in ~.Xresources umbenennt, aber irgendwie muss das einfacher/eleganter gehen.

Da ich wohl völlig auf dem Schlauch stehe, hat vielleicht jemand eine Idee ?

Gruß,
anjuna

Installation erfolgte am ext. Monitor:
Code:
xdpyinfo | grep -B 2 resolution:
  dimensions:    2560x1440 pixels (677x381 millimeters)
resolution: 96x96 dots per inch
 
Zuletzt bearbeitet:
Danke für den Hinweis, schaue da gerade mal rein und versuche auch, das zu verstehen.
Das umzumodeln ist für mich schon schwierig.
 
Die tlp-rdw.rules enthält die udev regeln mit denen das an/abdocken erkannt wird.
Die tlp-rdw-udev ist das script das ausgeführt wenn die udev regel das event erkennt.

Ich weiß nicht ob man 2 Regeln für 1 event haben kann.
Wenn das nicht geht und du tlp verwendest musst du dein zeugs in das tlp script integrieren.

Hab mir eben noch das hier angelesen:
https://wiki.archlinux.org/index.php/HiDPI
Scheint als wäre .Xresources nicht das einzige was beim Wechsel angepasst werden sollte.
 
Hallo nochmal,

ich habe mich weiter mit dem Thema auseinandergesetzt und eine Art Workaround zusammengezimmert.
Da ich die DPI-Einstellungen bereits beim Start von X geladen haben wollte, habe ich folgendes vorbereitet:
1. Zwei verschiedene ~/.Xresources erstellt: eine mit den DPI-Einstellungen für das interne Display, die andere für das externe Display.
2. Meine ~/.xinitrc editiert: je nach Ausgabe von xrandr wird die entsprechende ~/.Xresources berücksichtigt.
Code:
# toggle X DPI settings for internal / external display

intd=eDP1
extd=DP2-1

if  xrandr | grep "$extd connected"; then
    xrdb -merge ~/.Xresources_$extd
    xrandr --output $intd --off
else
	xrdb -merge ~/.Xresources_$intd
fi
Vor- bzw. Nachteile soweit ich das bis hierher beurteilen kann:
+ funktioniert auch auf "nicht-Thinkpads" (kein TLP)
- jedesmal ein logout nötig (?) um X neu zu starten und die Konfigs auszulesen

Kritik ist gerne gehört, ich kann nur dazulernen...
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben