CDE: Difference between revisions
imported>User No edit summary |
|||
(31 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
[[File:CDE.png]] | {{low quality|This page contains pseudo-code which will not work out of the box.}} | ||
{{warning|This article makes use of precarious stateful system manipulations (imperatively writing to <code>/etc</code>).}} | |||
[[File:CDE.png|frameless|right]] | |||
Aka '''cdesktopenv''' or '''Common Desktop Environment''' is a vintage desktop environment. | Aka '''cdesktopenv''' or '''Common Desktop Environment''' is a vintage desktop environment. | ||
== Changing fonts == | == Changing fonts == | ||
sudo mkdir -p /etc/dt/config/xfonts | sudo mkdir -p /etc/dt/config/xfonts | ||
sudo cp -r ${pkgs.cdesktopenv}/opt/dt/ | sudo cp -r ${pkgs.cdesktopenv}/opt/dt/config/xfonts/$LANG /etc/dt/config/xfonts | ||
sudo | sudo sed -i '/dt-interface/d' /etc/dt/config/xfonts/$LANG/fonts.alias | ||
Now | Now add the following to /etc/dt/config/xfonts/$LANG/fonts.alias file. In this example Helvetica and Courier are used instead of fixed fonts. | ||
"-dt-interface system-medium-r-normal-xxs sans-10-100-72-72-p-61-iso8859-1" "-adobe-helvetica-medium-r-normal--10-*-75-75-p-56-iso8859-1" | "-dt-interface system-medium-r-normal-xxs sans-10-100-72-72-p-61-iso8859-1" "-adobe-helvetica-medium-r-normal--10-*-75-75-p-56-iso8859-1" | ||
Line 47: | Line 45: | ||
xosview2 & | xosview2 & | ||
</nowiki>}} | </nowiki>}} | ||
chmod +x ~/.dt/sessions/sessionetc | chmod +x ~/.dt/sessions/sessionetc | ||
Line 67: | Line 64: | ||
== Creating an own program icon == | == Creating an own program icon == | ||
Use | Icons should be in XPM or XBM format. Use the following configuration to convert from png icons | ||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
let | |||
cde-icons = pkgs.writeShellScriptBin "cde-icons" '' | |||
file=`basename ''${1%.*}` | |||
${pkgs.imagemagick}/bin/convert $1 -resize 48x48 ~/.dt/icons/$file.l.pm | |||
${pkgs.imagemagick}/bin/convert $1 -resize 32x32 ~/.dt/icons/$file.m.pm | |||
${pkgs.imagemagick}/bin/convert $1 -resize 24x24 ~/.dt/icons/$file.s.pm | |||
${pkgs.imagemagick}/bin/convert $1 -resize 16x16 ~/.dt/icons/$file.t.pm | |||
''; | |||
in { | |||
services.xserver.desktopManager.cde.extraPackages = with pkgs; | |||
options.services.xserver.desktopManager.cde.extraPackages.default ++ [ | |||
cde-icons | |||
]; | |||
} | |||
</nowiki>}} | |||
For example | |||
cde-icons /run/current-system/sw/share/icons/hicolor/512x512/apps/qutebrowser.png | |||
Then select it in Desktop_Apps/Create Action tool. Save actions under ~/.dt/appmanager | |||
== Setting icons on minimized programs == | |||
Please note that not all programs support this | |||
{{file|~/.Xdefaults|bash|<nowiki> | |||
Dtwm*qutebrowser*iconImage: qutebrowser | |||
</nowiki>}} | </nowiki>}} | ||
== Setting wallpaper == | |||
Put .jpg or .png under ~/.dt/backdrops then select it in Style Manager / Backdrop | |||
== Gtk and Qt theme == | |||
== | Add to your configuration | ||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
services.xserver.desktopManager.cde.extraPackages = with pkgs; | |||
options.services.xserver.desktopManager.cde.extraPackages.default ++ [ | |||
cde-gtk-theme | |||
]; | |||
environment.etc."xdg/gtk-2.0/gtkrc".text = '' | |||
gtk-theme-name="cdetheme" | |||
''; | |||
environment.etc."xdg/gtk-3.0/settings.ini".text = '' | |||
[Settings] | |||
gtk-theme-name=cdetheme | |||
''; | |||
qt5 = { | |||
enable = true; | |||
platformTheme = "gtk2"; | |||
style = "gtk2"; | |||
}; | |||
</nowiki>}} | |||
Now copy the theme to home directory. Instead of Arizona.dp pick the palette you currently use in CDE for the match | |||
mkdir -p ~/.themes | |||
cp -Lr --no-preserve=mode /run/current-system/sw/share/themes/cdetheme ~/.themes/ | |||
chmod +x ~/.themes/cdetheme/scripts/switchtheme | |||
cd ~/.themes/cdetheme/scripts/ | |||
./switchtheme ../palettes/Arizona.dp 8 3 22 false true false | |||
{{file|~/. | == Changing volume and brightness with media keys == | ||
Add the following to ~/.dt/dtwmrc | |||
Keys DtKeyBindings | |||
{ | |||
<Key>XF86AudioLowerVolume root|icon|window|ifkey f.exec "amixer set Master -q 5%-" | |||
<Key>XF86AudioRaiseVolume root|icon|window|ifkey f.exec "amixer set Master -q 5%+" | |||
<Key>XF86AudioMute root|icon|window|ifkey f.exec "amixer set Master -q toggle" | |||
<Key>XF86MonBrightnessUp root|icon|window|ifkey f.exec "xbacklight -inc 1" | |||
<Key>XF86MonBrightnessDown root|icon|window|ifkey f.exec "xbacklight -dec 1" | |||
} | |||
== Battery widget == | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
let | |||
cde-battery = pkgs.writeScriptBin "cde-battery" '' | |||
#!${pkgs.cdesktopenv}/opt/dt/bin/dtksh | |||
${pkgs.lib.readFile (pkgs.fetchurl { | |||
url = "https://raw.githubusercontent.com/edorig/dtksh/5f49e402b391c81ebea9609bdec9c7716e70a8c0/battery"; | |||
sha256 = "0zjn9zl1as9xbk2845bbdy2xfj29b4hvvalcz8kf2llkndbfswvl"; | |||
})} | |||
''; | |||
in { | |||
services.xserver.desktopManager.cde.extraPackages = with pkgs; | |||
options.services.xserver.desktopManager.cde.extraPackages.default ++ [ | |||
cde-battery | |||
]; | |||
} | |||
</nowiki>}} | |||
Please read [[#Adding programs to autolaunch|Adding programs to autolaunch section]] | |||
{{file|~/.dt/sessions/sessionetc|bash|<nowiki> | |||
#!/bin/sh | |||
cde-battery & | |||
</nowiki>}} | |||
Please read [[#Editing panel|Editing panel section]] | |||
{{file|~/.dt/types/dtwm.fp||<nowiki> | |||
CONTROL Battery | |||
{ | |||
POSITION_HINTS 14 | |||
TYPE client | |||
CONTAINER_NAME Top | |||
CONTAINER_TYPE BOX | |||
CLIENT_NAME cde-battery | |||
CLIENT_GEOMETRY 97x58 | |||
HELP_STRING "Battery indicator" | |||
} | |||
</nowiki>}} | </nowiki>}} | ||
== Example configuration == | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
{ pkgs, options, ... } | |||
let | |||
cde-icons = pkgs.writeShellScriptBin "cde-icons" '' | |||
file=`basename ''${1%.*}` | |||
== | ${pkgs.imagemagick}/bin/convert $1 -resize 48x48 ~/.dt/icons/$file.l.pm | ||
${pkgs.imagemagick}/bin/convert $1 -resize 32x32 ~/.dt/icons/$file.m.pm | |||
${pkgs.imagemagick}/bin/convert $1 -resize 24x24 ~/.dt/icons/$file.s.pm | |||
${pkgs.imagemagick}/bin/convert $1 -resize 16x16 ~/.dt/icons/$file.t.pm | |||
''; | |||
cde-battery = pkgs.writeScriptBin "cde-battery" '' | |||
#!${pkgs.cdesktopenv}/opt/dt/bin/dtksh | |||
${pkgs.lib.readFile (pkgs.fetchurl { | |||
url = "https://raw.githubusercontent.com/edorig/dtksh/5f49e402b391c81ebea9609bdec9c7716e70a8c0/battery"; | |||
sha256 = "0zjn9zl1as9xbk2845bbdy2xfj29b4hvvalcz8kf2llkndbfswvl"; | |||
})} | |||
''; | |||
in { | |||
# CDE has a limited number of locales | |||
i18n.defaultLocale = "en_US.UTF-8"; | |||
# CDE has no keyboard layout configuration | |||
services.xserver.layout = "us,ru"; | |||
services.xserver.xkbOptions = "grp:alt_shift_toggle,grp_led:caps"; | |||
services.xserver.desktopManager.cde.enable = true; | |||
services.xserver.desktopManager.cde.extraPackages = with pkgs; | |||
options.services.xserver.desktopManager.cde.extraPackages.default ++ [ | |||
fsv cde-icons cde-gtk-theme cde-battery | |||
]; | |||
environment.etc."xdg/gtk-2.0/gtkrc".text = '' | |||
gtk-theme-name="cdetheme" | |||
''; | |||
environment.etc."xdg/gtk-3.0/settings.ini".text = '' | |||
[Settings] | |||
gtk-theme-name=cdetheme | |||
''; | |||
qt5 = { | |||
enable = true; | |||
platformTheme = "gtk2"; | |||
style = "gtk2"; | |||
}; | |||
} | |||
</nowiki>}} | |||
== Useful links == | |||
* https://sourceforge.net/p/cdesktopenv/wiki/CustomisingCDE/ | * https://sourceforge.net/p/cdesktopenv/wiki/CustomisingCDE/ | ||
[[Category: | [[Category:Cookbook]] | ||
[[Category:Desktop environment]] | |||
[[Category:Desktop]] |