JWM oturumu nasıl yapılandırılır?





JWM yazılımının geliştiricisi öğrenciyken elinde bulunan bilgisayar o kadar zayıfmış ki, Openbox gibi hafif oturumları dahi kaldırmayınca çok hafif bir pencere yöneticisi olan JWM'yi yazmış.
İ3 gibi hafif olmakla birlikte, yukarıda kendim dizayn ettiğim resimdeki gibi tam anlamıyla kullanışlı bir oturum oluşturulabiliyor.
Debian başta olmak kaydıyla bütün dağıtımlar destekliyor.
Böylece ister kullandığınız oturumun yanına kurabilir isterse tek olarak kurabilirsiniz.
Şu anda Puppy Linux, Antix Linux gibi beş adet dağıtımın varsayılan oturumu.
Üstelik inşa etmesi o kadar kolay ki, her şey .jwmrc adlı dosya ile yapılıyor.
.jwmrc adlı dosya bir menü.xml dosyasına benziyor, menü.xml dosyasına yazılan komutların neredeyse aynısı, bu da işlemi daha kolaylaştırıyor...

JWM oturumunu denemek isterseniz kullandığınız sistemin kurulum komutuyla jwm yazmanız yeterli, veya paket yöneticiniz ile de kurabilirsiniz, zaten 40-50 kb gibi çok küçük bir boyuta sahip.
Örneğin, uçbirimde sudo apt-get install jwm gibi...

JWM kurulduktan sonra alttaki komut ile /etc/system.jwmrc dizininde bulunan system.jwmrc dosyasını /home dizinine .jwmrc olarak taşıyalım.
cp -i /etc/system.jwmrc ~/.jwmrc

İsterseniz elle /etc/system.jwmrc yolundan kopyalayıp /home dizinine yapıştırabilirsiniz.
Elle yaparsanız, adını .jwmrc yapın...

Dosyanın içeriği ana gövdesi şu şekildedir.
<?xml version="1.0"?>
<JWM>
------------------>
<-----------------
</JWM>

Şimdi bu dosyanın içine temel komutları yazmaya ve görevlerini sırayla anlatmaya başlayalım.

Sistem başlangıcında neyin otomatik çalışmasını istiyorsanız bu komutla yapılıyor.
Örneğin ben ağ simgesinin panele otomatik gelmesini istediğim için bu komutu girdim.
<?xml version="1.0"?>
<JWM>
<StartupCommand>nm-applet &</StartupCommand>
</JWM>
Buna ek olarak istediğinizi girebilirsiniz.
Örneğin benim başlangıçta çalışmasını istediğim .jwmrc dosyam.
<?xml version="1.0"?>
<JWM>
<StartupCommand>nm-applet &</StartupCommand>
<StartupCommand>volti &</StartupCommand>
<StartupCommand>/home/deva/Hepsi/Openbox-bölümü/debci/1440x900_75 &</StartupCommand>
<StartupCommand>xfce4-power-manager &</StartupCommand>
</JWM>

Başlangıçta çalışmasını istediğimiz komutun altına otomatik menü yapalım.
Sistemde kurulu olan programların menüye otomatik gelmesi için önce alttaki bağlantıda xdgmenümaker adlı dosyayı indirelim.
xdgmenumaker

Dosyayı sağ tık ile çıkarın, dizinin içine girin, içinde uçbirimi açın ve alttaki komutu sırayla girmenizle dosya kurulacaktır.
make
make install


Menünün çalışması için alttaki mavi komutu  .jwmrc dosyasına aynen olduğu yere yazalım.
Bu işlemden sonra sistemdeki programlar simgeleriyle birlikte menüye otomatik gelecektir.
<?xml version="1.0"?>
<JWM>
<StartupCommand>nm-applet &</StartupCommand>
<StartupCommand>volti &</StartupCommand>
<StartupCommand>/home/deva/Hepsi/Openbox-bölümü/debci/1440x900_75 &</StartupCommand>
<StartupCommand>xfce4-power-manager &</StartupCommand>
    <!-- The root menu. -->
    <RootMenu onroot="12">
<Include>exec: xdgmenumaker -n -i -f jwm</Include>
<Separator/> 
</RootMenu>
</JWM>

Şimdi panele istediğimiz programların kısayolunu atayalım.
Mavi olan bölüm panele simge atamak için, kırmızı olan ise her programın kendine ait, her program simgesi için kırmızı komutun aynısı yapılmalı.
İcon kısmına örnekte görüldüğü gibi kullanacağınız programın simgesinin yolunu yapıştırın, bunun için /usr/share/icons yoluna başvurun.
pcmanfm yazılı yere de belirlediğiniz komuta ait programın ismini yazın.
<?xml version="1.0"?>
<JWM>
<StartupCommand>nm-applet &</StartupCommand>
<StartupCommand>volti &</StartupCommand>
<StartupCommand>/home/deva/Hepsi/Openbox-bölümü/debci/1440x900_75 &</StartupCommand>
<StartupCommand>xfce4-power-manager &</StartupCommand>
    <!-- The root menu. -->
    <RootMenu onroot="12">
<Include>exec: xdgmenumaker -n -i -f jwm</Include>
<Separator/> 
</RootMenu>
<!-- Tray at the bottom. -->
<Tray x="0" y="-1" height="36" autohide="off">

<TrayButton icon="/usr/share/icons/Obsidian/apps/32/gnome-logs.png">exec:pcmanfm</TrayButton>
</Tray>
</JWM>

Systemtray dediğimiz sistem tepsisine saat ve benzeri öğeler için alttaki işlemi yapalım.
Yukarıda otomatik çalışmasını istediğimiz bazı öğeler sistem tepsisine otomatik gelecektir, alttaki mavi kısım saat için, kırmızı kısım ise o anda kullanılan işlemci yükünü görmek için.
İşlemci yükünü görmek için Debian/Ubuntu'da alttaki paketi kuralım.
sudo apt-get install x11-apps loadmeter
Arch tabanlılarda alttaki paketi kuralım.
pacman -S xorg-xload

<?xml version="1.0"?>
<JWM>
<StartupCommand>nm-applet &</StartupCommand>
<StartupCommand>volti &</StartupCommand>
<StartupCommand>/home/deva/Hepsi/Openbox-bölümü/debci/1440x900_75 &</StartupCommand>
<StartupCommand>xfce4-power-manager &</StartupCommand>
    <!-- The root menu. -->
    <RootMenu onroot="12">
<Include>exec: xdgmenumaker -n -i -f jwm</Include>
<Separator/> 
</RootMenu>
<!-- Tray at the bottom. -->
<Tray x="0" y="-1" height="36" autohide="off">
<TrayButton icon="/usr/share/icons/Obsidian/apps/32/gnome-logs.png">exec:pcmanfm</TrayButton>
        <Dock />
<Swallow name="xload" width="64">xload -nolabel -update 1 -bg DimGrey -fg white -hl DarkGrey</Swallow>

<Clock format="%H:%M"><Button mask="123">exec:xclock</Button></Clock>
</Tray>
</JWM>

.jwmrc dosyasında altta bulunan kısma hangi resmin yolunu yapıştırırsanız arka plan resmi o olur, arka plan için ayrıca program kurmaya gerek yok.
<Desktops width="2" height="1">
<Background type="image">Resim-Yolu</Background>
    </Desktops>

Sistemde pencere kenarları, panel, menü gibi renkleri yine .jwmrc dosyasının içinde bulunan WindowStyle, TrayStyle, MenuStyle gibi kısımlardan değiştirebilirsiniz.

Ayrıca benim .jwmrc dosyamın içeriğinden faydalanabilir, fikir sahibi olabilirsiniz.

<?xml version="1.0"?>
<JWM>
<StartupCommand>nm-applet &</StartupCommand>
<StartupCommand>volti &</StartupCommand>
<StartupCommand>/home/deva/Hepsi/Openbox-bölümü/debci/1440x900_75 &</StartupCommand>
<StartupCommand>xfce4-power-manager &</StartupCommand>
    <!-- The root menu. -->
    <RootMenu onroot="12">
        <Include>/etc/jwm/debian-menu</Include>
<Include>exec: xdgmenumaker -n -i -f jwm</Include>
<Separator/>
<Program icon="/home/deva/Hepsi/Openbox-bölümü/debci/maus-png/folder-saved-search.png" label="Pcmanfm root">gksudo pcmanfm</Program>
<Program icon="/home/deva/Hepsi/Openbox-bölümü/debci/maus-png/gnome-contacts.png" label="Komutlar">leafpad /home/deva/Hepsi/Openbox-bölümü/debci/Komutlar</Program>
 <Menu icon="/usr/share/icons/Obsidian/apps/32/CrayonPhysicsDeluxe.png" label="Programlar">
     <Program icon="/usr/share/icons/Obsidian/apps/32/accessories-system-cleaner.png" label="Bleachbit">bleachbit</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/accessories-system-cleaner.png" label="Bleachbit Root">su-to-root -X -c bleachbit</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/catfish.png" label="Catfish">/usr/bin/catfish</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/applets-screenshooter.png" label="Ekran Görüntüsü">gnome-screenshot --interactive</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/calc.png" label="Hesap Makinesi">galculator</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/cs-themes.png" label="Görünümü Özelleştir">lxappearance</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/gparted.png" label="Gparted">gksu gparted</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/gpick.png" label="Gpick">gpick</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/gthumb.png" label="Gthumb">gthumb %U</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/desktop-effects.png" label="Masaüstü Seçenekleri">pcmanfm --desktop-pref</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/mtpaint.png" label="Mtpaint">mtpaint</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/parley.png" label="Palemoon">palemoon %u</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/freefilesync.png" label="Systemback">/usr/lib/systemback/sbsustart systemback</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/transmission.png" label="Transmission">transmission-gtk %U</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/usb-creator-gtk.png" label="USB Biçimlendir">mintstick -m format</Program>
<Program icon="/usr/share/icons/Obsidian/apps/32/usb-creator-gtk.png" label="USB Yazdır">mintstick -m iso</Program>
     </Menu>
        <Separator/>     
        <Restart label="Yenile" icon="/home/deva/Hepsi/Openbox-bölümü/debci/maus-png/yenile.png"/>
        <Exit icon="/usr/share/icons/Obsidian/actions/32/reload.png" label="Çıkış yap" confirm="true" icon="quit.png"/>
<Program icon="/usr/share/icons/Obsidian/actions/32/system-reboot.png" label="Yeniden başlat">systemctl reboot</Program>
<Program icon="/usr/share/icons/Obsidian/actions/32/system-log-out.png" label="Kapat">systemctl poweroff</Program>
    </RootMenu>

    <!-- Options for program groups. -->
    <Group>
        <Class>Pidgin</Class>
        <Option>sticky</Option>
    </Group>
    <Group>
        <Name>xterm</Name>
        <Option>vmax</Option>
    </Group>
    <Group>
        <Name>xclock</Name>
        <Option>drag</Option>
        <Option>notitle</Option>
    </Group>
    <!-- Tray at the bottom. -->
    <Tray x="0" y="-1" height="36" autohide="off">
<TrayButton icon="/usr/share/icons/Obsidian/apps/32/gnome-logs.png">exec:gmrun</TrayButton>
<TrayButton icon="/usr/share/icons/Obsidian/apps/32/gnome-system-monitor.png">exec:xfce4-taskmanager</TrayButton>
<TrayButton icon="/usr/share/icons/Obsidian/apps/32/xterm.png">exec:lilyterm</TrayButton>
<TrayButton icon="/usr/share/icons/Obsidian/apps/32/aptdaemon-download.png">exec:pamac-manager</TrayButton>
<TrayButton icon="/usr/share/icons/Obsidian/apps/32/accessories-text-editor.png">exec:leafpad</TrayButton>
<TrayButton icon="/usr/share/icons/Obsidian/apps/32/google-chrome.png">exec:google-chrome</TrayButton>
<TrayButton icon="/usr/share/icons/Obsidian/apps/32/file-manager.png">exec:pcmanfm</TrayButton>
        <Spacer width="2"/>
     
        <Spacer width="2"/>

        <Pager labeled="true"/>

        <TaskList maxwidth="161"/>

        <Dock />
<Swallow name="xload" width="64">xload -nolabel -update 1 -bg DimGrey -fg white -hl DarkGrey</Swallow>
        <Clock format="%H:%M"><Button mask="123">exec:xclock</Button></Clock>
    </Tray>


    <!-- Visual Styles -->
    <WindowStyle>
        <Font>Sans-12:bold</Font>
        <Width>2</Width>
        <Height>29</Height>
        <Corner>3</Corner>
        <Foreground>#FFFFFF</Foreground>
        <Background>#333333</Background>
        <Outline>#000000</Outline>
        <Opacity>0.5</Opacity>
        <Active>
            <Foreground>#FFFFFF</Foreground>
            <Background>#6b737a</Background>
            <Outline>#000000</Outline>
            <Opacity>1.0</Opacity>
        </Active>
    </WindowStyle>
    <TrayStyle group="true" list="all">
        <Font>Sans-12</Font>
        <Background>#485459</Background>
        <Foreground>#FFFFFF</Foreground>
        <Outline>#485459</Outline>
        <Opacity>0.75</Opacity>
    </TrayStyle>
    <PagerStyle>
        <Outline>#000000</Outline>
        <Foreground>#555555</Foreground>
        <Background>#444444</Background>
        <Text>#FFFFFF</Text>
        <Active>
            <Foreground>#6b737a</Foreground>
            <Background>#666666</Background>
        </Active>
    </PagerStyle>
    <MenuStyle>
        <Font>Sans-12</Font>
        <Foreground>#FFFFFF</Foreground>
        <Background>#485459</Background>
        <Outline>#000000</Outline>
        <Active>
            <Foreground>#FFFFFF</Foreground>
            <Background>#6b737a</Background>
        </Active>
        <Opacity>0.85</Opacity>
    </MenuStyle>
    <PopupStyle>
        <Font>Sans-12</Font>
        <Foreground>#000000</Foreground>
        <Background>#999999</Background>
    </PopupStyle>

    <!-- Path where icons can be found.
         IconPath can be listed multiple times to allow searching
         for icons in multiple paths.
      -->
    <IconPath>/usr/share/icons/gnome/256x256/actions</IconPath>
    <IconPath>/usr/share/icons/gnome/256x256/apps</IconPath>
    <IconPath>/usr/share/icons/gnome/256x256/categories</IconPath>
    <IconPath>/usr/share/icons/gnome/256x256/devices</IconPath>
    <IconPath>/usr/share/icons/gnome/256x256/emblems</IconPath>
    <IconPath>/usr/share/icons/gnome/256x256/mimetypes</IconPath>
    <IconPath>/usr/share/icons/gnome/256x256/places</IconPath>
    <IconPath>/usr/share/icons/gnome/256x256/status</IconPath>
    <IconPath>/usr/share/icons/gnome/32x32/actions</IconPath>
    <IconPath>/usr/share/icons/gnome/32x32/animations</IconPath>
    <IconPath>/usr/share/icons/gnome/32x32/apps</IconPath>
    <IconPath>/usr/share/icons/gnome/32x32/categories</IconPath>
    <IconPath>/usr/share/icons/gnome/32x32/devices</IconPath>
    <IconPath>/usr/share/icons/gnome/32x32/emblems</IconPath>
    <IconPath>/usr/share/icons/gnome/32x32/mimetypes</IconPath>
    <IconPath>/usr/share/icons/gnome/32x32/places</IconPath>
    <IconPath>/usr/share/icons/gnome/32x32/status</IconPath>
    <IconPath>/usr/share/icons/gnome/scalable/actions</IconPath>
    <IconPath>/usr/share/icons/gnome/scalable/apps</IconPath>
    <IconPath>/usr/share/icons/gnome/scalable/categories</IconPath>
    <IconPath>/usr/share/icons/gnome/scalable/devices</IconPath>
    <IconPath>/usr/share/icons/gnome/scalable/emblems</IconPath>
    <IconPath>/usr/share/icons/gnome/scalable/mimetypes</IconPath>
    <IconPath>/usr/share/icons/gnome/scalable/places</IconPath>
    <IconPath>/usr/share/icons/gnome/scalable/status</IconPath>
    <IconPath>/usr/share/icons/hicolor/256x256/apps</IconPath>
    <IconPath>/usr/share/icons/hicolor/256x256/mimetypes</IconPath>
    <IconPath>/usr/share/icons/hicolor/32x32/actions</IconPath>
    <IconPath>/usr/share/icons/hicolor/32x32/apps</IconPath>
    <IconPath>/usr/share/icons/hicolor/32x32/categories</IconPath>
    <IconPath>/usr/share/icons/hicolor/32x32/devices</IconPath>
    <IconPath>/usr/share/icons/hicolor/32x32/emblems</IconPath>
    <IconPath>/usr/share/icons/hicolor/32x32/mimetypes</IconPath>
    <IconPath>/usr/share/icons/hicolor/32x32/status</IconPath>
    <IconPath>/usr/share/icons/hicolor/512x512/apps</IconPath>
    <IconPath>/usr/share/icons/hicolor/512x512/mimetypes</IconPath>
    <IconPath>/usr/share/icons/hicolor/scalable/actions</IconPath>
    <IconPath>/usr/share/icons/hicolor/scalable/apps</IconPath>
    <IconPath>/usr/share/icons/hicolor/scalable/categories</IconPath>
    <IconPath>/usr/share/icons/hicolor/scalable/devices</IconPath>
    <IconPath>/usr/share/icons/hicolor/scalable/emblems</IconPath>
    <IconPath>/usr/share/icons/hicolor/scalable/mimetypes</IconPath>
    <IconPath>/usr/share/icons/hicolor/scalable/places</IconPath>
    <IconPath>/usr/share/icons/hicolor/scalable/status</IconPath>
    <IconPath>/usr/share/icons</IconPath>
    <IconPath>/usr/share/pixmaps</IconPath>
    <IconPath>
        /usr/local/share/jwm
    </IconPath>

    <!-- Virtual Desktops -->
    <!-- Desktop tags can be contained within Desktops for desktop names. -->
    <Desktops width="2" height="1">
        <!-- Default background. Note that a Background tag can be
              contained within a Desktop tag to give a specific background
              for that desktop.
         -->
        <Background type="image">/home/deva/Hepsi/Openbox-bölümü/debci/background/alba.jpg</Background>
    </Desktops>

    <!-- Double click speed (in milliseconds) -->
    <DoubleClickSpeed>400</DoubleClickSpeed>

    <!-- Double click delta (in pixels) -->
    <DoubleClickDelta>2</DoubleClickDelta>

    <!-- The focus model (sloppy or click) -->
    <FocusModel>click</FocusModel>

    <!-- The snap mode (none, screen, or border) -->
    <SnapMode distance="10">border</SnapMode>

    <!-- The move mode (outline or opaque) -->
    <MoveMode>opaque</MoveMode>

    <!-- The resize mode (outline or opaque) -->
    <ResizeMode>opaque</ResizeMode>

    <!-- Key bindings -->
    <Key key="Up">up</Key>
    <Key key="Down">down</Key>
    <Key key="Right">right</Key>
    <Key key="Left">left</Key>
    <Key key="h">left</Key>
    <Key key="j">down</Key>
    <Key key="k">up</Key>
    <Key key="l">right</Key>
    <Key key="Return">select</Key>
    <Key key="Escape">escape</Key>

    <Key mask="A" key="Tab">nextstacked</Key>
    <Key mask="A" key="F4">close</Key>
    <Key mask="A" key="#">desktop#</Key>
    <Key mask="A" key="F1">root:1</Key>
    <Key mask="A" key="F2">window</Key>
    <Key mask="A" key="F10">maximize</Key>
    <Key mask="A" key="Right">rdesktop</Key>
    <Key mask="A" key="Left">ldesktop</Key>
    <Key mask="A" key="Up">udesktop</Key>
    <Key mask="A" key="Down">ddesktop</Key>

</JWM>

JWM oturum yapılandırmasını başarıyla yaptığınızda güzel, hızlı, sistem kaynağını sadece koklayan bir sisteminiz olacaktır.
Ayrıca bütün yapılandırma .jwmrc dosyasıyla olduğu için sistem görünümünü ve kullanım şeklini yeteneğinizle daha da geliştirebilirsiniz, deneyen arkadaşlara kolay gelsin, başarılar...

Yorumlar