| 1 |
* add option to make layout default on startup by means of desktop environment integration |
| 2 |
* implement missing xrandr 1.2 features: reflect, additional modes (for forcibly applying saved layouts so they are already active when an output is connected), fb, fbmm/dpi |
| 3 |
* call xrandr without blocking |
| 4 |
* receive notifications on changes (XRRScreenChangeNotify) |
| 5 |
|
| 6 |
* useful resources: <http://www.mail-archive.com/sawfish-list@gnome.org/msg03630.html> (a patch to sawfish for xrandr event support), Xrandr.c (that defines XRRSelectInput), SelInput.c (compare XSelectInput /XRRSelectInput), ./eventdemo.py |
| 7 |
|
| 8 |
* don't reset displays moved over edges; instead, move as far as possible |
| 9 |
* allow setting dpi |
| 10 |
* integrate related settings: (might end up writing a complete configuration manager, which is not my intention) |
| 11 |
|
| 12 |
* xsetwacom |
| 13 |
* gnome-panel layout (is this 1.3's --primary?) |
| 14 |
|
| 15 |
* integrate new 1.3 features (projection matrix, panning (requested in <http://forum.eee-pc.de/viewtopic.php?t=8035>)) |
| 16 |
|
| 17 |
* getting the matrix right manually can be difficult. zbar since 0.10 provides recognition for qr codes; plan is like this: |
| 18 |
|
| 19 |
1. user starts arandr |
| 20 |
2. user connects webcam |
| 21 |
3. arandr makes displays show qr codes with their names |
| 22 |
4. user holds webcam where his head is |
| 23 |
5. arandr knows what he sees and can position displays and offer to apply a matrix |
| 24 |
|
| 25 |
* be more intelligent about future xrandr versions (cf debian #523903) |
| 26 |
* read --props, parse edid (using parse-edid from read-edid; dispcalGUI has dispcalGUI/edid.py with a parse_edid that just works), maybe even offer setting properties |
| 27 |
* make script properties editable (and explain what it does) |
| 28 |
* provide example scripts |
| 29 |
|
| 30 |
* for rotation |
| 31 |
* for setting background images? |
| 32 |
|
| 33 |
* have inactive outpus in a side bar, showing their size? |
| 34 |
* gracefully handle |
| 35 |
|
| 36 |
* loading files describing invalid state |
| 37 |
* naming transitions (LVDS -> LVDS1) |
| 38 |
* unimplemented options (--right-of) |
| 39 |
|
| 40 |
* setting configuration based on hardware: this calls for two additional programs -- one that listens for hardware changes and executes a command when something changes, and one that acts on a change and sets the last used configuration with that hardware (or something else configurable). Martin Insulander suggestes this (with my comments in *[]*): |
| 41 |
|
| 42 |
.. |
| 43 |
|
| 44 |
1. When … |
| 45 |
|
| 46 |
a) the monitor setup changes (trigger through hal or udev) |
| 47 |
|
| 48 |
*[afaik there is no such thing currently in udev; i'd rather have xrandr with a --listen / --on-change-exec option. furthermore, other mechanisms that do the same thing should be identified to avoid conflicts]* |
| 49 |
|
| 50 |
b) X starts |
| 51 |
|
| 52 |
2. Identify all monitors through EDID |
| 53 |
|
| 54 |
*[using this is already on the todo list]* |
| 55 |
|
| 56 |
3. If the setup … |
| 57 |
|
| 58 |
a) has been used before: |
| 59 |
|
| 60 |
4a. Set the setup that was used last time with this configuration. |
| 61 |
|
| 62 |
*[that requires the xrandr shell scripts to have an additional line, something like "ln -sf ../$MYFILENAME > ~/.screenlayout/last_used/$HASH_OF_HARDWARE"]* |
| 63 |
|
| 64 |
b) Else |
| 65 |
|
| 66 |
4b. Show a notification about new screen setup |
| 67 |
|
| 68 |
4c. Clicking on the notification starts for example Arandr |
| 69 |
|
| 70 |
* integrate xvattr for mirror mode (cf http://wiki.debian.org/XStrikeForce/HowToRandR12 section "XV Overlay on only one display") -- but is this still alive at all? |
| 71 |
* integrate --randr-display in gui configuration and add more options than "DISPLAY=${} xrandr" (for example "ssh some-server xrandr", maybe even with zeroconf detection of ssh hosts, but i digress) |
| 72 |
* rewrite parser to --verbose |
| 73 |
* use distutils translation build system instead of custom one (compare hotot package) |
| 74 |
* debian packaging: use dh_python2 (/ dh_python3) instead of python-support |