
Subtle - tiling window manager in ruby
First, let's find out what a “tiling window manager” is.
Wiki tells us:
This is the X Window System window manager, dividing the screen workspace into mutually disjoint rectangular areas - frames. Each frame is used to output information by a separate application, as opposed to traditional window managers, which create areas coordinate-wise and layer-by-layer (“windows”), trying to follow the metaphor of the “desktop”. In addition to the full use of all visible space, the approach of frame window managers minimizes the use of the mouse in window operations, mainly using various keyboard combinations, thereby reducing the time spent on performing routine operations and increasing work efficiency.
It sounds delicious and I decided to give it a try. On advice, I took up Xmonad , and the result was the following.
I liked Xmonad as described. Its settings were exciting (I’ll say right away that I didn’t want to use xmonad + anything, only pure xmonad). After tinkering with him for several days, I was a little upset ... Well, I can’t make the config that I need without knowing haskell. And then an idea came to my mind - what if you search the same thing only on ruby. And, lo and behold, it was found - subtle .
So, let's try to get this miracle on debian (apt-get install subtle for the lazy, but I'm interested in the version from the developers repository + so as not to litter the system).
To begin, I’ll tell you what attracted me to this WM.
1. Familiar YaP (ruby)
2. ruby> = 1.9 (
lo and behold !) 3. Unlike xmonad, it is manual (that is, it doesn’t think how to position the window)
4. Well, it’s very small
5. The standard set already has a panel (by default - list of desktops + name of the active application + tray + space for sublets (sublets - see below).
For tests I used VirtualBox + debian sid, so I’ll tell you how to create this miracle in this configuration.
1. Put Debian without any GUI.
2.
3. Install rvm
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
That's all. As a result, we will get a fully working guy eating quite a bit.
Here is a screen of what happened (running - sakura (terminal emulator) + htop): All settings in ~ / .subtle / etc / xdg / subtle / subtle.rb. You can also install additional things in the panel (sublets are something like gems. They use their sur package manager). They will be automatically added to the right corner of the panel (for example, a clock (sur install clock), weather, etc.) PS In general, the article came out as "I am PR" + "how to" (but it was thought that it would be much more interesting): / ), so ask questions and I will try to add to the article (well, or what to call it ...).

Wiki tells us:
This is the X Window System window manager, dividing the screen workspace into mutually disjoint rectangular areas - frames. Each frame is used to output information by a separate application, as opposed to traditional window managers, which create areas coordinate-wise and layer-by-layer (“windows”), trying to follow the metaphor of the “desktop”. In addition to the full use of all visible space, the approach of frame window managers minimizes the use of the mouse in window operations, mainly using various keyboard combinations, thereby reducing the time spent on performing routine operations and increasing work efficiency.
It sounds delicious and I decided to give it a try. On advice, I took up Xmonad , and the result was the following.
I liked Xmonad as described. Its settings were exciting (I’ll say right away that I didn’t want to use xmonad + anything, only pure xmonad). After tinkering with him for several days, I was a little upset ... Well, I can’t make the config that I need without knowing haskell. And then an idea came to my mind - what if you search the same thing only on ruby. And, lo and behold, it was found - subtle .
So, let's try to get this miracle on debian (apt-get install subtle for the lazy, but I'm interested in the version from the developers repository + so as not to litter the system).
To begin, I’ll tell you what attracted me to this WM.
1. Familiar YaP (ruby)
2. ruby> = 1.9 (
lo and behold !) 3. Unlike xmonad, it is manual (that is, it doesn’t think how to position the window)
4. Well, it’s very small
5. The standard set already has a panel (by default - list of desktops + name of the active application + tray + space for sublets (sublets - see below).
For tests I used VirtualBox + debian sid, so I’ll tell you how to create this miracle in this configuration.
1. Put Debian without any GUI.
2.
apt-get install mc vim-nox htop ruby rake slim xserver-xorg mercurial build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion libx11-dev pkg-config libxrandr-dev libxinerama-dev libxpm-dev libxft-dev
(The list of packages was invented by me - these are dependencies subtle + X11 + desktop manager + some useful programs) 3. Install rvm
4.
rvm install 1.9.3
5.
rvm use 1.9.3 --default
6.
gem update --system
7.
gem update
8.
gem install archive-tar-minitar
9.
hg clone hg.subforge.org/subtle && cd subtle
10.
rake prefix=~/.subtle sysconfig=~/.subtle/etc install
(we put everything in the home directory so as not to clutter up the system) 11.
echo "export PATH=$HOME/.subtle/bin:$PATH" >> ~/.bashrc
12.
echo "exec ~/.rvm/bin/rvm-exec ~/.subtle/bin/subtle --config ~/.subtle/etc/xdg/subtle/subtle.rb" > ~/.xsessionrc
13.
/etc/init.d/slim start
That's all. As a result, we will get a fully working guy eating quite a bit.
Here is a screen of what happened (running - sakura (terminal emulator) + htop): All settings in ~ / .subtle / etc / xdg / subtle / subtle.rb. You can also install additional things in the panel (sublets are something like gems. They use their sur package manager). They will be automatically added to the right corner of the panel (for example, a clock (sur install clock), weather, etc.) PS In general, the article came out as "I am PR" + "how to" (but it was thought that it would be much more interesting): / ), so ask questions and I will try to add to the article (well, or what to call it ...).
