mirror of
https://github.com/nbeaver/why-linux-is-better.git
synced 2025-08-24 14:32:49 +02:00
Remove ancillary discussions or put them in footnotes.
This commit is contained in:
122
README.rst
122
README.rst
@@ -1090,13 +1090,70 @@ Lack of control over desktop environment.
|
|||||||
Windows has many ways to customize its appearance;
|
Windows has many ways to customize its appearance;
|
||||||
there are many `alternative shells`_ and `visual themes`_,
|
there are many `alternative shells`_ and `visual themes`_,
|
||||||
and it's possible to `change the login shell`_
|
and it's possible to `change the login shell`_
|
||||||
or `run without explorer.exe at all`_.
|
or `run without explorer.exe at all`_. [#KDE_on_Windows]_
|
||||||
|
|
||||||
.. _alternative shells: https://en.wikipedia.org/wiki/List_of_alternative_shells_for_Windows
|
.. _alternative shells: https://en.wikipedia.org/wiki/List_of_alternative_shells_for_Windows
|
||||||
.. _visual themes: https://en.wikipedia.org/wiki/Theme_%28computing%29#Operating_systems
|
.. _visual themes: https://en.wikipedia.org/wiki/Theme_%28computing%29#Operating_systems
|
||||||
.. _run without explorer.exe at all: http://lightquick.co.uk/running-windows-without-explorer.exe.html
|
.. _run without explorer.exe at all: http://lightquick.co.uk/running-windows-without-explorer.exe.html
|
||||||
.. _change the login shell: https://superuser.com/questions/108265/how-do-you-replace-the-logon-shell-with-iexplore
|
.. _change the login shell: https://superuser.com/questions/108265/how-do-you-replace-the-logon-shell-with-iexplore
|
||||||
|
|
||||||
|
There is Windows software for
|
||||||
|
tiling window managers, [#tiling_window_managers]_
|
||||||
|
virtual desktops, [#virtual_desktops]_
|
||||||
|
focus follows mouse, [#focus_follows_mouse]_
|
||||||
|
and special effects to rival Compiz. [#cube_desktop]_
|
||||||
|
|
||||||
|
.. [#tiling_window_managers] https://github.com/fuhsjr00/bug.n
|
||||||
|
.. [#virtual_desktops] http://virtuawin.sourceforge.net/
|
||||||
|
.. [#focus_follows_mouse]
|
||||||
|
http://milosophical.me/blog/2010/03/10/ms-windows-focus-follows-mouse-registry-hacks.html
|
||||||
|
https://superuser.com/questions/368688/on-windows-7-is-there-any-way-to-make-the-scrollwheels-focus-follow-the-mouse
|
||||||
|
.. [#cube_desktop] http://www.thinkinbytes.com/en/products/cubedesktop
|
||||||
|
|
||||||
|
Given all these choices and customization options,
|
||||||
|
what functionality could Windows possibly lack?
|
||||||
|
|
||||||
|
Here is the problem:
|
||||||
|
the Windows API determines the behavior of libraries like
|
||||||
|
``user32.dll``, ``gdi32.dll``, and ``comctl32.dll``.
|
||||||
|
Everything in hardware goes through the Windows API,
|
||||||
|
including keystrokes, mouse clicks, and graphics.
|
||||||
|
|
||||||
|
However, Windows must obey licensing requirements,
|
||||||
|
such as copyrighted content protection.
|
||||||
|
This means that there are artificial barriers
|
||||||
|
to writing certains kinds of programs,
|
||||||
|
such as something similar to Flip3D.
|
||||||
|
|
||||||
|
https://stackoverflow.com/questions/3848558/what-is-the-api-to-create-applications-like-flip3d
|
||||||
|
|
||||||
|
To give another example of limited user control over the Windows desktop,
|
||||||
|
on Windows 8 it is impossible to disable the dwm window compositor.
|
||||||
|
|
||||||
|
In Windows Vista and Windows 7, desktop composition is disabled in a number of
|
||||||
|
scenarios. In Windows 8, DWM desktop composition is a core operating system
|
||||||
|
component and cannot be disabled. With a few exceptions, desktop composition is
|
||||||
|
always on; it’s started before the user logon and remains active for the
|
||||||
|
duration of a session.
|
||||||
|
|
||||||
|
--- Windows Dev Center documentation
|
||||||
|
|
||||||
|
This was not without controversy.
|
||||||
|
|
||||||
|
I understand the choice and it improves the overall experience, but it is
|
||||||
|
going to force us to retire some of our older software, and it tool [sic]
|
||||||
|
many years to overcome the problems caused.
|
||||||
|
|
||||||
|
--- Dan Ritchie
|
||||||
|
|
||||||
|
https://msdn.microsoft.com/en-us/library/windows/desktop/hh848042%28v=vs.85%29.aspx
|
||||||
|
|
||||||
|
Linux also has an API,
|
||||||
|
but it is not tied to the desktop environment,
|
||||||
|
and is not controlled by a single corporation
|
||||||
|
in the same way that the Windows API is.
|
||||||
|
|
||||||
|
.. [#KDE_on_Windows]
|
||||||
It's even possible to run the KDE desktop environment on Windows,
|
It's even possible to run the KDE desktop environment on Windows,
|
||||||
since KDE uses the cross-platform Qt framework.
|
since KDE uses the cross-platform Qt framework.
|
||||||
|
|
||||||
@@ -1127,69 +1184,6 @@ This is not without difficulties, however.
|
|||||||
|
|
||||||
http://lxer.com/module/newswire/view/79007/
|
http://lxer.com/module/newswire/view/79007/
|
||||||
|
|
||||||
There is Windows software for
|
|
||||||
tiling window managers, [#tiling_window_managers]_
|
|
||||||
virtual desktops, [#virtual_desktops]_
|
|
||||||
focus follows mouse, [#focus_follows_mouse]_
|
|
||||||
and special effects to rival Compiz. [#cube_desktop]_
|
|
||||||
|
|
||||||
.. [#tiling_window_managers] https://github.com/fuhsjr00/bug.n
|
|
||||||
.. [#virtual_desktops] http://virtuawin.sourceforge.net/
|
|
||||||
.. [#focus_follows_mouse]
|
|
||||||
http://milosophical.me/blog/2010/03/10/ms-windows-focus-follows-mouse-registry-hacks.html
|
|
||||||
https://superuser.com/questions/368688/on-windows-7-is-there-any-way-to-make-the-scrollwheels-focus-follow-the-mouse
|
|
||||||
.. [#cube_desktop] http://www.thinkinbytes.com/en/products/cubedesktop
|
|
||||||
|
|
||||||
Given all these choices and customization options,
|
|
||||||
what functionality could Windows possibly lack?
|
|
||||||
|
|
||||||
Here is the problem:
|
|
||||||
the Windows API determines the behavior of libraries like
|
|
||||||
``user32.dll``, ``gdi32.dll``, and ``comctl32.dll``.
|
|
||||||
Everything in hardware goes through the Windows API,
|
|
||||||
including keystrokes, mouse clicks, and graphics.
|
|
||||||
However, Windows must also obey licensing requirements,
|
|
||||||
such as copyrighted content protection.
|
|
||||||
This means that it is difficult to, say,
|
|
||||||
replicate the Flip3D program.
|
|
||||||
|
|
||||||
https://stackoverflow.com/questions/3848558/what-is-the-api-to-create-applications-like-flip3d
|
|
||||||
|
|
||||||
Something like `Wine`_ could, in principle, work around this,
|
|
||||||
since it provides an open-source implementation
|
|
||||||
of libraries such as ``user32.dll``.
|
|
||||||
Perhaps that's why `Windows rejects a registry with the Wine configuration key`_.
|
|
||||||
|
|
||||||
.. _Wine: https://www.winehq.org/about/
|
|
||||||
.. _Windows rejects a registry with the Wine configuration key: https://www.winehq.org/pipermail/wine-devel/2005-February/033868.html
|
|
||||||
|
|
||||||
Another example: on Windows 8,
|
|
||||||
it is impossible to disable the dwm window manager.
|
|
||||||
|
|
||||||
In Windows Vista and Windows 7, desktop composition is disabled in a number of
|
|
||||||
scenarios. In Windows 8, DWM desktop composition is a core operating system
|
|
||||||
component and cannot be disabled. With a few exceptions, desktop composition is
|
|
||||||
always on; it’s started before the user logon and remains active for the
|
|
||||||
duration of a session.
|
|
||||||
|
|
||||||
--- Windows Dev Center documentation
|
|
||||||
|
|
||||||
[ . . . ]
|
|
||||||
|
|
||||||
|
|
||||||
I understand the choice and it improves the overall experience, but it is
|
|
||||||
going to force us to retire some of our older software, and it tool many years
|
|
||||||
to overcome the problems caused.
|
|
||||||
|
|
||||||
--- Dan Ritchie
|
|
||||||
|
|
||||||
https://msdn.microsoft.com/en-us/library/windows/desktop/hh848042%28v=vs.85%29.aspx
|
|
||||||
|
|
||||||
Linux also has an API,
|
|
||||||
but it is not tied to the desktop environment,
|
|
||||||
and is not controlled by a single corporation
|
|
||||||
in the same way that the Windows API is.
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Non-resizable dialog boxes.
|
Non-resizable dialog boxes.
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Reference in New Issue
Block a user