Инструменты пользователя

Инструменты сайта


icewm:icewm

IceWM

IceWM — менеджер окон для X Window System в Unix-подобных операционных системах. Разработка IceWM началась с нуля в 1997 году, проект написан целиком на C++ и выпущен на условиях лицензии GNU LGPL. Цель проекта — создание рабочей среды с удобным и быстрым интуитивным интерфейсом с широкими возможностями для настройки пользователем. В частности, все функции графического интерфейса доступны при использовании только клавиатуры. В то же время в число задач входила максимальная «лёгкость» IceWM в плане потребляемых ресурсов компьютера — памяти и процессора. IceWM полностью соответствует i18n и поддерживает работу с русским языком.

https://ice-wm.org/

http://sourceforge.net/projects/icewm

Неофициальный, но поддерживаемый проект

Высокая скорость работы и низкие требования к памяти позволяют успешно использовать этот продукт в решения на базе технологии Терминальный сервер.

Установка

При ручной установке предварительно нужно установить сервер X-Windows.

apt install icewm xorg tango-icon-theme

Debian 8 (jessie)

Debian 8 (jessie)

apt-get install -t jessie-backports icewm
apt-get install xorg tango-icon-theme

Debian 10 (buster)

Debian 10 (buster)

apt-get install -t buster-backports icewm xorg tango-icon-theme

Компиляция

FIXME

Установка необходимых пакетов:

apt install asciidoctor libxpm-dev
icewm.sh
#!/bin/bash
 
cd /tmp
git clone https://github.com/bbidulock/icewm.git
cd icewm
./autogen.sh
./configure --prefix=/usr --sysconfdir=/etc
make
sudo make DESTDIR="$pkgdir" install

Запуск

Выбор дисплейного менеджера по умолчанию

FIXME Запуск вручную:

startx /usr/bin/icewm
#startx /usr/bin/icewm-session

Настройки

FIXME

Папки:

/usr/share/icewmОбщие настройки, темы и другие файлы
/etc/X11/icewmНастройки по умолчанию
~/.icewmПользовательские настройки

Файлы:

Иерархическая система меню

Удобно использовать технологию: Иерархическая система меню, вот пример внешнего вида:

По умолчанию меню находится в файле /usr/share/icewm/menu

Также можно создать общее меню в этом файле: /etc/X11/icewm/menu

Для вставки пользовательской части меню можно использовать директиву include, пример:

menu
include /home/user/.icewm/menu

startup

:!: Если существует пользовательский файл ~/.icewm/startup то выполняется он, а не /etc/X11/icewm/startup

/etc/X11/icewm/startup
( sleep 2s; xxkb )&
( sleep 2s; volumeicon)&
( sleep 2s; setxkbmap -layout "us,ru" -model "pc105" -option "grp:caps_toggle,grp_led:scroll")&

На файл нужно дать права запуска для всех пользователей:

chmod +x /etc/X11/icewm/startup

preferences

  • ~/.icewm/preferences
  • /usr/share/icewm/preferences

Скрыть TaskBar

ShowTaskBar=0

Завершение

Этот файл выполняется при выходе из IceWM (завершении работы).

Нужно создать файл:

/usr/share/icewm/icewm-logout.sh
#!/bin/bash
 
pcmanfm --desktop-off > /dev/null 2>&1
pkill icewm-session
#pkill -u $(whoami)

Дать право на запуск всем пользователям:

chmod +x /usr/share/icewm/icewm-logout.sh

И указать его в настройках:

/usr/share/icewm/preferences
LogoutCommand="/usr/share/icewm/icewm-logout.sh"

Шрифты "как в MS Windows"

  1. Выполнить действия описанные в разделе X-Windows System: Шрифты "как в MS Windows".
  2. Добавить в файл /usr/share/icewm/preferences следующие значения:
    /usr/share/icewm/preferences
    TitleFontNameXft="sans-serif:size=10:bold" #Название шрифта панели заголовка.
    MenuFontNameXft="sans-serif:size=10" #Название шрифта меню.
    StatusFontNameXft="sans-serif:size=12" #Название шрифта отображения статуса.
    QuickSwitchFontNameXft="sans-serif:size=12" #Название шрифта для окна Alt+Tab переключателя.
    NormalButtonFontNameXft="sans-serif:size=12"
    NormalTaskBarFontNameXft="sans-serif:size=12" #Название шрифта для нормального элемента панели задач.
    ActiveTaskBarFontNameXft="sans-serif:size=12" #Название шрифта для активного элемента панели задач.
    ListBoxFontNameXft="sans-serif:size=14" #Название шрифта списка окон.
    ToolTipFontNameXft="sans-serif:size=10" #Название шрифта для подсказок.
    ClockFontNameXft="sans-serif:size=11" #Название шрифта для часов на панели задач.
    ActiveButtonFontNameXft="sans-serif:size=11:bold"
    ToolButtonFontNameXft="sans-serif:size=11"
    NormalWorkspaceFontNameXft="sans-serif:size=11"
    ActiveWorkspaceFontNameXft="sans-serif:size=11"
    MinimizedWindowFontNameXft="sans-serif:size=11"
    ApmFontNameXft="monospace:size=11"
    InputFontNameXft="monospace:size=11"
    LabelFontNameXft="sans-serif:size=11"

Выключение и перезагрузка компьютера

FIXME

Для этого используем возможности программы sudo.

Нужно разрешить пользователю выполнять команду /sbin/shutdown без ввода пароля: Выполняем следующую команду:

su -c visudo

Для каждого пользователя вводим:

ИМЯ_ПОЛЬЗОВАТЕЛЯ ALL = (ALL) NOPASSWD:/sbin/shutdown

В файл настроек icewm нужно добавить:

/usr/share/icewm/preferences
ShutdownCommand="sudo /sbin/shutdown -h now"
RebootCommand="sudo /sbin/shutdown -r now"

Наборы иконок

apt-get install tango-icon-theme tangerine-icon-theme gnome-wine-icon-theme

Запуск

Для всех

Нужно выполнить настройку через систему альтернатив в Debian

Для отдельного пользователя

~/.xsession
exec icewm-session

Индикатор раскладки клавиатуры

Примеры использования

Примеры использования в:

Киоск

FIXME

Набор файлов для режима «киоск»

menu
## Empty file for kiosk mode
## Пустой файл для режима "киоск"
programs
## Empty file for kiosk mode
## Пустой файл для режима "киоск"

preferences

preferences

preferences
## Preferences for kiosk mode
## Настройки для режима "киоск"
 
ClickToRaise=0
ClickToFocus=0
FocusOnAppRaise=1
RequestFocusOnAppRaise=1
RaiseOnFocus=1
FocusOnClickClient=1
RaiseOnClickClient=1
RaiseOnClickTitleBar=1
RaiseOnClickButton=1
RaiseOnClickFrame=1
LowerOnClickWhenRaised=0
PassFirstClickToClient=1
FocusChangesWorkspace=0
FocusOnMap=1
FocusOnMapTransient=1
FocusOnMapTransientActive=1
MapInactiveOnTop=1
PointerColormap=1
DontRotateMenuPointer=1
LimitSize=1
LimitPosition=1
LimitByDockLayer=0
ConsiderHBorder=0
ConsiderVBorder=0
ConsiderSizeHintsMaximized=1
CenterMaximizedWindows=0
HideBordersMaximized=0
SizeMaximized=0
ShowMoveSizeStatus=1
ShowWorkspaceStatus=0
MinimizeToDesktop=0
MiniIconsPlaceHorizontal=0 # 0/1
MiniIconsRightToLeft=0
MiniIconsBottomToTop=0 # 0/1
StrongPointerFocus=1
OpaqueMove=1
OpaqueResize=1
ManualPlacement=0
SmartPlacement=1
HideTitleBarWhenMaximized=0 # 0/1
CenterLarge=0 # 0/1
CenterTransientsOnOwner=1
MenuMouseTracking=1
AutoRaise=0
DelayPointerFocus=0
Win95Keys=0
ModSuperIsCtrlAlt=0
UseMouseWheel=1
ShowPopupsAbovePointer=0
ReplayMenuCancelClick=0
QuickSwitch=0
QuickSwitchToMinimized=0
QuickSwitchToHidden=0
QuickSwitchToUrgent=0
QuickSwitchToAllWorkspaces=0
QuickSwitchGroupWorkspaces=0
QuickSwitchAllIcons=0
QuickSwitchTextFirst=0
QuickSwitchSmallWindow=0
QuickSwitchMaxWidth=0
QuickSwitchVertical=1
QuickSwitchHugeIcon=0
QuickSwitchFillSelection=0
GrabRootWindow=1
SnapMove=0
EdgeSwitch=0
HorizontalEdgeSwitch=0
VerticalEdgeSwitch=0
ContinuousEdgeSwitch=0
 
AutoReloadMenus=1
ArrangeWindowsOnScreenSizeChange=1
ShowTaskBar=0
TaskBarAtTop=0
TaskBarKeepBelow=0
TaskBarAutoHide=1
TaskBarFullscreenAutoShow=0
TaskBarShowClock=0
TaskBarShowAPMStatus=0
TaskBarShowAPMAuto=0
TaskBarShowAPMTime=0
TaskBarShowAPMGraph=0
TaskBarShowMailboxStatus=0
TaskBarMailboxStatusBeepOnNewMail=0
TaskBarMailboxStatusCountMessages=0
TaskBarShowWorkspaces=0
TaskBarShowWindows=0
TaskBarShowShowDesktopButton=0
ShowEllipsis=0
TaskBarShowTray=0
TrayShowAllWindows=0
TaskBarShowTransientWindows=0
TaskBarShowAllWindows=0
TaskBarShowWindowIcons=0
TaskBarShowStartMenu=0
TaskBarShowWindowListMenu=0
TaskBarShowCPUStatus=0
CPUStatusShowRamUsage=0
CPUStatusShowSwapUsage=0
CPUStatusShowAcpiTemp=0
CPUStatusShowCpuFreq=0
TaskBarShowMEMStatus=0
TaskBarShowNetStatus=0
TaskBarShowCollapseButton=0
TaskBarDoubleHeight=0
#  Place workspace pager on left, not right
# TaskBarWorkspacesLeft=1 # 0/1
 
#  Show a mini desktop preview on each workspace button
# PagerShowPreview=0 # 0/1
 
#  Draw window icons inside large enough preview windows on pager (if PagerShowPreview=1)
# PagerShowWindowIcons=1 # 0/1
 
#  Draw even minimized windows as unfilled rectangles (if PagerShowPreview=1)
# PagerShowMinimized=1 # 0/1
 
#  Draw border around workspace buttons (if PagerShowPreview=1)
# PagerShowBorders=1 # 0/1
 
#  Show number of workspace on workspace button (if PagerShowPreview=1)
# PagerShowNumbers=1 # 0/1
 
#  Execute taskbar applet commands (like MailCommand,     ClockCommand,   ...) on single click
# TaskBarLaunchOnSingleClick=1 # 0/1
 
#  Allow mouse actions on client windows (buggy with some programs)
# ClientWindowMouseActions=1 # 0/1
 
ShowProgramsMenu=0
ShowSettingsMenu=0
ShowFocusModeMenu=0
ShowThemesMenu=0
ShowLogoutMenu=0
ShowHelp=0 # 0/1
ShowLogoutSubMenu=0
ShowAbout=0
ShowRun=0
ShowWindowList=0
AllowFullscreen=1
FullscreenUseAllMonitors=0
EnableAddressBar=0
ShowAddressBar=0
MultiByte=1
ConfirmLogout=1 # 0/1
 
#  Don't cut client windows by shapes set trough frame corner pixmap
# ShapesProtectClientWindow=1 # 0/1
 
#  Use double buffering when redrawing the display
# DoubleBuffer=1 # 0/1
 
#  Disable use of new XRANDR API for dual head (nvidia workaround)
# XRRDisable=0 # 0/1
 
#  Delay fuzziness, to allow merging of multiple timer timeouts into one (notebook power saving)
# DelayFuzziness=10 # [0-100]
 
#  Activate workaround for Java7 Swing/AWT focus issue
# ActivateJava7FocusHack=0 # 0/1
 
#  Pointer motion distance before click gets interpreted as drag
# ClickMotionDistance=4 # [0-32]
 
#  Delay before click gets interpreted as drag
# ClickMotionDelay=200 # [0-2000]
 
#  Multiple click time
# MultiClickTime=400 # [0-5000]
 
#  Delay before activating menu items
# MenuActivateDelay=40 # [0-5000]
 
#  Delay before activating menu submenus
# SubmenuMenuActivateDelay=300 # [0-5000]
 
#  Maximal width of popup menus,  2/3 of the screen's width if set to zero
# MenuMaximalWidth=0 # [0-16384]
 
#  Delay before tooltip window is displayed
# ToolTipDelay=1000 # [0-5000]
 
#  Time before tooltip window is hidden (0 means never
# ToolTipTime=0 # [0-60000]
 
#  Delay before task bar is hidden
# AutoHideDelay=300 # [0-5000]
 
#  Delay before task bar is shown
# AutoShowDelay=500 # [0-5000]
 
#  Delay before windows are auto raised
# AutoRaiseDelay=400 # [0-5000]
 
#  Resistance in pixels when trying to move windows off the screen (10000 = infinite)
# EdgeResistance=32 # [0-10000]
 
#  Delay for pointer focus switching
# PointerFocusDelay=200 # [0-1000]
 
#  Distance in pixels before windows snap together
# SnapDistance=8 # [0-64]
 
#  Screen edge workspace switching delay
# EdgeSwitchDelay=600 # [0-5000]
 
#  Inital scroll bar autoscroll delay
# ScrollBarStartDelay=500 # [0-5000]
 
#  Scroll bar autoscroll delay
# ScrollBarDelay=30 # [0-5000]
 
#  Auto scroll start delay
# AutoScrollStartDelay=500 # [0-5000]
 
#  Auto scroll delay
# AutoScrollDelay=60 # [0-5000]
 
#  Time before workspace status window is hidden
# WorkspaceStatusTime=2500 # [0-2500]
 
#  Bitmask of root window button click to use in window manager
# UseRootButtons=255 # [0-255]
 
#  Bitmask of buttons that raise the window when pressed
# ButtonRaiseMask=1 # [0-255]
 
#  Desktop mouse-button click to show the window list menu
# DesktopWinMenuButton=0 # [0-20]
 
#  Desktop mouse-button click to show the window list
# DesktopWinListButton=2 # [0-20]
 
#  Desktop mouse-button click to show the root menu
# DesktopMenuButton=3 # [0-20]
 
#  TitleBar mouse-button double click to maximize the window
# TitleBarMaximizeButton=1 # [0-5]
 
#  TitleBar mouse-button double click to rollup the window
# TitleBarRollupButton=2 # [0-5]
 
#  Preselect to Cancel (0) or the OK (1) button in message boxes
# MsgBoxDefaultAction=0 # [0-1]
 
#  Delay between new-mail checks. (seconds)
# MailCheckDelay=30 # [0-86400]
 
#  Delay between CPU Monitor samples in ms
# TaskBarCPUDelay=500 # [10-3600000]
 
#  Width of CPU Monitor
# TaskBarCPUSamples=20 # [2-1000]
 
#  Width of Memory Monitor
# TaskBarMEMSamples=20 # [2-1000]
 
#  Delay between Memory Monitor samples in ms
# TaskBarMEMDelay=500 # [10-3600000]
 
#  Width of Net Monitor
# TaskBarNetSamples=20 # [2-1000]
 
#  Delay between Net Monitor samples in ms
# TaskBarNetDelay=500 # [10-3600000]
 
#  default number of tasks in taskbar
# TaskbarButtonWidthDivisor=3 # [1-25]
 
#  Width of APM Monitor
# TaskBarApmGraphWidth=10 # [1-1000]
 
#  Primary screen for xinerama (taskbar, ...)
# XineramaPrimaryScreen=0 # [0-63]
 
#  Number of seconds the taskbar app will blink when requesting focus (0 = forever)
# FocusRequestFlashTime=0 # [0-86400]
 
#  Taskbar blink interval (ms) when requesting focus (0 = blinking disabled)
# FocusRequestFlashInterval=250 # [0-30000]
 
#  Minimal number of themes after which the Themes menu becomes nested (0=disabled)
# NestedThemeMenuMinNumber=15 # [0-1234]
 
#  Delay between power status updates (seconds)
# BatteryPollingPeriod=10 # [2-3600]
 
NetWorkAreaBehaviour=0
 
#  Icon search path (colon separated)
# IconPath="/usr/share/icons:/usr/share/pixmaps"
 
MailBoxPath=""
MailCommand=""
MailClassHint=""
NewMailCommand=""
LockCommand="""
ClockCommand =""
ClockClassHint=""
RunCommand=""
OpenCommand=""
TerminalCommand=""
LogoutCommand=""
LogoutCancelCommand=""
# ShutdownCommand="/bin/sh -c "{ test -e /run/systemd/system && systemctl poweroff; } || sudo -n /sbin/halt""
# RebootCommand="/bin/sh -c "{ test -e /run/systemd/system && systemctl reboot; } || sudo -n /sbin/reboot""
CPUStatusCommand=""
CPUStatusClassHint=""
NetStatusCommand=""
NetStatusClassHint=""
AddressBarCommand=""
NetworkStatusDevice=""
TimeFormat=""
TimeFormatAlt=""
DateFormat=""
XRRPrimaryScreenName=""
AcpiIgnoreBatteries=""
 
MouseWinMove=""
MouseWinSize=""
MouseWinRaise=""
 
KeyWinRaise=""
KeyWinOccupyAll=""
KeyWinLower=""
KeyWinClose=""
KeyWinRestore=""
KeyWinPrev=""
KeyWinNext=""
KeyWinMove=""
KeyWinSize=""
KeyWinMinimize=""
KeyWinMaximize=""
KeyWinMaximizeVert=""
KeyWinMaximizeHoriz=""
KeyWinFullscreen=""
KeyWinHide=""
KeyWinRollup=""
KeyWinMenu=""
KeyWinArrangeN=""
KeyWinArrangeNE=""
KeyWinArrangeE=""
KeyWinArrangeSE=""
KeyWinArrangeS=""
KeyWinArrangeSW=""
KeyWinArrangeW=""
KeyWinArrangeNW=""
KeyWinArrangeC=""
KeySysSwitchNext=""
KeySysSwitchLast=""
KeySysWinNext=""
KeySysWinPrev=""
KeySysWinMenu=""
KeySysDialog=""
KeySysMenu=""
KeySysWindowList=""
KeySysWinListMenu=""
KeySysAddressBar=""
KeySysWorkspacePrev=""
KeySysWorkspaceNext=""
KeySysWorkspaceLast=""
KeySysWorkspacePrevTakeWin=""
KeySysWorkspaceNextTakeWin=""
KeySysWorkspaceLastTakeWin=""
KeySysWorkspace1=""
KeySysWorkspace2=""
KeySysWorkspace3=""
KeySysWorkspace4=""
KeySysWorkspace5=""
KeySysWorkspace6=""
KeySysWorkspace7=""
KeySysWorkspace8=""
KeySysWorkspace9=""
KeySysWorkspace10=""
KeySysWorkspace11=""
KeySysWorkspace12=""
KeySysWorkspace1TakeWin=""
KeySysWorkspace2TakeWin=""
KeySysWorkspace3TakeWin=""
KeySysWorkspace4TakeWin=""
KeySysWorkspace5TakeWin=""
KeySysWorkspace6TakeWin=""
KeySysWorkspace7TakeWin=""
KeySysWorkspace8TakeWin=""
KeySysWorkspace9TakeWin=""
KeySysWorkspace10TakeWin=""
KeySysWorkspace11TakeWin=""
KeySysWorkspace12TakeWin=""
KeySysTileVertical=""
KeySysTileHorizontal=""
KeySysCascade=""
KeySysArrange=""
KeySysArrangeIcons=""
KeySysMinimizeAll=""
KeySysHideAll=""
KeySysUndoArrange=""
KeySysShowDesktop=""
KeySysCollapseTaskBar=""
 
WorkspaceNames=" "
 
DesktopBackgroundCenter=0
SupportSemitransparency=1
DesktopBackgroundScaled=0
DesktopBackgroundColor=""
DesktopBackgroundImage=""
DesktopTransparencyColor=""
DesktopTransparencyImage=""
 
TitleFontNameXft="sans-serif:size=10:bold"
MenuFontNameXft="sans-serif:size=10"
StatusFontNameXft="sans-serif:size=12"
QuickSwitchFontNameXft="sans-serif:size=12"
NormalButtonFontNameXft="sans-serif:size=12"
NormalTaskBarFontNameXft="sans-serif:size=12"
ActiveTaskBarFontNameXft="sans-serif:size=12"
ListBoxFontNameXft="sans-serif:size=14"
ToolTipFontNameXft="sans-serif:size=10"
ClockFontNameXft="sans-serif:size=11"
ActiveButtonFontNameXft="sans-serif:size=11:bold"
ToolButtonFontNameXft="sans-serif:size=11"
NormalWorkspaceFontNameXft="sans-serif:size=11"
ActiveWorkspaceFontNameXft="sans-serif:size=11"
MinimizedWindowFontNameXft="sans-serif:size=11"
ApmFontNameXft="monospace:size=11"
InputFontNameXft="monospace:size=11"
LabelFontNameXft="sans-serif:size=11"

Ссылки

icewm/icewm.txt · Последние изменения: 2023-03-31 20:49 — GreyWolf