According to the issue pantheon-tweaks/pantheon-tweaks#113 users will be able to configure any window controls layout with Pantheon Tweak. Theme architecture may require some changes when this feature will be implemented.
Draft solution
According to the mockup, each of window's buttons (close ⨯, maximize ⤢ and minimize ⤓) may be placed at one of six positions.
[1 2 3 window title 4 5 6]
There may be three folders close, maximize and minimize - one for each of buttons.
Inside button's folder there may be six stylesheets - one for each of possible button positions.
📁 close
📜 1.css
📜 2.css
📜 3.css
📜 4.css
📜 5.css
📜 6.css
📁 maximize
📜 1.css
...
📜 6.css
📁 minimize
📜 1.css
...
📜 6.css
After installation chrome folder will contains userChrome.css with optional close.css, maximize.css and minimize.css stylesheets.
📁 chrome
📜 userChrome.css
📜 close.css
📜 maximize.css
📜 minimize.css
userChrome.css stylesheet will import buttons stylesheets with CSS @import
@import "close.css";
@import "maximize.css";
@import "minimize.css";
Installation script will copy close.css, maximize.css and minimize.css according detected (or selected) window controls layout, e.g. when default elementary layout selected, script will
# place close button at first position
wget https://github.com/[theme]/close/1.css --output chrome/close.css
# place maximize button at sixth position
wget https://github.com/[theme]/maximize/6.css --output chrome/maximize.css
# remove minimize button, because there is no such button at default elementary layout
rm chrome/minimize.css
According to the issue pantheon-tweaks/pantheon-tweaks#113 users will be able to configure any window controls layout with Pantheon Tweak. Theme architecture may require some changes when this feature will be implemented.
Draft solution
According to the mockup, each of window's buttons (close ⨯, maximize ⤢ and minimize ⤓) may be placed at one of six positions.
There may be three folders
close,maximizeandminimize- one for each of buttons.Inside button's folder there may be six stylesheets - one for each of possible button positions.
After installation
chromefolder will containsuserChrome.csswith optionalclose.css,maximize.cssandminimize.cssstylesheets.userChrome.cssstylesheet will import buttons stylesheets with CSS @importInstallation script will copy
close.css,maximize.cssandminimize.cssaccording detected (or selected) window controls layout, e.g. when default elementary layout selected, script will