massive removal of aligning (since it has been added to css)

This commit is contained in:
arcan1s 2014-06-23 04:51:32 +04:00
parent cc462bc930
commit 27fce352a2
36 changed files with 707 additions and 707 deletions

View File

@ -38,7 +38,7 @@
<img src="/resources/pinkiepie.png" alt="pinkiepie">
<p align="justify">I'm Pinkie Pie. You are seeing me because you want a page that I could not find. I'm sorry. Seriously. I'll try to work better. But now I may suggest you to return to the <a href="/">Home</a> or <a href="javascript:history.back()">back</a>.</p>
<p>I'm Pinkie Pie. You are seeing me because you want a page that I could not find. I'm sorry. Seriously. I'll try to work better. But now I may suggest you to return to the <a href="/">Home</a> or <a href="javascript:history.back()">back</a>.</p>
</section>
<footer>

View File

@ -9,12 +9,12 @@ layout: default
<header>
{% if page.category == "ru" %}
{% assign post = page %}
<p align="justify">{% include shortdate_to_ru.html %}</p>
<p align="justify"><b>Тэги</b>: {{ page.tags }}</p>
<p>{% include shortdate_to_ru.html %}</p>
<p><b>Тэги</b>: {{ page.tags }}</p>
{% if page.tags contains 'offtop' %}
<!-- do nothing -->
{% else %}
<p align="justify"><b>Похожие посты</b>:<br>
<p><b>Похожие посты</b>:<br>
{% for post in site.related_posts limit:5 %}
{% if post.tags contains 'offtop' %}
<!-- do nothing -->
@ -27,12 +27,12 @@ layout: default
</p>
{% endif %}
{% else %}
<p align="justify">{{ page.date | date_to_string }}<br></p>
<p align="justify"><b>Tags</b>: {{ page.tags }}</p>
<p>{{ page.date | date_to_string }}<br></p>
<p><b>Tags</b>: {{ page.tags }}</p>
{% if page.tags contains 'offtop' %}
<!-- do nothing -->
{% else %}
<p align="justify"><b>Related posts</b>:<br>
<p><b>Related posts</b>:<br>
{% for post in site.related_posts limit:5 %}
{% if post.tags contains 'offtop' %}
<!-- do nothing -->
@ -49,6 +49,6 @@ layout: default
<section>
<a name="" class="anchor" href="#"><span class="octicon octicon-link"><h1>{{ page.title }}</h1></span></a>
<p align="justify">{{ page.description }}</p>
<p>{{ page.description }}</p>
{{ content }}

View File

@ -8,16 +8,16 @@ short: about-zshrc
description: It is first paper in my blog (I think I need something here for tests =)). There are many similar articles, and I'll not be an exception. I just want to show my <code>.zshrc</code> and explain what it does and why it is needed. Also any comments or additions are welcome. It is a translated paper from Russian (<a href="http://archlinux.org.ru/forum/topic/12752/">original</a>).
---
<h2><a name="prepare" class="anchor" href="#prepare"><span class="octicon octicon-link"></span></a>Prepare</h2>
<p align="justify">First install recommended minima:</p>
<p>First install recommended minima:</p>
{% highlight bash %}
pacman -Sy pkgfile zsh zsh-completions zsh-syntax-highlighting
{% endhighlight %}
<p align="justify"><a href="https://www.archlinux.org/packages/pkgfile/">pkgfile</a> is a very useful utility. Also this command will install shell, additional completion and syntax highlighting.</p>
<p><a href="https://www.archlinux.org/packages/pkgfile/">pkgfile</a> is a very useful utility. Also this command will install shell, additional completion and syntax highlighting.</p>
<h2><a name="configuration" class="anchor" href="#configuration"><span class="octicon octicon-link"></span></a>Shell configuration</h2>
<p align="justify">All options are avaible <a href="http://zsh.sourceforge.net/Doc/Release/Options.html">here</a>.</p>
<p>All options are avaible <a href="http://zsh.sourceforge.net/Doc/Release/Options.html">here</a>.</p>
<p align="justify">Set history file and number of commands in cache of the current session and in the history file:</p>
<p>Set history file and number of commands in cache of the current session and in the history file:</p>
{% highlight bash %}
# history
HISTFILE=~/.zsh_history
@ -25,7 +25,7 @@ HISTSIZE=500000
SAVEHIST=500000
{% endhighlight %}
<p align="justify">I can not remember all <code>Ctrl+</code> combinations so I bind keys to its default usages:</p>
<p>I can not remember all <code>Ctrl+</code> combinations so I bind keys to its default usages:</p>
{% highlight bash %}
# bindkeys
bindkey '^[[A' up-line-or-search # up arrow for back-history-search
@ -37,9 +37,9 @@ bindkey '\e[4~' end-of-line # end
bindkey '\e[5~' up-line-or-history # page-up
bindkey '\e[6~' down-line-or-history # page-down
{% endhighlight %}
<p align="justify">But in this case <code>Up</code>/<code>Down</code> arrows are used to navigate through the history based on <b>already entered part</b> of a command. And <code>PgUp</code>/<code>PgDown</code> <b>will ignore</b> already entered part of a command.</p>
<p>But in this case <code>Up</code>/<code>Down</code> arrows are used to navigate through the history based on <b>already entered part</b> of a command. And <code>PgUp</code>/<code>PgDown</code> <b>will ignore</b> already entered part of a command.</p>
<p align="justify">Command autocomplete:</p>
<p>Command autocomplete:</p>
{% highlight bash %}
# autocomplete
autoload -U compinit
@ -47,65 +47,65 @@ compinit
zstyle ':completion:*' insert-tab false
zstyle ':completion:*' max-errors 2
{% endhighlight %}
<p align="justify">Full command autocomplete will be enabled. <code>insert-tab false</code> will enable autocomplete for <b>non-entered</b> commands. <code>max-errors</code> sets maximum number of errors that could be corrected.</p>
<p>Full command autocomplete will be enabled. <code>insert-tab false</code> will enable autocomplete for <b>non-entered</b> commands. <code>max-errors</code> sets maximum number of errors that could be corrected.</p>
<p align="justify">Prompt:</p>
<p>Prompt:</p>
{% highlight bash %}
# promptinit
autoload -U promptinit
promptinit
{% endhighlight %}
<p align="justify">Enable colors:</p>
<p>Enable colors:</p>
{% highlight bash %}
# colors
autoload -U colors
colors
{% endhighlight %}
<p align="justify">Here are some other options.</p>
<p align="justify">Change directory without <code>cd</code>:</p>
<p>Here are some other options.</p>
<p>Change directory without <code>cd</code>:</p>
{% highlight bash %}
# autocd
setopt autocd
{% endhighlight %}
<p align="justify">Correcting of typos (and question template):</p>
<p>Correcting of typos (and question template):</p>
{% highlight bash %}
# correct
setopt CORRECT_ALL
SPROMPT="Correct '%R' to '%r' ? ([Y]es/[N]o/[E]dit/[A]bort) "
{% endhighlight %}
<p align="justify">Disable f#$%ing beep:</p>
<p>Disable f#$%ing beep:</p>
{% highlight bash %}
# disable beeps
unsetopt beep
{% endhighlight %}
<p align="justify">Enable calculator:</p>
<p>Enable calculator:</p>
{% highlight bash %}
# calc
autoload zcalc
{% endhighlight %}
<p align="justify">Append history (<b>do not recreate</b> the history file):</p>
<p>Append history (<b>do not recreate</b> the history file):</p>
{% highlight bash %}
# append history
setopt APPEND_HISTORY
{% endhighlight %}
<p align="justify">Do not save dups to history file:</p>
<p>Do not save dups to history file:</p>
{% highlight bash %}
# ignore spaces in history
setopt HIST_IGNORE_ALL_DUPS
{% endhighlight %}
<p align="justify">...and additional spaces:</p>
<p>...and additional spaces:</p>
{% highlight bash %}
# ignore dups in history
setopt HIST_IGNORE_SPACE
{% endhighlight %}
<p align="justify">...and blank lines too:</p>
<p>...and blank lines too:</p>
{% highlight bash %}
# reduce blanks in history
setopt HIST_REDUCE_BLANKS
{% endhighlight %}
<p align="justify">Enable <code>pkgfile</code>:</p>
<p>Enable <code>pkgfile</code>:</p>
{% highlight bash %}
# pkgfile
source /usr/share/doc/pkgfile/command-not-found.zsh
@ -158,10 +158,10 @@ ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=yellow'
# root example
#ZSH_HIGHLIGHT_STYLES[root]='bg=red'
{% endhighlight %}
<p align="justify">In first line highlighting is turned on. Next main, brackets and pattern highlighting are turned on. Patterns are set below (<code>rm -rf *</code> in the example). Also <code>root</code> and <code>cursor</code> highlighting may be turned on. Colors syntax is understandable, <code>fg</code> is font color, <code>bg</code> is background color.</p>
<p>In first line highlighting is turned on. Next main, brackets and pattern highlighting are turned on. Patterns are set below (<code>rm -rf *</code> in the example). Also <code>root</code> and <code>cursor</code> highlighting may be turned on. Colors syntax is understandable, <code>fg</code> is font color, <code>bg</code> is background color.</p>
<h2><a name="prompt" class="anchor" href="#prompt"><span class="octicon octicon-link"></span></a>$PROMPT and $RPROMPT</h2>
<p align="justify">The general idea is the use single <code>.zshrc</code> for root and normal user:</p>
<p>The general idea is the use single <code>.zshrc</code> for root and normal user:</p>
{% highlight bash %}
# PROMPT && RPROMPT
if [[ $EUID == 0 ]]; then
@ -183,7 +183,7 @@ else
fi
{% endhighlight %}
<p align="justify"><code>fg</code> is font color, <code>bg</code> is background color. <code>_bold</code> and <code>_no_bold</code> regulate the tint. Commands should be in <code>%{ ... %}</code> so they do not appear. Avaible colors are:</p>
<p><code>fg</code> is font color, <code>bg</code> is background color. <code>_bold</code> and <code>_no_bold</code> regulate the tint. Commands should be in <code>%{ ... %}</code> so they do not appear. Avaible colors are:</p>
{% highlight bash %}
black
red
@ -195,7 +195,7 @@ cyan
white
{% endhighlight %}
<p align="justify">Avaible variables are:</p>
<p>Avaible variables are:</p>
{% highlight bash %}
%n - the username
%m - the computer's hostname (truncated to the first period)
@ -211,7 +211,7 @@ white
%1/ - the same as %d but only last directory
{% endhighlight %}
<p align="justify">RPROMPT (<code>acpi</code> package is necessary):</p>
<p>RPROMPT (<code>acpi</code> package is necessary):</p>
{% highlight bash %}
precmd () {
# battery charge
@ -236,12 +236,12 @@ $(batcharge)\
$returncode\
"%{$fg_bold[white]%}]%{$reset_color%}"
{% endhighlight %}
<p align="justify">My RPROMPT shows current time, battery change and last returned code. <code>precmd()</code> is necessary for automatic updating. The construct <code>$(if.true.false)</code> is conditional statement in <code>zsh</code>.</p>
<p>My RPROMPT shows current time, battery change and last returned code. <code>precmd()</code> is necessary for automatic updating. The construct <code>$(if.true.false)</code> is conditional statement in <code>zsh</code>.</p>
<h2><a name="aliases" class="anchor" href="#aliases"><span class="octicon octicon-link"></span></a>Aliases</h2>
<p align="justify"><b>Copy only those aliases that you need.</b> If any alias uses application that is not installed it will leads to fail of loading of configuration file.</p>
<p><b>Copy only those aliases that you need.</b> If any alias uses application that is not installed it will leads to fail of loading of configuration file.</p>
<p align="justify">Small useful (or maybe not) function:</p>
<p>Small useful (or maybe not) function:</p>
{% highlight bash %}
show_which() {
OUTPUT=$(which $1 | cut -d " " -f7-)
@ -249,7 +249,7 @@ show_which() {
}
{% endhighlight %}
<p align="justify">Here is the first group of aliases:</p>
<p>Here is the first group of aliases:</p>
{% highlight bash %}
## alias
# colored grep
@ -268,7 +268,7 @@ alias less='vimpager'
alias zless='vimpager'
{% endhighlight %}
<p align="justify">Here are ls aliases (see <a href="http://unixhelp.ed.ac.uk/CGI/man-cgi?ls">man ls</a>):</p>
<p>Here are ls aliases (see <a href="http://unixhelp.ed.ac.uk/CGI/man-cgi?ls">man ls</a>):</p>
{% highlight bash %}
alias ls='show_which ls && ls --color=auto --group-directories-first'
alias ll='show_which ll && ls -l --human-readable'
@ -280,7 +280,7 @@ alias lt='show_which lt && ll -t --reverse'
alias lm='show_which lm && la | more'
{% endhighlight %}
<p align="justify">Here are aliases to quick file view from console (just type a file name!):</p>
<p>Here are aliases to quick file view from console (just type a file name!):</p>
{% highlight bash %}
# alias -s
alias -s {avi,mpeg,mpg,mov,m2v,mkv}=mpv
@ -291,7 +291,7 @@ autoload -U pick-web-browser
alias -s {html,htm}=opera
{% endhighlight %}
<p align="justify">Here are "sudo" aliases:</p>
<p>Here are "sudo" aliases:</p>
{% highlight bash %}
# sudo alias
if [[ $EUID == 0 ]]; then
@ -314,7 +314,7 @@ else
fi
{% endhighlight %}
<p align="justify">Here are global aliases. If they are enable the command <code>cat foo g bar</code> will be equivalent the command <code>cat foo | grep bar</code>:</p>
<p>Here are global aliases. If they are enable the command <code>cat foo g bar</code> will be equivalent the command <code>cat foo | grep bar</code>:</p>
{% highlight bash %}
# global alias
alias -g g="| grep"
@ -325,7 +325,7 @@ alias -g dn="&> /dev/null &"
{% endhighlight %}
<h2><a name="functions" class="anchor" href="#functions"><span class="octicon octicon-link"></span></a>Functions</h2>
<p align="justify">Here is a special function for <code>xrandr</code>:</p>
<p>Here is a special function for <code>xrandr</code>:</p>
{% highlight bash %}
# function to contorl xrandr
@ -350,7 +350,7 @@ projctl () {
}
{% endhighlight %}
<p align="justify">Unfortunately I can not remember <code>tar</code> flags thus I use special functions:</p>
<p>Unfortunately I can not remember <code>tar</code> flags thus I use special functions:</p>
{% highlight bash %}
# function to extract archives
# EXAMPLE: unpack file
@ -403,7 +403,7 @@ pack () {
}
{% endhighlight %}
<p align="justify">Here is a special function for <code>su</code>:</p>
<p>Here is a special function for <code>su</code>:</p>
{% highlight bash %}
su () {
CHECKSU=0
@ -421,7 +421,7 @@ su () {
}
{% endhighlight %}
<p align="justify">Function that replaces original <code>rm</code> command. If you type <code>rm</code> it will be equivalent moving to trash an you can easily restore a file:</p>
<p>Function that replaces original <code>rm</code> command. If you type <code>rm</code> it will be equivalent moving to trash an you can easily restore a file:</p>
{% highlight bash %}
rm () {
# error check
@ -464,7 +464,7 @@ rm () {
}
{% endhighlight %}
<p align="justify">Functions with automatic rehash after installing/removing packages are:</p>
<p>Functions with automatic rehash after installing/removing packages are:</p>
{% highlight bash %}
pacman () {
/usr/bin/sudo /usr/bin/pacman $* && echo "$*" | grep -q "S\|R\|U" && rehash
@ -477,12 +477,12 @@ yatest () {
/usr/bin/yaourt --config /etc/pactest.conf $* && echo "$*" | grep -q "S\|R\|U" && rehash
}
{% endhighlight %}
<p align="justify">But autocomplete for <code>yaourt -Ss</code> <a href="https://github.com/zsh-users/zsh-completions/pull/205">will require</a> root privileges.</p>
<p>But autocomplete for <code>yaourt -Ss</code> <a href="https://github.com/zsh-users/zsh-completions/pull/205">will require</a> root privileges.</p>
<h2><a name="variables" class="anchor" href="#variables"><span class="octicon octicon-link"></span></a>Variables</h2>
<p align="justify">It is recommended to set own variables in <code>~/.zshenv</code>. But I have everything stored in the single file.</p>
<p>It is recommended to set own variables in <code>~/.zshenv</code>. But I have everything stored in the single file.</p>
<p align="justify">Here are path, mask of new files, editor and pager:</p>
<p>Here are path, mask of new files, editor and pager:</p>
{% highlight bash %}
# path
export PATH="$PATH:$HOME/.local/bin"
@ -493,7 +493,7 @@ export EDITOR="vim"
export PAGER="vimpager"
{% endhighlight %}
<p align="justify">Here is hashes. If they are enable the command <code>~global</code> will be equivalent the command <code>/mnt/global</code>:</p>
<p>Here is hashes. If they are enable the command <code>~global</code> will be equivalent the command <code>/mnt/global</code>:</p>
{% highlight bash %}
# hash
hash -d global=/mnt/global
@ -504,7 +504,7 @@ hash -d u2=/mnt/usbdev
{% endhighlight %}
<h2><a name="screenshot" class="anchor" href="#screenshot"><span class="octicon octicon-link"></span></a>Screenshot</h2>
<p align="justify"><a href="/resources/screenshots/zshrc_demo.png"><img src="/resources/preview/zshrc_demo_prev.jpg"></a></p>
<p><a href="/resources/screenshots/zshrc_demo.png"><img src="/resources/preview/zshrc_demo_prev.jpg"></a></p>
<h2><a name="file" class="anchor" href="#file"><span class="octicon octicon-link"></span></a>File</h2>
<p align="justify"><a href="https://raw.github.com/arcan1s/dotfiles/master/zshrc">Here is</a> my <code>.zshrc</code>.</p>
<p><a href="https://raw.github.com/arcan1s/dotfiles/master/zshrc">Here is</a> my <code>.zshrc</code>.</p>

View File

@ -8,27 +8,27 @@ short: building-qutim-using-qt5
description: <a href="http://qutim.org">Qutim</a> is a multiprotocol and cross platform messenger. It is written on <code>CPP</code> using Qt library. The project is actively developed. In this paper I will say about building this package in Archlinux using Qt5 library (instead of Qt4 which is used in current AUR packages).
---
<h2><a name="problems" class="anchor" href="#problems"><span class="octicon octicon-link"></span></a>What's wrong?</h2>
<p align="justify">This package uses <a href="http://qt-project.org/wiki/qbs">qbs</a> for building, which is a bit strange IMHO. A package, which is necessary for building, is <a href="https://aur.archlinux.org/packages/qbs-git/">in AUR </a>. I recommend to use git version of the package. When I asked Andrea Scarpino (who maintains KDE and Qt packages into the official repos) about qbs, he told me "we will support it in time". And I agree with him, the project seems to be a little unstable.</p>
<p>This package uses <a href="http://qt-project.org/wiki/qbs">qbs</a> for building, which is a bit strange IMHO. A package, which is necessary for building, is <a href="https://aur.archlinux.org/packages/qbs-git/">in AUR </a>. I recommend to use git version of the package. When I asked Andrea Scarpino (who maintains KDE and Qt packages into the official repos) about qbs, he told me "we will support it in time". And I agree with him, the project seems to be a little unstable.</p>
<h2><a name="prepare" class="anchor" href="#prepare"><span class="octicon octicon-link"></span></a>Prepare</h2>
<p align="justify">Install dependences. I had used <code>namcap</code>, so maybe I missed something:</p>
<p>Install dependences. I had used <code>namcap</code>, so maybe I missed something:</p>
{% highlight bash %}
pacman -Sy --asdeps clang git libc++abi qt5-quick1 qt5-x11extras
yaourt -S --asdeps jreen-git qbs-git
{% endhighlight %}
<h3><a name="qbs" class="anchor" href="#qbs"><span class="octicon octicon-link"></span></a>qbs settings</h3>
<p align="justify">You may read about qbs <a href="http://qt-project.org/wiki/qbs">on the link</a> or see examples which are provides by the package. qbs uses configuration file that firstly you must create and secondly it is stored in your home directory. In theory a configuration file creating ((<code>~/.config/QtProject/qbs.conf</code>)) looks like this:</p>
<p>You may read about qbs <a href="http://qt-project.org/wiki/qbs">on the link</a> or see examples which are provides by the package. qbs uses configuration file that firstly you must create and secondly it is stored in your home directory. In theory a configuration file creating ((<code>~/.config/QtProject/qbs.conf</code>)) looks like this:</p>
{% highlight bash %}
qbs-setup-qt --detect
qbs-detect-toolchains
{% endhighlight %}
<p align="justify">Firstly we find Qt libraries. Then we find toolchains (such as compilers). And next we must insert a toolchain into Qt profile (for example, we need <code>clang</code> toolchain):</p>
<p>Firstly we find Qt libraries. Then we find toolchains (such as compilers). And next we must insert a toolchain into Qt profile (for example, we need <code>clang</code> toolchain):</p>
{% highlight bash %}
sed 's/clang\\/qt-5-2-0\\/g' -i ~/.config/QtProject/qbs.conf
{% endhighlight %}
<p align="justify">And there are other ways. You may edit the file manually or use <code>qbs-config-ui</code> or <code>qbs-config</code>.</p>
<p align="justify">So, we have created the configuration file and put it into build directory:</p>
<p>And there are other ways. You may edit the file manually or use <code>qbs-config-ui</code> or <code>qbs-config</code>.</p>
<p>So, we have created the configuration file and put it into build directory:</p>
{% highlight ini %}
[General]
@ -64,10 +64,10 @@ qutim\qbs\architecture=x86_64
qutim\qbs\endianness=little
qutim\qbs\toolchain=clang, llvm, gcc
{% endhighlight %}
<p align="justify"><a href="/resources/docs/qutim-qt5-git/qbs-qutim.conf">qbs-qutim.conf</a></p>
<p><a href="/resources/docs/qutim-qt5-git/qbs-qutim.conf">qbs-qutim.conf</a></p>
<h3><a name="patch" class="anchor" href="#patch"><span class="octicon octicon-link"></span></a>Patch for sources</h3>
<p align="justify">The first problem is <code>clang</code> (at least in Archlinux):</p>
<p>The first problem is <code>clang</code> (at least in Archlinux):</p>
{% highlight diff %}
diff -ruN qutim.orig/core/libqutim.qbs qutim/core/libqutim.qbs
--- qutim.orig/core/libqutim.qbs 2014-01-06 15:39:56.000000000 +0400
@ -82,7 +82,7 @@ diff -ruN qutim.orig/core/libqutim.qbs qutim/core/libqutim.qbs
}
{% endhighlight %}
<p align="justify">And the second one is Vk plugin:</p>
<p>And the second one is Vk plugin:</p>
{% highlight diff %}
diff -ruN qutim.orig/protocols/vkontakte/vreen/vreen.qbs qutim/protocols/vkontakte/vreen/vreen.qbs
--- qutim.orig/protocols/vkontakte/vreen/vreen.qbs 2014-01-06 15:41:42.000000000 +0400
@ -96,7 +96,7 @@ diff -ruN qutim.orig/protocols/vkontakte/vreen/vreen.qbs qutim/protocols/vkontak
property string vreen_version_major: 1
property string vreen_version_minor: 9
{% endhighlight %}
<p align="justify"><a href="/resources/docs/qutim-qt5-git/qutim-qbs-1.1.patch">qutim-qbs-1.1.patch</a></p>
<p><a href="/resources/docs/qutim-qt5-git/qutim-qbs-1.1.patch">qutim-qbs-1.1.patch</a></p>
<h3><a name="sources" class="anchor" href="#sources"><span class="octicon octicon-link"></span></a>Get sources</h3>
{% highlight bash %}
@ -120,13 +120,13 @@ patch -p0 -i qutim-qbs-1.1.patch
cd qutim
HOME=$(pwd) qbs -j $(nproc) -d ../build release profile:qutim
{% endhighlight %}
<p align="justify">I want to create a universal recipe for the building, thus we must set <code>$HOME</code> directory. Flag <code>-j</code> means number of jobs, <code>-d</code> means build directory, <code>release</code> means building type (debug, release), <code>profile</code> is used profile, which is described in the configuration file.</p>
<p>I want to create a universal recipe for the building, thus we must set <code>$HOME</code> directory. Flag <code>-j</code> means number of jobs, <code>-d</code> means build directory, <code>release</code> means building type (debug, release), <code>profile</code> is used profile, which is described in the configuration file.</p>
<h2><a name="install" class="anchor" href="#install"><span class="octicon octicon-link"></span></a>Installation</h2>
{% highlight bash %}
HOME=$(pwd) sudo qbs install -d ../build --install-root "/usr" profile:qutim
{% endhighlight %}
<p align="justify">We must set root directory (<code>--install-root</code>), because without this option the package will be installed into <code>/</code> (<code>/bin</code> and <code>/lib</code>).</p>
<p>We must set root directory (<code>--install-root</code>), because without this option the package will be installed into <code>/</code> (<code>/bin</code> and <code>/lib</code>).</p>
<h2><a name="pkgbuild" class="anchor" href="#pkgbuild"><span class="octicon octicon-link"></span></a>PKGBUILD</h2>
{% highlight bash %}
@ -181,4 +181,4 @@ package() {
HOME="${srcdir}" qbs install -d ../build --install-root "${pkgdir}/usr" profile:qutim
}
{% endhighlight %}
<p align="justify"><a href="/resources/docs/qutim-qt5-git/PKGBUILD">PKGBUILD</a></p>
<p><a href="/resources/docs/qutim-qt5-git/PKGBUILD">PKGBUILD</a></p>

View File

@ -8,12 +8,12 @@ short: creating-custom-repo
description: It is a short paper devoted to creation own ArchLinux repository.
---
<h2><a name="prepare" class="anchor" href="#prepare"><span class="octicon octicon-link"></span></a>Prepare</h2>
<p align="justify">First find a server and desire to have sex with it. It is recommended to use Archlinux on it, but it is not necessarily - because you may create special root for Archlinux. Also you need two packages, <code>devtools</code> and <code>pacman</code>:</p>
<p>First find a server and desire to have sex with it. It is recommended to use Archlinux on it, but it is not necessarily - because you may create special root for Archlinux. Also you need two packages, <code>devtools</code> and <code>pacman</code>:</p>
{% highlight bash %}
pacman -Sy devtools
{% endhighlight %}
<p align="justify"><a href="https://www.archlinux.org/packages/devtools/">devtools</a> is script set for building automation in the clean chroot. I think most of Arch maintainers use it.</p>
<p align="justify">Let's create working directories and set colors:</p>
<p><a href="https://www.archlinux.org/packages/devtools/">devtools</a> is script set for building automation in the clean chroot. I think most of Arch maintainers use it.</p>
<p>Let's create working directories and set colors:</p>
{% highlight bash %}
# colors
if [ ${USECOLOR} == "yes" ]; then
@ -49,11 +49,11 @@ if [ ! -d "${STAGINGDIR}" ]; then
mkdir -p "${STAGINGDIR}" || error_mes "unknown"
fi
{% endhighlight %}
<p align="justify"><code>${REPODIR}/{i686,x86_64}</code> are directories for repository, <code>${PREPAREDIR}</code> is directory where compiled packages will be stored, <code>${STAGINGDIR}</code> is one where packages will be built.</p>
<p><code>${REPODIR}/{i686,x86_64}</code> are directories for repository, <code>${PREPAREDIR}</code> is directory where compiled packages will be stored, <code>${STAGINGDIR}</code> is one where packages will be built.</p>
<h2><a name="theory" class="anchor" href="#theory"><span class="octicon octicon-link"></span></a>A bit of theory</h2>
<p align="justify">Create directory, share it (using <a href="/2014/03/06/site-changes/">ftp</a>, for example). It has two subdirectories - <code>i686</code> and <code>x86_64</code> - for each architecture respectively. And fill them with a set of packages.</p>
<p align="justify">Updating repository may be split into the following steps:</p>
<p>Create directory, share it (using <a href="/2014/03/06/site-changes/">ftp</a>, for example). It has two subdirectories - <code>i686</code> and <code>x86_64</code> - for each architecture respectively. And fill them with a set of packages.</p>
<p>Updating repository may be split into the following steps:</p>
<ol>
<li>Creating PKGBUILDs (or updating them from AUR).</li>
<li>Packages building for each architecture in clean chroot.</li>
@ -68,14 +68,14 @@ fi
</ol>
<h3><a name="pkgbuild" class="anchor" href="#pkgbuild"><span class="octicon octicon-link"></span></a>Creating PKGBUILDs</h3>
<p align="justify">Download source tarballs from AUR:</p>
<p>Download source tarballs from AUR:</p>
{% highlight bash %}
cd "${STAGINGDIR}"
yaourt -G package-name
{% endhighlight %}
<h3><a name="building" class="anchor" href="#building"><span class="octicon octicon-link"></span></a>Packages building</h3>
<p align="justify">Build each package automatically:</p>
<p>Build each package automatically:</p>
{% highlight bash %}
func_build() {
if [ ${USECOLOR} == "yes" ]; then
@ -113,7 +113,7 @@ echo -e "${bwhite}[II]${cclose} Building packages"
cd "${STAGINGDIR}"
/usr/bin/find -name 'PKGBUILD' -type f -execdir /usr/bin/bash -c "func_build "${PREPAREDIR}" "${ROOTDIR}"" \;
{% endhighlight %}
<p align="justify">It is recommended to add the following lines to <code>/etc/sudoers</code>:</p>
<p>It is recommended to add the following lines to <code>/etc/sudoers</code>:</p>
{% highlight bash %}
username ALL=NOPASSWD: /usr/bin/staging-i686-build
username ALL=NOPASSWD: /usr/bin/staging-x86_64-build
@ -131,7 +131,7 @@ if [ ${USEGPG} == "yes" ]; then
done
fi
{% endhighlight %}
<p align="justify">It is recommended to configure <a href="https://wiki.archlinux.org/index.php/GPG#gpg-agent">gpg-agent</a>.</p>
<p>It is recommended to configure <a href="https://wiki.archlinux.org/index.php/GPG#gpg-agent">gpg-agent</a>.</p>
<h3><a name="list" class="anchor" href="#list"><span class="octicon octicon-link"></span></a>Creating the list of packages</h3>
{% highlight bash %}
@ -144,14 +144,14 @@ echo -e "${bwhite}[II] ${bblue}=>${cclose} x86_64 packages: \n${bwhite}${x86_64_
{% endhighlight %}
<h3><a name="updating" class="anchor" href="#updating"><span class="octicon octicon-link"></span></a>Repository update</h3>
<p align="justify">Here is a function for removal packages from database and repository:</p>
<p>Here is a function for removal packages from database and repository:</p>
{% highlight bash %}
func_remove() {
_PACKAGE="$1"
/usr/bin/rm -f "${_PACKAGE}"{,.sig}
}
{% endhighlight %}
<p align="justify"><code>i686</code> repository update:</p>
<p><code>i686</code> repository update:</p>
{% highlight bash %}
# updating i686 repo
echo -e "${bwhite}[II]${cclose} Updating ${bwhite}i686${cclose} repo"
@ -168,7 +168,7 @@ for PACKAGE in ${i686_PACKAGES}; do
/usr/bin/repo-add --files ${DBNAME}.files.tar.gz "${PACKAGE}"
done
{% endhighlight %}
<p align="justify"><code>x86_64</code> repository update:</p>
<p><code>x86_64</code> repository update:</p>
{% highlight bash %}
# updating x86_64 repo
echo -e "${bwhite}[II]${cclose} Updating ${bwhite}x86_64${cclose} repo"
@ -196,7 +196,7 @@ cd "${STAGINGDIR}"
{% endhighlight %}
<h3><a name="symlinks" class="anchor" href="#symlinks"><span class="octicon octicon-link"></span></a>Creating symlinks</h3>
<p align="justify">You may want to create a directory, which will contain symlinks on actual packages with names, which does not contain version:</p>
<p>You may want to create a directory, which will contain symlinks on actual packages with names, which does not contain version:</p>
{% highlight bash %}
# creating symlinks
if [ ${SYMLINK} == "yes" ]; then
@ -219,10 +219,10 @@ fi
{% endhighlight %}
<h3><a name="file" class="anchor" href="#file"><span class="octicon octicon-link"></span></a>File</h3>
<p align="justify">Here is <a href="https://github.com/arcan1s/repo-scripts">the scripts</a>. Download source tarballs and run script (editing variables if it is necessary).</p>
<p>Here is <a href="https://github.com/arcan1s/repo-scripts">the scripts</a>. Download source tarballs and run script (editing variables if it is necessary).</p>
<h2><a name="using" class="anchor" href="#using"><span class="octicon octicon-link"></span></a>Repository usage</h2>
<p align="justify">Just add following lines to <code>/etc/pacman.conf</code>:</p>
<p>Just add following lines to <code>/etc/pacman.conf</code>:</p>
{% highlight bash %}
[$REPONAME]
Server = ftp://$REPOADDRESS/repo/$arch

View File

@ -8,25 +8,25 @@ short: loveless
description: Here is a small poem from Final Fantasy VII Crisis Core.
---
<h2><a name="prologue" class="anchor" href="#prologue"><span class="octicon octicon-link"></span></a>Prologue</h2>
<p align="justify">
<p>
When the war of the beasts brings about the world's end<br>
The goddess descends from the sky<br>
Wings of light and dark spread afar<br>
She guides us to bliss, her gift everlasting.</p>
<h2><a name="acti" class="anchor" href="#acti"><span class="octicon octicon-link"></span></a>Act I</h2>
<p align="justify">Infinite in mystery is the gift of the Goddess<br>
<p>Infinite in mystery is the gift of the Goddess<br>
We seek it thus, and take to the sky<br>
Ripples form on the water's surface<br>
The wandering soul knows no rest.</p>
<h2><a name="actii" class="anchor" href="#actii"><span class="octicon octicon-link"></span></a>Act II</h2>
<p align="justify">There is no hate, only joy<br>
<p>There is no hate, only joy<br>
For you are beloved by the goddess<br>
Hero of the dawn, Healer of worlds<br>
Dreams of the morrow hath the shattered soul<br>
Pride is lost<br>
Wings stripped away, the end is nigh.</p>
<h2><a name="actiii" class="anchor" href="#actiii"><span class="octicon octicon-link"></span></a>Act III</h2>
<p align="justify">My friend, do you fly away now?<br>
<p>My friend, do you fly away now?<br>
To a world that abhors you and I?<br>
All that awaits you is a somber morrow<br>
No matter where the winds may blow<br>
@ -35,7 +35,7 @@ Is the bringer of life, the gift of the goddess<br>
Even if the morrow is barren of promises<br>
Nothing shall forestall my return.</p>
<h2><a name="activ" class="anchor" href="#activ"><span class="octicon octicon-link"></span></a>Act IV</h2>
<p align="justify">My friend, the fates are cruel<br>
<p>My friend, the fates are cruel<br>
There are no dreams, no honor remains<br>
The arrow has left, the bow of the goddess<br>
My soul, corrupted by vengeance<br>
@ -46,7 +46,7 @@ Legend shall speak<br>
Of sacrifice at world's end<br>
The wind sails over the water's surface.</p>
<h2><a name="actv" class="anchor" href="#actv"><span class="octicon octicon-link"></span></a>Act V</h2>
<p align="justify">Even if the morrow is barren of promises<br>
<p>Even if the morrow is barren of promises<br>
Nothing shall forestall my return<br>
To become the dew that quenches the land<br>
To spare the sands, the seas, the skies<br>

View File

@ -9,70 +9,70 @@ description: Here is a short paper devoted to the set of applications and extens
---
<h2><a name="apps" class="anchor" href="#apps"><span class="octicon octicon-link"></span></a>Applications</h2>
<ul>
<li><p align="justify"><b>Shell</b> is zshrc and nothing else. You may find a small description of my settings <a href="/2014/01/14/about-zshrc/">here</a>. They are stored <a href="https://raw.githubusercontent.com/arcan1s/dotfiles/master/zshrc">here</a> (or <a href="https://raw.githubusercontent.com/arcan1s/dotfiles/master/zshrc_server">here</a>).</p></li>
<li><p><b>Shell</b> is zshrc and nothing else. You may find a small description of my settings <a href="/2014/01/14/about-zshrc/">here</a>. They are stored <a href="https://raw.githubusercontent.com/arcan1s/dotfiles/master/zshrc">here</a> (or <a href="https://raw.githubusercontent.com/arcan1s/dotfiles/master/zshrc_server">here</a>).</p></li>
<li><p align="justify"><b>DE</b> - I use KDE as Desktop Environment. And that's why most of apps are qt-based. Some KDE settings are below.</p></li>
<li><p><b>DE</b> - I use KDE as Desktop Environment. And that's why most of apps are qt-based. Some KDE settings are below.</p></li>
<li><p align="justify"><b>Graphic editors</b> - <a href="http://kde.org/applications/graphics/gwenview/">gwenview</a> is used for viewing images, <a href="http://kde.org/applications/graphics/kolourpaint/">kolourpaint</a> is used for simple editing pixel images, <a href="http://www.gimp.org/">gimp</a> (without plugins, since they are not needed for me) - for editing and <a href="http://www.inkscape.org/">inkskape</a> is used as editor of vector graphics.</p></li>
<li><p><b>Graphic editors</b> - <a href="http://kde.org/applications/graphics/gwenview/">gwenview</a> is used for viewing images, <a href="http://kde.org/applications/graphics/kolourpaint/">kolourpaint</a> is used for simple editing pixel images, <a href="http://www.gimp.org/">gimp</a> (without plugins, since they are not needed for me) - for editing and <a href="http://www.inkscape.org/">inkskape</a> is used as editor of vector graphics.</p></li>
<li><p align="justify"><b>Browser</b> - I use Firefox. Some Firefox settings are below. Chromium is used as additional browser, elinks is used as console browser.</p></li>
<li><p><b>Browser</b> - I use Firefox. Some Firefox settings are below. Chromium is used as additional browser, elinks is used as console browser.</p></li>
<li><p align="justify"><b>IM client</b> is <a href="http://qutim.org">qutIM</a>. It is a cross-platform, multiprotocol and full featured client. <a href="http://kde.org/applications/internet/kopete/">Kopete</a>, which I used before it, crashes, does not work correctly and does not work normally with codepage. Also I don't use a console client since I use a tablet IM. And I use Skype for skype obviously.</p></li>
<li><p><b>IM client</b> is <a href="http://qutim.org">qutIM</a>. It is a cross-platform, multiprotocol and full featured client. <a href="http://kde.org/applications/internet/kopete/">Kopete</a>, which I used before it, crashes, does not work correctly and does not work normally with codepage. Also I don't use a console client since I use a tablet IM. And I use Skype for skype obviously.</p></li>
<li><p align="justify"><b>Mail client</b> is <a href="http://kde.org/applications/internet/kmail/">kmail</a>. It is a full featured client (and I use most of them), looks pretty and it is easy to use. If it will be DE-undepended it will be better.</p></li>
<li><p><b>Mail client</b> is <a href="http://kde.org/applications/internet/kmail/">kmail</a>. It is a full featured client (and I use most of them), looks pretty and it is easy to use. If it will be DE-undepended it will be better.</p></li>
<li><p align="justify"><b>IRC client</b> is <a href="http://konversation.kde.org/">konversation</a>. It is a simple IRC client. Though as far as I remember qutIM also supports IRC protocol, I prefre to use a special IRC client.</p></li>
<li><p><b>IRC client</b> is <a href="http://konversation.kde.org/">konversation</a>. It is a simple IRC client. Though as far as I remember qutIM also supports IRC protocol, I prefre to use a special IRC client.</p></li>
<li><p align="justify"><b>Torrent client</b> is <a href="http://www.transmissionbt.com/">transmission</a> with Qt5 interface (it has gtk interface too). It is also used for server but without GUI.</p></li>
<li><p><b>Torrent client</b> is <a href="http://www.transmissionbt.com/">transmission</a> with Qt5 interface (it has gtk interface too). It is also used for server but without GUI.</p></li>
<li><p align="justify"><b>Video player</b> is <a href="http://mpv.io/">mpv</a>, since mplayer died and mplayer2 was born deadborn. Graphical frontend are not needed.</p></li>
<li><p><b>Video player</b> is <a href="http://mpv.io/">mpv</a>, since mplayer died and mplayer2 was born deadborn. Graphical frontend are not needed.</p></li>
<li><p align="justify"><b>Audio player</b> is <a href="http://qmmp.ylsoftware.com/">qmmp</a>. It is a good winamp-like player. Flick of the wrist you may make a handy interface for it (simpleui).</p></li>
<li><p><b>Audio player</b> is <a href="http://qmmp.ylsoftware.com/">qmmp</a>. It is a good winamp-like player. Flick of the wrist you may make a handy interface for it (simpleui).</p></li>
<li><p align="justify"><b>Audio/video editors</b>: <a href="http://kde-apps.org/content/show.php?content=29024">kdenlive</a> is used as video editor, <a href="http://kde-apps.org/content/show.php?content=29024">soundkonverter</a> is used as audio editor, <a href="https://wiki.gnome.org/Apps/EasyTAG">easytag</a> is used for editing audio tags (unfortunately, it is a gtk-based, but I didn't find a better tool for it). And command line and scripts written on bash are used too.</p></li>
<li><p><b>Audio/video editors</b>: <a href="http://kde-apps.org/content/show.php?content=29024">kdenlive</a> is used as video editor, <a href="http://kde-apps.org/content/show.php?content=29024">soundkonverter</a> is used as audio editor, <a href="https://wiki.gnome.org/Apps/EasyTAG">easytag</a> is used for editing audio tags (unfortunately, it is a gtk-based, but I didn't find a better tool for it). And command line and scripts written on bash are used too.</p></li>
<li><p align="justify"><b>Office</b>: <a href="http://wps-community.org/">Kingsoft Office</a> is used as alternative of Microsoft Office; it has no any feature, but it looks normally, it is qt-based and it is said that it has a good support for standart formats. (Linux version has an alfa stage.) <a href="http://kile.sourceforge.net/">Kile</a> is used as LaTeX frontend. <a href="http://kde.org/applications/graphics/okular/">Okular</a> is used as document viewer. And I use <a href="http://goldendict.org/">GoldenDict</a> as dictionary.</p></li>
<li><p><b>Office</b>: <a href="http://wps-community.org/">Kingsoft Office</a> is used as alternative of Microsoft Office; it has no any feature, but it looks normally, it is qt-based and it is said that it has a good support for standart formats. (Linux version has an alfa stage.) <a href="http://kile.sourceforge.net/">Kile</a> is used as LaTeX frontend. <a href="http://kde.org/applications/graphics/okular/">Okular</a> is used as document viewer. And I use <a href="http://goldendict.org/">GoldenDict</a> as dictionary.</p></li>
<li><p align="justify"><b>Editors</b>: <a href="http://www.kde.org/applications/utilities/kwrite/">kwrite</a> is used as a simple text editor, <a href="http://www.kde.org/applications/utilities/kate/">kate</a> (and <a href="http://zaufi.github.io/kate-cpp-helper-plugin.html">cpp-helper</a> plugin) is used as advanced text editor. And I begin to use <a href="https://atom.io/">atom</a> now. And of cource I use vim in console.</p></li>
<li><p><b>Editors</b>: <a href="http://www.kde.org/applications/utilities/kwrite/">kwrite</a> is used as a simple text editor, <a href="http://www.kde.org/applications/utilities/kate/">kate</a> (and <a href="http://zaufi.github.io/kate-cpp-helper-plugin.html">cpp-helper</a> plugin) is used as advanced text editor. And I begin to use <a href="https://atom.io/">atom</a> now. And of cource I use vim in console.</p></li>
<li><p align="justify"><b>Scientific soft</b>. Chemical visualizers are <a href="http://www.ks.uiuc.edu/Research/vmd/">vmd</a>, <a href="http://www.cgl.ucsf.edu/chimera/">chimera</a> and <a href="http://pymol.org/">pymol</a>. Physics simulator is <a href="http://kde.org/applications/education/step/">step</a>. Calculator is <a href="http://kde.org/applications/education/kalgebra/">kalgebra</a> and console <a href="http://ipython.org/">ipython</a>. <a href="http://qtiplot.com/">Qtiplot</a> is used for drawing graphs and data analysis (scidavis, which is its fork, unfortunately, is half-dead), <a href="http://plasma-gate.weizmann.ac.il/Grace/">grace</a> is used for only drawing graphs. <a href="http://ruby.chemie.uni-freiburg.de/~martin/chemtool/chemtool.html">Chemtool</a> is used as alternative of ChemDraw.</p></li>
<li><p><b>Scientific soft</b>. Chemical visualizers are <a href="http://www.ks.uiuc.edu/Research/vmd/">vmd</a>, <a href="http://www.cgl.ucsf.edu/chimera/">chimera</a> and <a href="http://pymol.org/">pymol</a>. Physics simulator is <a href="http://kde.org/applications/education/step/">step</a>. Calculator is <a href="http://kde.org/applications/education/kalgebra/">kalgebra</a> and console <a href="http://ipython.org/">ipython</a>. <a href="http://qtiplot.com/">Qtiplot</a> is used for drawing graphs and data analysis (scidavis, which is its fork, unfortunately, is half-dead), <a href="http://plasma-gate.weizmann.ac.il/Grace/">grace</a> is used for only drawing graphs. <a href="http://ruby.chemie.uni-freiburg.de/~martin/chemtool/chemtool.html">Chemtool</a> is used as alternative of ChemDraw.</p></li>
<li><p align="justify"><b>System applications</b>. File manager is <a href="http://kde.org/applications/system/dolphin/">dolphin</a>, <a href="http://doublecmd.sourceforge.net/">doublecmd</a> is used as twin-panel manager. Terminal emulators are <a href="http://yakuake.kde.org/">yakuake</a> and <a href="http://software.schmorp.de/pkg/rxvt-unicode.html">urxvt</a> (as windowed emulator). Archiver graphical interface is <a href="http://kde.org/applications/utilities/ark/">ark</a>.</p></li>
<li><p><b>System applications</b>. File manager is <a href="http://kde.org/applications/system/dolphin/">dolphin</a>, <a href="http://doublecmd.sourceforge.net/">doublecmd</a> is used as twin-panel manager. Terminal emulators are <a href="http://yakuake.kde.org/">yakuake</a> and <a href="http://software.schmorp.de/pkg/rxvt-unicode.html">urxvt</a> (as windowed emulator). Archiver graphical interface is <a href="http://kde.org/applications/utilities/ark/">ark</a>.</p></li>
</ul>
<h2><a name="kde" class="anchor" href="#kde"><span class="octicon octicon-link"></span></a>KDE settings</h2>
<p align="justify">Here is a screenshot:<br>
<p>Here is a screenshot:<br>
<a href="/resources/screenshots/kde.png"><img src="/resources/preview/kde_prev.jpg"></a></p>
<p align="justify">QtCurve is used as Qt style, its settings may be found <a href="https://github.com/arcan1s/dotfiles/tree/master/qtcurve">here</a>, window decorations are presented by QtCurve too. Cursor theme is <a href="http://kde-look.org/content/show.php/Ecliz?content=110340">ecliz-small</a>. Plasma theme is <a href="http://kde-look.org/content/show.php/Volatile?content=128110">volatile</a>. Icon pack is <a href="http://nitrux.in/">compass</a>. I use fonts which are based on Liberation.</p>
<p>QtCurve is used as Qt style, its settings may be found <a href="https://github.com/arcan1s/dotfiles/tree/master/qtcurve">here</a>, window decorations are presented by QtCurve too. Cursor theme is <a href="http://kde-look.org/content/show.php/Ecliz?content=110340">ecliz-small</a>. Plasma theme is <a href="http://kde-look.org/content/show.php/Volatile?content=128110">volatile</a>. Icon pack is <a href="http://nitrux.in/">compass</a>. I use fonts which are based on Liberation.</p>
<p align="justify"><b>Used widgets</b> (from left to right, top to bottom) are: <a href="https://launchpad.net/plasma-widget-menubar">menubar</a>, <a href="http://userbase.kde.org/Homerun">homerun</a> with transparent icon, <a href="http://kde-apps.org/content/show.php?content=144808">icontask</a>, <a href="/projects/netctl-gui/">netctl</a>, default KDE tray, <a href="http://agateau.com/projects/colibri/">colibri</a> for notifications, <a href="/projects/pytextmonitor">pytextmonitor</a>.</p>
<p><b>Used widgets</b> (from left to right, top to bottom) are: <a href="https://launchpad.net/plasma-widget-menubar">menubar</a>, <a href="http://userbase.kde.org/Homerun">homerun</a> with transparent icon, <a href="http://kde-apps.org/content/show.php?content=144808">icontask</a>, <a href="/projects/netctl-gui/">netctl</a>, default KDE tray, <a href="http://agateau.com/projects/colibri/">colibri</a> for notifications, <a href="/projects/pytextmonitor">pytextmonitor</a>.</p>
<p align="justify">As a bonus material <a href="https://github.com/arcan1s/dotfiles/blob/master/themes/yakuake/My%20color.colorscheme">here</a> is a settings for konsole bright colors:<br>
<p>As a bonus material <a href="https://github.com/arcan1s/dotfiles/blob/master/themes/yakuake/My%20color.colorscheme">here</a> is a settings for konsole bright colors:<br>
<a href="/resources/screenshots/zshrc_demo.png"><img src="/resources/preview/zshrc_demo_prev.jpg"></a></p>
<h2><a name="firefox" class="anchor" href="#firefox"><span class="octicon octicon-link"></span></a>Firefox settings</h2>
<p align="justify">I do not use a special settings, thus I get you a list of used add-ons:</p>
<p>I do not use a special settings, thus I get you a list of used add-ons:</p>
<ul>
<li><p align="justify"><b>Adblock plus</b>.</p></li>
<li><p align="justify"><b>Add to search bar</b> is used for custom searchs.</p></li>
<li><p align="justify"><b>Auto Refresh</b> is used for auto update pages.</p></li>
<li><p align="justify"><b>Clone tab</b> adds "Clone tab" function.</p></li>
<li><p align="justify"><b>Close tab by double click</b>.</p></li>
<li><p align="justify"><b>New scrollbars</b> is used for customizing scrollbars, because original ones look horrible in Qt environment.</p></li>
<li><p align="justify"><b>NoScript</b> is used for I2P and Tor, for example.</p></li>
<li><p align="justify"><b>PrivateTab</b> adds private tab (not the window).</p></li>
<li><p align="justify"><b>Proxy Selector</b> adds an ability to use multiple proxies.</p></li>
<li><p align="justify"><b>QuickJava</b> is used with the same goal as NoScript.</p></li>
<li><p align="justify"><b>RSS icon in url bar</b>.</p></li>
<li><p align="justify"><b>Dictionaries for spellchecking</b> (eng/rus).</p></li>
<li><p align="justify"><b>Space Next</b>. If I tap a space at the bottom of a page, it will be perceived as pushing the "Next" button.</p></li>
<li><p align="justify"><b>Speed Dial</b> is a simple express panel.</p></li>
<li><p align="justify"><b>Status-4-Evar</b> is a normal status bar.</p></li>
<li><p align="justify"><b>tab delabelifier</b> minimizes inactive tabs.</p></li>
<li><p align="justify"><b>Tab Scope + Tab Scope Tweaker</b> is tab tooltip.</p></li>
<li><p align="justify"><b>accessKey</b> does not work now. But it is needed for easy navigation from keyboard (opera-like).</p></li>
<li><p align="justify"><b>FXOpera</b> is a normal minimalistic appearance.</p></li>
<li><p><b>Adblock plus</b>.</p></li>
<li><p><b>Add to search bar</b> is used for custom searchs.</p></li>
<li><p><b>Auto Refresh</b> is used for auto update pages.</p></li>
<li><p><b>Clone tab</b> adds "Clone tab" function.</p></li>
<li><p><b>Close tab by double click</b>.</p></li>
<li><p><b>New scrollbars</b> is used for customizing scrollbars, because original ones look horrible in Qt environment.</p></li>
<li><p><b>NoScript</b> is used for I2P and Tor, for example.</p></li>
<li><p><b>PrivateTab</b> adds private tab (not the window).</p></li>
<li><p><b>Proxy Selector</b> adds an ability to use multiple proxies.</p></li>
<li><p><b>QuickJava</b> is used with the same goal as NoScript.</p></li>
<li><p><b>RSS icon in url bar</b>.</p></li>
<li><p><b>Dictionaries for spellchecking</b> (eng/rus).</p></li>
<li><p><b>Space Next</b>. If I tap a space at the bottom of a page, it will be perceived as pushing the "Next" button.</p></li>
<li><p><b>Speed Dial</b> is a simple express panel.</p></li>
<li><p><b>Status-4-Evar</b> is a normal status bar.</p></li>
<li><p><b>tab delabelifier</b> minimizes inactive tabs.</p></li>
<li><p><b>Tab Scope + Tab Scope Tweaker</b> is tab tooltip.</p></li>
<li><p><b>accessKey</b> does not work now. But it is needed for easy navigation from keyboard (opera-like).</p></li>
<li><p><b>FXOpera</b> is a normal minimalistic appearance.</p></li>
</ul>

View File

@ -8,20 +8,20 @@ short: disabling-baloo
description: Paper, which describes how to remove the dependency on baloo in your system.
---
<h2><a name="disclaimer" class="anchor" href="#disclaimer"><span class="octicon octicon-link"></span></a>Disclaimer</h2>
<p align="justify">I do not use this pacth, since I prefer less destructive methods. However, apparently all works fine, because there is no any claims. Since this patch was created in a few minutes, it removes all baloo's calls from source files (maybe I'll create a normal patch sometime).</p>
<p>I do not use this pacth, since I prefer less destructive methods. However, apparently all works fine, because there is no any claims. Since this patch was created in a few minutes, it removes all baloo's calls from source files (maybe I'll create a normal patch sometime).</p>
<p align="justify">On other hand, I highly recommend to people, who do not use baloo for some reason, disable it from the settings menu (it was added it 4.13.1) or read this <a href="http://blog.andreascarpino.it/disabling-baloo-the-arch-way/">article</a>.</p>
<p>On other hand, I highly recommend to people, who do not use baloo for some reason, disable it from the settings menu (it was added it 4.13.1) or read this <a href="http://blog.andreascarpino.it/disabling-baloo-the-arch-way/">article</a>.</p>
<h2><a name="intro" class="anchor" href="#intro"><span class="octicon octicon-link"></span></a>Introduction</h2>
<p align="justify">In Archlinux <b>gwenview</b> and <b>kdepim</b> (and <b>baloo-widgets</b>) depend on baloo currently (2014-05-18). In the version 4.13.0 <b>kactivities</b> depends on baloo too (and I don't know why); but this dependency was not required explicitly, so it was enough just to rebuild the package by removing baloo from the list of dependencies.</p>
<p>In Archlinux <b>gwenview</b> and <b>kdepim</b> (and <b>baloo-widgets</b>) depend on baloo currently (2014-05-18). In the version 4.13.0 <b>kactivities</b> depends on baloo too (and I don't know why); but this dependency was not required explicitly, so it was enough just to rebuild the package by removing baloo from the list of dependencies.</p>
<h2><a name="gwenview" class="anchor" href="#gwenview"><span class="octicon octicon-link"></span></a>gwenview</h2>
<p align="justify">It's all quite simple. Developers have taken care of the wishes of ordinary users and added a special flag:</p>
<p>It's all quite simple. Developers have taken care of the wishes of ordinary users and added a special flag:</p>
{% highlight cmake %}
//Semantic info backend for Gwenview (Baloo/Fake/None)
GWENVIEW_SEMANTICINFO_BACKEND:STRING=Baloo
{% endhighlight %}
<p align="justify">Thus, we add requred cmake flag to the build script:</p>
<p>Thus, we add requred cmake flag to the build script:</p>
{% highlight bash %}
cmake ../gwenview-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
@ -31,7 +31,7 @@ cmake ../gwenview-${pkgver} \
{% endhighlight %}
<h2><a name="kdepim" class="anchor" href="#kdepim"><span class="octicon octicon-link"></span></a>kdepim</h2>
<p align="justify">Since everything was done in a hurry, I prefer to look at the source code using grep and to find all references to baloo. Needed strings (they are links to ballo in CMakeLists.txt, baloo's function calls and header declarations) were commented (I added some fake calls to the source code). You may find the patch <a href="https://gist.github.com/arcan1s/b698bb586faef627b3bb">here</a> (4.13.2). Download the patch, apply it to the source code and recompile kdepim.</p>
<p>Since everything was done in a hurry, I prefer to look at the source code using grep and to find all references to baloo. Needed strings (they are links to ballo in CMakeLists.txt, baloo's function calls and header declarations) were commented (I added some fake calls to the source code). You may find the patch <a href="https://gist.github.com/arcan1s/b698bb586faef627b3bb">here</a> (4.13.2). Download the patch, apply it to the source code and recompile kdepim.</p>
<h2><a name="packages" class="anchor" href="#packages"><span class="octicon octicon-link"></span></a>Packages</h2>
<p align="justify">All Archlinux packages for both architectures may be found in <a href="https://wiki.archlinux.org/index.php/Unofficial_user_repositories#arcanisrepo">my repository</a>.</p>
<p>All Archlinux packages for both architectures may be found in <a href="https://wiki.archlinux.org/index.php/Unofficial_user_repositories#arcanisrepo">my repository</a>.</p>

View File

@ -36,28 +36,28 @@ GS/CS d-(+) s: a-- C++++ UL+++>$ P L++ E--- W++ N !o !K w- !O M- !V PS+@ PE Y PG
<p align="center"><a href="/resources/screenshots/photo_siicm.png"><img src="/resources/preview/photo_siicm_prev.jpg"></a></p>
<p align="right"><i>Photo by Grineva O.V.</i></p>
<p align="justify">My name is Evgeniy Alekseev and I'm from Siberia (seriously, I was born in <a href="https://maps.google.com/maps?f=q&source=s_q&hl=ru&geocode=&q=russia,+Krasnoyarskiy+kray,+Sosnovoborsk&aq=&sll=56.133333,93.366667&sspn=0.100635,0.326843&vpsrc=6&g=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F,+Krasnoyarskiy+kray,+Sosnovoborsk&ie=UTF8&hq=&hnear=%D0%A1%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BE%D0%B1%D0%BE%D1%80%D1%81%D0%BA,+%D0%B3%D0%BE%D1%80%D0%BE%D0%B4+%D0%A1%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BE%D0%B1%D0%BE%D1%80%D1%81%D0%BA,+%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D1%8F%D1%80%D1%81%D0%BA%D0%B8%D0%B9+%D0%BA%D1%80%D0%B0%D0%B9,+%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&ll=56.316537,95.712891&spn=25.891057,83.671875&t=m&z=4&iwloc=A">Siberia</a>). In the global Internet I have usually nickname <code>arcan1s</code>, but in the Russian segment it is usually <code>arcanis</code>. I'm a graduate of <a href="http://www.chem.msu.ru/">the Department of Chemistry</a>, Moscow State University and now I'm a PhD student and working in my University. My speciality is a theoretical chemistry (like molecular physics and some of quantum chemistry).</p>
<p>My name is Evgeniy Alekseev and I'm from Siberia (seriously, I was born in <a href="https://maps.google.com/maps?f=q&source=s_q&hl=ru&geocode=&q=russia,+Krasnoyarskiy+kray,+Sosnovoborsk&aq=&sll=56.133333,93.366667&sspn=0.100635,0.326843&vpsrc=6&g=%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F,+Krasnoyarskiy+kray,+Sosnovoborsk&ie=UTF8&hq=&hnear=%D0%A1%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BE%D0%B1%D0%BE%D1%80%D1%81%D0%BA,+%D0%B3%D0%BE%D1%80%D0%BE%D0%B4+%D0%A1%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BE%D0%B1%D0%BE%D1%80%D1%81%D0%BA,+%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D1%8F%D1%80%D1%81%D0%BA%D0%B8%D0%B9+%D0%BA%D1%80%D0%B0%D0%B9,+%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F&ll=56.316537,95.712891&spn=25.891057,83.671875&t=m&z=4&iwloc=A">Siberia</a>). In the global Internet I have usually nickname <code>arcan1s</code>, but in the Russian segment it is usually <code>arcanis</code>. I'm a graduate of <a href="http://www.chem.msu.ru/">the Department of Chemistry</a>, Moscow State University and now I'm a PhD student and working in my University. My speciality is a theoretical chemistry (like molecular physics and some of quantum chemistry).</p>
<p align="justify">At leisure I write small applications on C, C++ and Python (and some application scripts on Shell). In order not to seem like a bearded nerd sometimes I listen music and read <a href="http://en.wikipedia.org/wiki/Robert_Jordan">Robert Jordan's</a> or <a href="http://en.wikipedia.org/wiki/George_R.R._Martin">George R.R. Martin's</a> books (or other similar). (But my friends tell me that I still look like a bearded nerd.) Music that I usually listen may be found on <a href="ftp://repo.arcanis.name/">my home server</a>.</p>
<p>At leisure I write small applications on C, C++ and Python (and some application scripts on Shell). In order not to seem like a bearded nerd sometimes I listen music and read <a href="http://en.wikipedia.org/wiki/Robert_Jordan">Robert Jordan's</a> or <a href="http://en.wikipedia.org/wiki/George_R.R._Martin">George R.R. Martin's</a> books (or other similar). (But my friends tell me that I still look like a bearded nerd.) Music that I usually listen may be found on <a href="ftp://repo.arcanis.name/">my home server</a>.</p>
<label class="spoiler">
<input type="checkbox" tabindex="-1">
<div class="box">
<p align="justify">The connection information
<p>The connection information
<blockquote>
User is <code>music</code>, password is the same.</p>
</blockquote>
</div>
</label>
<p align="justify">Also I'm an <a href="https://www.archlinux.org/">Archlinux</a> user (maybe that's why I look like a bearded nerd). And in October 2013 I became an Archlinux Trusted User:</p>
<p>Also I'm an <a href="https://www.archlinux.org/">Archlinux</a> user (maybe that's why I look like a bearded nerd). And in October 2013 I became an Archlinux Trusted User:</p>
<blockquote cite="https://wiki.archlinux.org/index.php/AUR_Trusted_User_Guidelines/">
The Trusted User (TU) is a member of the community charged with keeping the AUR in working order. He/she maintains popular packages (communicating with and sending patches upstream as needed), and votes in administrative matters. A TU is elected from active community members by current TUs in a democratic process. TUs are the only members who have a final say in the direction of the AUR.</blockquote>
<p align="right">&copy; <a href="https://wiki.archlinux.org/index.php/AUR_Trusted_User_Guidelines/">ArchWiki</a></p>
<p align="justify">All contact information can be found on the left. Feel free to contact me with any questions. Oh, wait! If you will write me to ICQ or jabber you must correctly answer antispam bot's question first. The question is:</p>
<p>All contact information can be found on the left. Feel free to contact me with any questions. Oh, wait! If you will write me to ICQ or jabber you must correctly answer antispam bot's question first. The question is:</p>
{% highlight c %}
int i = 1;
i = ++i + ++i;
return i;
{% endhighlight %}
<p align="justify">And the correct answer is <code>5</code> (or <code>6</code>, as you wish).</p>
<p>And the correct answer is <code>5</code> (or <code>6</code>, as you wish).</p>

View File

@ -12,11 +12,11 @@ title: Authors
</header>
<section>
<p align="justify">The code and content of this site is licensed under <a href="http://people.freebsd.org/~phk">Beerware</a> license:</p>
<blockquote><p align="justify">"THE BEER-WARE LICENSE" (Revision 42):<br>
<p>The code and content of this site is licensed under <a href="http://people.freebsd.org/~phk">Beerware</a> license:</p>
<blockquote><p>"THE BEER-WARE LICENSE" (Revision 42):<br>
Evgeniy Alekseev wrote this file. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.</p></blockquote>
<p align="justify">This site uses:
<p>This site uses:
<ul>
<li><a href="http://jekyllrb.com/">Jekyll</a> that licensed under <a href="http://opensource.org/licenses/MIT">MIT License</a>.</li>
<li>The source theme was created by <a href="https://github.com/orderedlist/minimal">Steve Smith</a> and licensed under <a href="http://creativecommons.org/licenses/by/3.0">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.</li>
@ -28,6 +28,6 @@ Evgeniy Alekseev wrote this file. As long as you retain this notice you can do w
</ul>
</p>
<p align="justify">Special thanks to <a href="http://monztruo.deviantart.com/">Monztruo</a>, I borrowed <a href="http://monztruo.deviantart.com/art/Zalgo-Pacman-v1-194649946">his icon</a>.</p>
<p>Special thanks to <a href="http://monztruo.deviantart.com/">Monztruo</a>, I borrowed <a href="http://monztruo.deviantart.com/art/Zalgo-Pacman-v1-194649946">his icon</a>.</p>
<p align="center">&copy; Evgeniy Alekseev, 2014-{{ site.time | date: '%Y' }}</p>

View File

@ -15,7 +15,7 @@ back: 1
{% for post in site.categories.en limit:10 %}
<h1><a name="{{ post.short }}" class="anchor" href="#{{ post.short }}"><span class="octicon octicon-link"></span></a><a href="{{ post.url }}">{{ post.title }}</a></h1>
<p align="justify"><i>{{ post.date | date_to_string }}</i></p>
<p align="justify">{{ post.description }}</p>
<p align="justify"><b>Tags</b>: {{ post.tags }}</p>
<p><i>{{ post.date | date_to_string }}</i></p>
<p>{{ post.description }}</p>
<p><b>Tags</b>: {{ post.tags }}</p>
{% endfor %}

View File

@ -42,10 +42,10 @@ title: arcanis' homepage
<section>
<h3><a name="welcome" class="anchor" href="#welcome"><span class="octicon octicon-link"></span></a>Welcome</h3>
<p align="justify">Welcome to my homepage, <code>`echo $USERNAME`</code>. You may read about me on <a href="/about">the link</a>. I'm sorry I don't know html/php/ruby/etc (but I know GoogleFOO! At least, I think so), therefore this page may not look very pretty. But I tried (or may be not). In the blog I will write some papers about science, programming, living in Archlinux system and may be package maintaining. Also I will create pages for some of <a href="https://github.com/arcan1s">my projects</a>.</p>
<p>Welcome to my homepage, <code>`echo $USERNAME`</code>. You may read about me on <a href="/about">the link</a>. I'm sorry I don't know html/php/ruby/etc (but I know GoogleFOO! At least, I think so), therefore this page may not look very pretty. But I tried (or may be not). In the blog I will write some papers about science, programming, living in Archlinux system and may be package maintaining. Also I will create pages for some of <a href="https://github.com/arcan1s">my projects</a>.</p>
<h3><a name="contact" class="anchor" href="#contact"><span class="octicon octicon-link"></span></a>Contact me</h3>
<p align="justify">If you have a question or something else you may <a href="/about">contact me</a>. If you want to suggest a pull request or to create a bug report for these pages (or may be for some other projects) feel free to visit <a href="https://github.com/arcan1s">my Github profile</a> and do it.</p>
<p>If you have a question or something else you may <a href="/about">contact me</a>. If you want to suggest a pull request or to create a bug report for these pages (or may be for some other projects) feel free to visit <a href="https://github.com/arcan1s">my Github profile</a> and do it.</p>
<h3><a name="search" class="anchor" href="#search"><span class="octicon octicon-link"></span></a>Site search</h3>
{% include cse.html %}

View File

@ -11,7 +11,7 @@ links:
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#info"><span class="octicon octicon-link"></span></a>Information</h2>
<p align="justify">Simple daemon that automatically creates git repository in the given directory and creates commit at the specified time interval.</p>
<p>Simple daemon that automatically creates git repository in the given directory and creates commit at the specified time interval.</p>
{% highlight bash %}
$ git-etc --help
Simple daemon written on BASH for monitoring changes in files
@ -57,20 +57,20 @@ See "man 1 ctrlconf" for more details
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Instruction</h3>
<ul>
<li><p align="justify">Download an <a href="https://github.com/arcan1s/git-etc/releases">archive</a> with latest version of source files.</p></li>
<li><p align="justify">Extract it and install the application:</p>
<li><p>Download an <a href="https://github.com/arcan1s/git-etc/releases">archive</a> with latest version of source files.</p></li>
<li><p>Extract it and install the application:</p>
{% highlight bash %}
./install.sh "/path/to/root"
{% endhighlight %}
<p align="justify">If you want install it to <code>/</code> you must run it as root, e.g.:</p>
<p>If you want install it to <code>/</code> you must run it as root, e.g.:</p>
{% highlight bash %}
sudo ./install.sh
{% endhighlight %}
<p align="justify">If no path is specified it will be installed to <code>/</code> by default.</p></li>
<p>If no path is specified it will be installed to <code>/</code> by default.</p></li>
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Dependencies</h3>
<p align="justify">I want note that all were tested on latest version of dependencies.</p>
<p>I want note that all were tested on latest version of dependencies.</p>
<ul>
<li>Bash (including awk, grep, sed)</li>
<li>git</li>
@ -83,27 +83,27 @@ sudo ./install.sh
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>How to use</h2>
<p align="justify">If you want to start the daemon into <code>/etc</code> just run</p>
<p>If you want to start the daemon into <code>/etc</code> just run</p>
{% highlight bash %}
systemctl start git-etc
{% endhighlight %}
<p align="justify">If you want to enable daemon autoload run</p>
<p>If you want to enable daemon autoload run</p>
{% highlight bash %}
systemctl enable git-etc
{% endhighlight %}
<p align="justify">But you may change path to configuration file or change parameters. To do it just copy (recommended) the source configuration file to new path</p>
<p>But you may change path to configuration file or change parameters. To do it just copy (recommended) the source configuration file to new path</p>
{% highlight bash %}
cp /etc/git-etc.conf /new/path/to/file/git-etc.conf
{% endhighlight %}
<p align="justify">and edit it. Then copy the source service file to <code>/etc</code>:</p>
<p>and edit it. Then copy the source service file to <code>/etc</code>:</p>
{% highlight bash %}
cp /usr/lib/systemd/system/git-etc.service /etc/systemd/system/git-etc-my-profile.service
{% endhighlight %}
<p align="justify">Replace following string in the file:</p>
<p>Replace following string in the file:</p>
{% highlight bash %}
ExecStart=/usr/bin/git-etc -c /etc/git-etc.conf
{% endhighlight %}
<p align="justify">to</p>
<p>to</p>
{% highlight bash %}
ExecStart=/usr/bin/git-etc -c /new/path/to/file/git-etc.conf
{% endhighlight %}
@ -111,7 +111,7 @@ ExecStart=/usr/bin/git-etc -c /new/path/to/file/git-etc.conf
<!-- config block -->
<h2><a name="config" class="anchor" href="#config"><span class="octicon octicon-link"></span></a>Configuration</h2>
<p align="justify">All settings are stored in <code>/etc/git-etc.conf</code>. After edit them you must restart daemon</p>
<p>All settings are stored in <code>/etc/git-etc.conf</code>. After edit them you must restart daemon</p>
{% highlight bash %}
systemctl restart git-etc
{% endhighlight %}
@ -120,33 +120,33 @@ systemctl restart git-etc
<table>
<tr>
<th>DIRECTORY</th>
<td><p align="justify">Full path to working directory with observed files. Default is <code>/etc</code>.</p></td>
<td><p>Full path to working directory with observed files. Default is <code>/etc</code>.</p></td>
</tr>
<tr>
<th>TIMESLEEP</th>
<td><p align="justify">Time interval between updates, hours. It must be integer and >= 1. Default is <code>12</code>.</p></td>
<td><p>Time interval between updates, hours. It must be integer and >= 1. Default is <code>12</code>.</p></td>
</tr>
<tr>
<th>IGNORELIST</th>
<td><p align="justify">List of files that will not be observed. Separator is ";;". May be empty.</td>
<td><p>List of files that will not be observed. Separator is ";;". May be empty.</td>
</tr>
<tr>
<th>FORALL</th>
<td><p align="justify"><code>1</code> will enable access for normal user. Default is <code>1</code>.</td>
<td><p><code>1</code> will enable access for normal user. Default is <code>1</code>.</td>
</tr>
</table>
<!-- end of config block -->
<!-- gui block -->
<h2><a name="gui" class="anchor" href="#gui"><span class="octicon octicon-link"></span></a>Graphical user interface</h2>
<p align="justify">Control Config (<code>ctrlconf</code>) is GUI for <code>git-etc</code> daemon written on <code>Python2/PyQt4</code>. This application allows you to view a list of commits and changes in files recorded in commit messages. Also, this application allows you to roll back to a specific commit all files (<code>git reset --hard</code>) or individual files (<code>git diff && git apply</code>). And you may merge old and new configuration files (used two branches repository - master and experimental). The application may need root privileges. Make sure that <code>sudo</code> package is installed.</p>
<p>Control Config (<code>ctrlconf</code>) is GUI for <code>git-etc</code> daemon written on <code>Python2/PyQt4</code>. This application allows you to view a list of commits and changes in files recorded in commit messages. Also, this application allows you to roll back to a specific commit all files (<code>git reset --hard</code>) or individual files (<code>git diff && git apply</code>). And you may merge old and new configuration files (used two branches repository - master and experimental). The application may need root privileges. Make sure that <code>sudo</code> package is installed.</p>
<h3><a name="gui_configuration" class="anchor" href="#gui_configuration"><span class="octicon octicon-link"></span></a>Configuration</h3>
<p align="justify">Just run the application and open the settings window from menu!</p>
<p>Just run the application and open the settings window from menu!</p>
<h3><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Screenshots</h3>
<p align="justify">(Screenshots in Russian, but GUI has English translation.)</p>
<p align="justify">Main window:<br>
<p>(Screenshots in Russian, but GUI has English translation.)</p>
<p>Main window:<br>
<a href="/resources/screenshots/git-etc_mainwindow.png"><img src="/resources/preview/git-etc_mainwindow_prev.jpg"></a><br>
About window:<br>
<a href="/resources/screenshots/git-etc_aboutwindow.png"><img src="/resources/preview/git-etc_aboutwindow_prev.jpg"></a><br>

View File

@ -111,8 +111,8 @@ groups:
<h1><a name="{{ group.short }}" class="anchor" href="#{{ group.short }}"><span class="octicon octicon-link"></span></a>{{ group.title }}</a></h1>
{% for project in group.projects %}
<h2><a name="{{ project.short }}" class="anchor" href="#{{ project.short }}"><span class="octicon octicon-link"></span></a>{{ project.title }}</h2>
<p align="justify">{{ project.description }}</p>
<p align="justify"><ul>
<p>{{ project.description }}</p>
<p><ul>
{% for link in project.links %}
<li>{{ link }}</li>
{% endfor %}

View File

@ -13,8 +13,8 @@ links:
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#info"><span class="octicon octicon-link"></span></a>Information</h2>
<p align="justify">Graphical interface for <code>netctl</code> (several scripts for work with network connection in Archlinux). It is written on <code>CPP</code> using <code>Qt4</code> library. Now it may work with profiles and may create new profiles. Also it may create a connection to WiFi. Moreover, it provides a widget and DataEngine for KDE.</p>
<p align="justify"><b>NOTE:</b> LOOKING FOR TRANSLATORS!</p>
<p>Graphical interface for <code>netctl</code> (several scripts for work with network connection in Archlinux). It is written on <code>CPP</code> using <code>Qt4</code> library. Now it may work with profiles and may create new profiles. Also it may create a connection to WiFi. Moreover, it provides a widget and DataEngine for KDE.</p>
<p><b>NOTE:</b> LOOKING FOR TRANSLATORS!</p>
{% highlight bash %}
$ netctl-gui --help
Netctl GUI
@ -44,7 +44,7 @@ Parametrs:
</ul>
<h3><a name="changelog" class="anchor" href="#changelog"><span class="octicon octicon-link"></span></a>Changelog</h3>
<p align="justify"><a href="https://github.com/arcan1s/netctl-gui/blob/master/CHANGELOG">CHANGELOG</a></p>
<p><a href="https://github.com/arcan1s/netctl-gui/blob/master/CHANGELOG">CHANGELOG</a></p>
<!-- end of info block -->
<!-- install block -->
@ -52,9 +52,9 @@ Parametrs:
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Instruction</h3>
<ul>
<li><p align="justify">Download an <a href="https://github.com/arcan1s/netctl-gui/releases">archive</a> with latest version of source files.</p></li>
<li><p align="justify">Extract it and install the application:</p>
<p align="justify">If you want install it into <code>/</code>, you should run as root following commands:</p>
<li><p>Download an <a href="https://github.com/arcan1s/netctl-gui/releases">archive</a> with latest version of source files.</p></li>
<li><p>Extract it and install the application:</p>
<p>If you want install it into <code>/</code>, you should run as root following commands:</p>
{% highlight bash %}
cd /path/to/extracted/archive
mkdir build && cd build
@ -62,18 +62,18 @@ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../
make
sudo make install
{% endhighlight %}
<p align="justify">Available cmake flags are:</p>
<p>Available cmake flags are:</p>
<ul>
<li><p align="justify"><code>-DBUILD_DATAENGINE:BOOL=0</code> - do not build DataEngine;</p></li>
<li><p align="justify"><code>-DBUILD_GUI:BOOL=0</code> - do not build GUI;</p></li>
<li><p align="justify"><code>-DBUILD_PLASMOID:BOOL=0</code> - do not build Plasmoid;</p></li>
<li><p align="justify"><code>-DUSE_QT5:BOOL=0</code> - use Qt4 instead of Qt5 for GUI.</p></li>
<li><p><code>-DBUILD_DATAENGINE:BOOL=0</code> - do not build DataEngine;</p></li>
<li><p><code>-DBUILD_GUI:BOOL=0</code> - do not build GUI;</p></li>
<li><p><code>-DBUILD_PLASMOID:BOOL=0</code> - do not build Plasmoid;</p></li>
<li><p><code>-DUSE_QT5:BOOL=0</code> - use Qt4 instead of Qt5 for GUI.</p></li>
</ul>
</li>
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Dependencies</h3>
<p align="justify">I want note that all were tested on latest version of dependencies.</p>
<p>I want note that all were tested on latest version of dependencies.</p>
<ul>
<li>netctl</li>
<li>qt5-base <i>(if Qt5 is used)</i> <b>or</b> qt4 <i>(if Qt4 is used)</i></li>
@ -88,45 +88,45 @@ sudo make install
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>How to use</h2>
<p align="justify">Just run application <code>netctl-gui</code>. If it is needed (and if you use KDE), you may add widget <code>netctl</code>, which provides by the application.</p>
<p>Just run application <code>netctl-gui</code>. If it is needed (and if you use KDE), you may add widget <code>netctl</code>, which provides by the application.</p>
<!-- end of howto block -->
<!-- config block -->
<h2><a name="config" class="anchor" href="#config"><span class="octicon octicon-link"></span></a>Configuration</h2>
<p align="justify">It is recommended to use graphical interface for widget configuration. DataEngine settings are stored in <code>/usr/share/config/netctl.conf</code></p>
<p>It is recommended to use graphical interface for widget configuration. DataEngine settings are stored in <code>/usr/share/config/netctl.conf</code></p>
<table>
<tr>
<th>CMD</th>
<td><p align="justify"><code>netctl</code> command. Default value is <code>/usr/bin/netctl</code>.</p></td>
<td><p><code>netctl</code> command. Default value is <code>/usr/bin/netctl</code>.</p></td>
</tr>
<tr>
<th>IPCMD</th>
<td><p align="justify"><code>ip</code> command. <code>/usr/bin/ip</code> by default.</p></td>
<td><p><code>ip</code> command. <code>/usr/bin/ip</code> by default.</p></td>
</tr>
<tr>
<th>NETDIR</th>
<td><p align="justify">A directory, which contains subdirectories with names of network interfaces. Default is <code>/sys/class/net/</code>.</p></td>
<td><p>A directory, which contains subdirectories with names of network interfaces. Default is <code>/sys/class/net/</code>.</p></td>
</tr>
<tr>
<th>EXTIPCMD</th>
<td><p align="justify">A command, which returns external IP address. Default value is <code>wget -qO- http://ifconfig.me/ip</code>.</p></td>
<td><p>A command, which returns external IP address. Default value is <code>wget -qO- http://ifconfig.me/ip</code>.</p></td>
</tr>
<tr>
<th>EXTIP</th>
<td><p align="justify"><code>true</code> will enable external IP definition. Default is <code>false</code>.</p></td>
<td><p><code>true</code> will enable external IP definition. Default is <code>false</code>.</p></td>
</tr>
</table>
<!-- end of config block -->
<!-- gui block -->
<h2><a name="gui" class="anchor" href="#gui"><span class="octicon octicon-link"></span></a>Graphical user interface</h2>
<p align="justify">Graphical interface provides by <code>netctl-gui</code> application.</p>
<p>Graphical interface provides by <code>netctl-gui</code> application.</p>
<h3><a name="gui_configuration" class="anchor" href="#gui_configuration"><span class="octicon octicon-link"></span></a>Configuration</h3>
<p align="justify">All settings of GUI are stored in <code>$HOME/.config/netctl-gui.conf</code>. It is highly recommended to edit it from graphical interface.</p>
<p>All settings of GUI are stored in <code>$HOME/.config/netctl-gui.conf</code>. It is highly recommended to edit it from graphical interface.</p>
<h3><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Screenshots</h3>
<p align="justify">DataEngine:<br>
<p>DataEngine:<br>
<a href="/resources/screenshots/netctl_dataengine.png"><img src="/resources/preview/netctl_dataengine_prev.jpg"></a><br>
Widget:<br>
<a href="/resources/screenshots/netctl_plasmoid.png"><img src="/resources/preview/netctl_plasmoid_prev.jpg"></a><br>

View File

@ -12,7 +12,7 @@ links:
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#info"><span class="octicon octicon-link"></span></a>Information</h2>
<p align="justify">Plasmoid written on <code>CPP</code> that displays a random draw from Brian Eno and Peter Schmidt's <a href="http://en.wikipedia.org/wiki/Oblique_strategies">Oblique Strategies</a>. It is <a href="http://gnome-look.org/content/show.php/Oblique+Strategies?content=78405">GNOME applet</a> fork with some of special features.</p>
<p>Plasmoid written on <code>CPP</code> that displays a random draw from Brian Eno and Peter Schmidt's <a href="http://en.wikipedia.org/wiki/Oblique_strategies">Oblique Strategies</a>. It is <a href="http://gnome-look.org/content/show.php/Oblique+Strategies?content=78405">GNOME applet</a> fork with some of special features.</p>
<h3><a name="devel" class="anchor" href="#devel"><span class="octicon octicon-link"></span></a>Developers and contributors</h3>
<ul>
@ -32,8 +32,8 @@ links:
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Instruction</h3>
<ul>
<li><p align="justify">Download an <a href="https://github.com/arcan1s/oblikuestrategies/releases">archive</a> with latest version of source files.</p></li>
<li><p align="justify">Extract it and install the application. For global isntallation type:</p>
<li><p>Download an <a href="https://github.com/arcan1s/oblikuestrategies/releases">archive</a> with latest version of source files.</p></li>
<li><p>Extract it and install the application. For global isntallation type:</p>
{% highlight bash %}
cd /where/is/applet/
mkdir build && cd build
@ -41,7 +41,7 @@ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=Release .
make
sudo make install
{% endhighlight %}
<p align="justify">For local isntallation type:</p>
<p>For local isntallation type:</p>
{% highlight bash %}
cd /where/is/applet/
mkdir build && cd build
@ -49,18 +49,18 @@ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --localprefix` -DCMAKE_BUILD_TYPE=Rele
make
make install
{% endhighlight %}</li>
<li><p align="justify">Restart plasma to load the applet:</p>
<li><p>Restart plasma to load the applet:</p>
{% highlight bash %}
kquitapp plasma-desktop && sleep 2 && plasma-desktop
{% endhighlight %}
<p align="justify">Also you might need to run <code>kbuildsycoca4</code> in order to get the <code>*.desktop</code> file recognized:</p>
<p>Also you might need to run <code>kbuildsycoca4</code> in order to get the <code>*.desktop</code> file recognized:</p>
{% highlight bash %}
kbuildsycoca4 &> /dev/null
{% endhighlight %}</li>
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Dependencies</h3>
<p align="justify">I want note that all were tested on latest version of dependencies.</p>
<p>I want note that all were tested on latest version of dependencies.</p>
<ul>
<li>kdebase-workspace</li>
<li>automoc4 <i>(make)</i></li>
@ -70,19 +70,19 @@ kbuildsycoca4 &> /dev/null
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>How to use</h2>
<p align="justify">Open your Plasma widgets and select <code>Oblikue strategies</code>.</p>
<p>Open your Plasma widgets and select <code>Oblikue strategies</code>.</p>
<!-- end of howto block -->
<!-- config block -->
<h2><a name="config" class="anchor" href="#config"><span class="octicon octicon-link"></span></a>Configuration</h2>
<p align="justify">Right click on widget.</p>
<p>Right click on widget.</p>
<!-- end of config block -->
<!-- gui block -->
<h2><a name="gui" class="anchor" href="#gui"><span class="octicon octicon-link"></span></a>Graphical user interface</h2>
<h3><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Screenshots</h3>
<p align="justify">Widget:<br>
<p>Widget:<br>
<a href="/resources/screenshots/oblikuestrategies_widget.png"><img src="/resources/preview/oblikuestrategies_widget_prev.jpg"></a><br>
Configuration window:<br>
<a href="/resources/screenshots/oblikuestrategies_config.png"><img src="/resources/preview/oblikuestrategies_config_prev.jpg"></a></p>

View File

@ -17,8 +17,8 @@ links:
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#information"><span class="octicon octicon-link"></span></a>Information</h2>
<p align="justify">A minimalistic Plasmoid script written on <code>Python2</code>. It looks like widgets in <a href="http://awesome.naquadah.org/">Awesome WM</a>. My plasmoid is highly and easily configurable and does not clutter your KDE system. Also this packages has an additional <a href="http://techbase.kde.org/Development/Tutorials/Plasma/DataEngines">DataEngine</a> written on <code>CPP</code> (old version was written on <code>Python2</code>).</p>
<p align="justify"><b>NOTE:</b> <a href="https://github.com/arcan1s/pytextmonitor/issues/14">LOOKING FOR TRANSLATORS!</a></p>
<p>A minimalistic Plasmoid script written on <code>Python2</code>. It looks like widgets in <a href="http://awesome.naquadah.org/">Awesome WM</a>. My plasmoid is highly and easily configurable and does not clutter your KDE system. Also this packages has an additional <a href="http://techbase.kde.org/Development/Tutorials/Plasma/DataEngines">DataEngine</a> written on <code>CPP</code> (old version was written on <code>Python2</code>).</p>
<p><b>NOTE:</b> <a href="https://github.com/arcan1s/pytextmonitor/issues/14">LOOKING FOR TRANSLATORS!</a></p>
<h3><a name="devel" class="anchor" href="#devel"><span class="octicon octicon-link"></span></a>Developers and contributors</h3>
<ul>
@ -33,7 +33,7 @@ links:
</ul>
<h3><a name="changelog" class="anchor" href="#changelog"><span class="octicon octicon-link"></span></a>Changelog</h3>
<p align="justify"><a href="https://github.com/arcan1s/pytextmonitor/blob/master/CHANGELOG">CHANGELOG</a></p>
<p><a href="https://github.com/arcan1s/pytextmonitor/blob/master/CHANGELOG">CHANGELOG</a></p>
<!-- end of info block -->
<!-- install block -->
@ -41,8 +41,8 @@ links:
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Instruction</h3>
<ul>
<li><p align="justify">Download an <a href="https://github.com/arcan1s/pytextmonitor/releases">archive</a> with latest version of source files.</p></li>
<li><p align="justify">Extract it and install:</p>
<li><p>Download an <a href="https://github.com/arcan1s/pytextmonitor/releases">archive</a> with latest version of source files.</p></li>
<li><p>Extract it and install:</p>
{% highlight bash %}
cd /where/is/applet/
mkdir build && cd build
@ -50,7 +50,7 @@ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`kde4-config --localpref
make
make install
{% endhighlight %}
<p align="justify">For global isntallation type:</p>
<p>For global isntallation type:</p>
{% highlight bash %}
cd /where/is/applet/
mkdir build && cd build
@ -61,7 +61,7 @@ sudo make install
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Dependencies</h3>
<p align="justify">I want note that all were tested on latest version of dependencies.</p>
<p>I want note that all were tested on latest version of dependencies.</p>
<ul>
<li>kdebase-workspace</li>
<li>kdebindings-python2</li>
@ -78,416 +78,416 @@ sudo make install
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>How to use</h2>
<p align="justify">Open your Plasma widgetes and select <code>Py Text Monitor</code>.</p>
<p>Open your Plasma widgetes and select <code>Py Text Monitor</code>.</p>
<h3><a name="tips" class="anchor" href="#tips"><span class="octicon octicon-link"></span></a>Tips & tricks</h3>
<p align="justify">You may use different colors for labels. Just put label text into html code. See <a href="https://github.com/arcan1s/pytextmonitor/issues/9">issue</a> for more details.</p>
<p>You may use different colors for labels. Just put label text into html code. See <a href="https://github.com/arcan1s/pytextmonitor/issues/9">issue</a> for more details.</p>
<p align="justify">Numbering of elements of temperature, HDD usage, HDD speed, HDD temperature refers to elements order from second tab (<i>Advanced settings</i>). You should add item to the required listWidget first. And the first element in the listWidget will be <code>$tag0</code>. See <a href="https://github.com/arcan1s/pytextmonitor/issues/17">issue</a> for more details.</p>
<p>Numbering of elements of temperature, HDD usage, HDD speed, HDD temperature refers to elements order from second tab (<i>Advanced settings</i>). You should add item to the required listWidget first. And the first element in the listWidget will be <code>$tag0</code>. See <a href="https://github.com/arcan1s/pytextmonitor/issues/17">issue</a> for more details.</p>
<!-- end of howto block -->
<!-- config block -->
<h2><a name="config" class="anchor" href="#config"><span class="octicon octicon-link"></span></a>Configuration</h2>
<h3><a name="deconf" class="anchor" href="#deconf"><span class="octicon octicon-link"></span></a>DataEngine configuration</h3>
<p align="justify">You may edit DataEngine configuration. It is <code>/usr/share/config/extsysmon.conf</code> or <code>$HOME/.kde4/share/config/extsysmon.conf</code> depending on the type of installation. Uncomment needed line and edit it.</p>
<p>You may edit DataEngine configuration. It is <code>/usr/share/config/extsysmon.conf</code> or <code>$HOME/.kde4/share/config/extsysmon.conf</code> depending on the type of installation. Uncomment needed line and edit it.</p>
<h4><a name="deoptions" class="anchor" href="#deoptions"><span class="octicon octicon-link"></span></a>DataEngine options</h4>
<table>
<tr>
<th>CUSTOM</th>
<td><p align="justify">Custom commands to run. Default is <code>wget -qO- http://ifconfig.me/ip</code>. Separator is <code>@@</code>.</td>
<td><p>Custom commands to run. Default is <code>wget -qO- http://ifconfig.me/ip</code>. Separator is <code>@@</code>.</td>
</tr>
<tr>
<th>GPUDEV</th>
<td><p align="justify">Set GPU device. May be <code>nvidia</code> (for nVidia), <code>ati</code> (for ATI Radeon), <code>disable</code> or <code>auto</code>. Default is <code>auto</code>.</p></td>
<td><p>Set GPU device. May be <code>nvidia</code> (for nVidia), <code>ati</code> (for ATI Radeon), <code>disable</code> or <code>auto</code>. Default is <code>auto</code>.</p></td>
</tr>
<tr>
<th>HDDDEV</th>
<td><p align="justify">Set block device for <code>hddtemp</code> comma separated or use <code>all</code>. <code>disable</code> will disable HDD temperature monitor. Default is <code>all</code>.</p></td>
<td><p>Set block device for <code>hddtemp</code> comma separated or use <code>all</code>. <code>disable</code> will disable HDD temperature monitor. Default is <code>all</code>.</p></td>
</tr>
<tr>
<th>HDDTEMPCMD</th>
<td><p align="justify">A command which will be run for hddtemp DataEngine. Default is <code>sudo hddtemp</code>.</p></td>
<td><p>A command which will be run for hddtemp DataEngine. Default is <code>sudo hddtemp</code>.</p></td>
</tr>
<tr>
<th>MPDADDRESS</th>
<td><p align="justify">MPD host address. Default is <code>localhost</code>.</td>
<td><p>MPD host address. Default is <code>localhost</code>.</td>
</tr>
<tr>
<th>MPDPORT</th>
<td><p align="justify">MPD host port. Default is <code>6600</code>.</td>
<td><p>MPD host port. Default is <code>6600</code>.</td>
</tr>
<tr>
<th>PKGCMD</th>
<td><p align="justify">Commands to run for package manager, comma separated.</td>
<td><p>Commands to run for package manager, comma separated.</td>
</tr>
<tr>
<th>PKGNULL</th>
<td><p align="justify">Number of null lines for commands, comma separated.</td>
<td><p>Number of null lines for commands, comma separated.</td>
</tr>
<tr>
<th>PLAYER</th>
<td><p align="justify">Set music player. Supported players are amarok, clementine, mpd, qmmp.</td>
<td><p>Set music player. Supported players are amarok, clementine, mpd, qmmp.</td>
</tr>
</table>
<h3><a name="widconf" class="anchor" href="#widconf"><span class="octicon octicon-link"></span></a>Widget configuration</h3>
<p align="justify">For edited output you must open Settings window and setup output format in lines. Label order will changed if you change slider position. HTML tags in label work normally.<br>
<p>For edited output you must open Settings window and setup output format in lines. Label order will changed if you change slider position. HTML tags in label work normally.<br>
<b>NOTE</b> You do not may set to show <code>$cpu</code> in swap label for example. <b><code>$cpu</code> will work only in cpu label.</b></p>
<p align="justify">Available flags are in the table below.<br>
<p>Available flags are in the table below.<br>
<b>NOTE</b> The numbering of all arrays in variables starts at 0.</p>
<table>
<tr>
<th rowspan="5">Time label</th>
<td><code>$time</code></td>
<td><p align="justify">Time in default format. For example, <code>fri Nov 6 04:48:01 2013</code>.</p></td>
<td><p>Time in default format. For example, <code>fri Nov 6 04:48:01 2013</code>.</p></td>
</tr>
<tr>
<td><code>$isotime</code></td>
<td><p align="justify">Time in ISO format.</p></td>
<td><p>Time in ISO format.</p></td>
</tr>
<tr>
<td><code>$shorttime</code></td>
<td><p align="justify">Time in short locale format.</p></td>
<td><p>Time in short locale format.</p></td>
</tr>
<tr>
<td><code>$longtime</code></td>
<td><p align="justify">Time in long locale format.</p></td>
<td><p>Time in long locale format.</p></td>
</tr>
<tr>
<td><code>$custom</code></td>
<td><p align="justify">Will enable custom time format.</p></td>
<td><p>Will enable custom time format.</p></td>
</tr>
<tr>
<th rowspan="2">Uptime label</th>
<td><code>$uptime</code></td>
<td><p align="justify">System uptime, <code>---d--h--m</code>.</p></td>
<td><p>System uptime, <code>---d--h--m</code>.</p></td>
</tr>
<tr>
<td><code>$custom</code></td>
<td><p align="justify">Will enable custom uptime format.</p></td>
<td><p>Will enable custom uptime format.</p></td>
</tr>
<tr>
<th rowspan="2">CPU label</th>
<td><code>$cpu</code></td>
<td><p align="justify">Total load CPU, %, <code>-----</code>.</p></td>
<td><p>Total load CPU, %, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$cpuN</code></td>
<td><p align="justify">Load CPU for core N, %, <code>-----</code>.</p></td>
<td><p>Load CPU for core N, %, <code>-----</code>.</p></td>
</tr>
<tr>
<th rowspan="2">CPU clock label</th>
<td><code>$cpucl</code></td>
<td><p align="justify">Average CPU clock, MHz, <code>----</code>.</p></td>
<td><p>Average CPU clock, MHz, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$cpuclN</code></td>
<td><p align="justify">CPU clock for core N, MHz, <code>----</code>.</p></td>
<td><p>CPU clock for core N, MHz, <code>----</code>.</p></td>
</tr>
<tr>
<th rowspan="1">Temperature label</th>
<td><code>$tempN</code></td>
<td><p align="justify">Temperature for device N, &deg;C, <code>----</code>. For example, <code>$temp0</code>.</p></td>
<td><p>Temperature for device N, &deg;C, <code>----</code>. For example, <code>$temp0</code>.</p></td>
</tr>
<tr>
<th rowspan="1">GPU label</th>
<td><code>$gpu</code></td>
<td><p align="justify">GPU usage, %, <code>-----</code>. <code>aticonfig</code> or <code>nvidia-smi</code> must be installed.</p></td>
<td><p>GPU usage, %, <code>-----</code>. <code>aticonfig</code> or <code>nvidia-smi</code> must be installed.</p></td>
</tr>
<tr>
<th rowspan="1">GPU temperature label</th>
<td><code>$gputemp</code></td>
<td><p align="justify">GPU temperature, &deg;C, <code>----</code>. <code>aticonfig</code> or <code>nvidia-smi</code> must be installed.</p></td>
<td><p>GPU temperature, &deg;C, <code>----</code>. <code>aticonfig</code> or <code>nvidia-smi</code> must be installed.</p></td>
</tr>
<tr>
<th rowspan="5">Memory label</th>
<td><code>$mem</code></td>
<td><p align="justify">Memory usage, %, <code>-----</code>.</p></td>
<td><p>Memory usage, %, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$memmb</code></td>
<td><p align="justify">Memory usage, MB, <code>-----</code>.</p></td>
<td><p>Memory usage, MB, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$memgb</code></td>
<td><p align="justify">Memory usage, GB, <code>----</code>.</p></td>
<td><p>Memory usage, GB, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$memtotmb</code></td>
<td><p align="justify">RAM, MB, <code>-----</code>.</p></td>
<td><p>RAM, MB, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$memtotgb</code></td>
<td><p align="justify">RAM, GB, <code>----</code>.</p></td>
<td><p>RAM, GB, <code>----</code>.</p></td>
</tr>
<tr>
<th rowspan="5">Swap label</th>
<td><code>$swap</code></td>
<td><p align="justify">Swap usage, %, <code>-----</code>.</p></td>
<td><p>Swap usage, %, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$swapmb</code></td>
<td><p align="justify">Swap usage, MB, <code>-----</code>.</p></td>
<td><p>Swap usage, MB, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$swapgb</code></td>
<td><p align="justify">Swap usage, GB, <code>----</code>.</p></td>
<td><p>Swap usage, GB, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$swaptotmb</code></td>
<td><p align="justify">Swap, MB, <code>-----</code>.</p></td>
<td><p>Swap, MB, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$swaptotgb</code></td>
<td><p align="justify">Swap, GB, <code>----</code>.</p></td>
<td><p>Swap, GB, <code>----</code>.</p></td>
</tr>
<tr>
<th rowspan="5">HDD usage label</th>
<td><code>$hddN</code></td>
<td><p align="justify">Usage for mount point N, %, <code>-----</code>. For example <code>$hdd0</code>.</p></td>
<td><p>Usage for mount point N, %, <code>-----</code>. For example <code>$hdd0</code>.</p></td>
</tr>
<tr>
<td><code>$hddmbN</code></td>
<td><p align="justify">Usage for mount point N, MB, <code>-----</code>. For example <code>$hddmb0</code>.</p></td>
<td><p>Usage for mount point N, MB, <code>-----</code>. For example <code>$hddmb0</code>.</p></td>
</tr>
<tr>
<td><code>$hddgbN</code></td>
<td><p align="justify">Usage for mount point N, GB, <code>-----</code>. For example <code>$hddgb0</code>.</p></td>
<td><p>Usage for mount point N, GB, <code>-----</code>. For example <code>$hddgb0</code>.</p></td>
</tr>
<tr>
<td><code>$hddtotmbN</code></td>
<td><p align="justify">Total size of mount point N, MB, <code>-----</code>. For example <code>$hddtotmb0</code>.</p></td>
<td><p>Total size of mount point N, MB, <code>-----</code>. For example <code>$hddtotmb0</code>.</p></td>
</tr>
<tr>
<td><code>$hddtotgbN</code></td>
<td><p align="justify">Total size of mount point N, GB, <code>-----</code>. For example <code>$hddtotgb0</code>.</p></td>
<td><p>Total size of mount point N, GB, <code>-----</code>. For example <code>$hddtotgb0</code>.</p></td>
</tr>
<tr>
<th rowspan="2">HDD speed label</th>
<td><code>$hddrN</code></td>
<td><p align="justify">Read speed of disk N, KB/s, <code>-----</code>. For example <code>$hddr0</code>.</p></td>
<td><p>Read speed of disk N, KB/s, <code>-----</code>. For example <code>$hddr0</code>.</p></td>
</tr>
<tr>
<td><code>$hddwN</code></td>
<td><p align="justify">Write speed of disk N, KB/s, <code>-----</code>. For example <code>$hddw0</code>.</p></td>
<td><p>Write speed of disk N, KB/s, <code>-----</code>. For example <code>$hddw0</code>.</p></td>
</tr>
<tr>
<th rowspan="1">HDD temperature label</th>
<td><code>$hddtempN</code></td>
<td><p align="justify">Temperature for HDD N, &deg;C, <code>----</code>. For example <code>$hddtemp0</code>. <code>hddtemp</code> must be installed.</p></td>
<td><p>Temperature for HDD N, &deg;C, <code>----</code>. For example <code>$hddtemp0</code>. <code>hddtemp</code> must be installed.</p></td>
</tr>
<tr>
<th rowspan="3">Network label</th>
<td><code>$down</code></td>
<td><p align="justify">Download speed, KB/s, <code>----</code>.</p></td>
<td><p>Download speed, KB/s, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$up</code></td>
<td><p align="justify">Upload speed, KB/s, <code>----</code>.</p></td>
<td><p>Upload speed, KB/s, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$netdev</code></td>
<td><p align="justify">Current network device.</p></td>
<td><p>Current network device.</p></td>
</tr>
<tr>
<th rowspan="2">Battery label</th>
<td><code>$bat</code></td>
<td><p align="justify">Battery charge, %, <code>---</code>.</p></td>
<td><p>Battery charge, %, <code>---</code>.</p></td>
</tr>
<tr>
<td><code>$ac</code></td>
<td><p align="justify">Status of AC device. Returns <code>(*)</code> if AC device is online or <code>( )</code> if offline.</td>
<td><p>Status of AC device. Returns <code>(*)</code> if AC device is online or <code>( )</code> if offline.</td>
</tr>
<tr>
<th rowspan="5">Music player label</th>
<td><code>$album</code></td>
<td><p align="justify">Current song album. One of supported music players must be installed.</p></td>
<td><p>Current song album. One of supported music players must be installed.</p></td>
</tr>
<tr>
<td><code>$artist</code></td>
<td><p align="justify">Current song artist. One of supported music players must be installed.</p></td>
<td><p>Current song artist. One of supported music players must be installed.</p></td>
</tr>
<tr>
<td><code>$progress</code></td>
<td><p align="justify">Current song progress. One of supported music players must be installed.</p></td>
<td><p>Current song progress. One of supported music players must be installed.</p></td>
</tr>
<tr>
<td><code>$time</code></td>
<td><p align="justify">Current song duration. One of supported music players must be installed.</p></td>
<td><p>Current song duration. One of supported music players must be installed.</p></td>
</tr>
<tr>
<td><code>$title</code></td>
<td><p align="justify">Current song title. One of supported music players must be installed.</p></td>
<td><p>Current song title. One of supported music players must be installed.</p></td>
</tr>
<tr>
<th rowspan="3">Process label</th>
<td><code>$ps</code></td>
<td><p align="justify">List of running processes comma separated.</p></td>
<td><p>List of running processes comma separated.</p></td>
</tr>
<tr>
<td><code>$pscount</code></td>
<td><p align="justify">Number of running processes.</p></td>
<td><p>Number of running processes.</p></td>
</tr>
<tr>
<td><code>$pstotal</code></td>
<td><p align="justify">Total number of processes.</p></td>
<td><p>Total number of processes.</p></td>
</tr>
<tr>
<th rowspan="1">Package manager label</th>
<td><code>$pkgcountN</code></td>
<td><p align="justify">Number of packages, which available to upgrade for command N.</p></td>
<td><p>Number of packages, which available to upgrade for command N.</p></td>
</tr>
<tr>
<th rowspan="1">Custom label</th>
<td><code>$customN</code></td>
<td><p align="justify">Get output from custom command N. For example <code>$custom0</code>.</p></td>
<td><p>Get output from custom command N. For example <code>$custom0</code>.</p></td>
</tr>
</table>
<h4><a name="advanced" class="anchor" href="#advanced"><span class="octicon octicon-link"></span></a>Advanced settings</h4>
<p align="justify"><b>Vertical layout:</b> Use vertical layout instead of horizontal one.</p>
<p><b>Vertical layout:</b> Use vertical layout instead of horizontal one.</p>
<p align="justify"><b>Enable popup:</b> Uncheck box if you do not use popup messages.</p>
<p><b>Enable popup:</b> Uncheck box if you do not use popup messages.</p>
<p align="justify"><b>Add stretch:</b> Add stretch (spacer) to the selected side of the widget.</p>
<p><b>Add stretch:</b> Add stretch (spacer) to the selected side of the widget.</p>
<p align="justify"><b>Custom time format:</b></p>
<p><b>Custom time format:</b></p>
<table>
<tr>
<td><code>$dddd</code></td>
<td><p align="justify">Weekday in long format.</p></td>
<td><p>Weekday in long format.</p></td>
</tr>
<tr>
<td><code>$ddd</code></td>
<td><p align="justify">Weekday in short format.</p></td>
<td><p>Weekday in short format.</p></td>
</tr>
<tr>
<td><code>$dd</code></td>
<td><p align="justify">Day.</p></td>
<td><p>Day.</p></td>
</tr>
<tr>
<td><code>$d</code></td>
<td><p align="justify">Day without zero.</p></td>
<td><p>Day without zero.</p></td>
</tr>
<tr>
<td><code>$MMMM</code></td>
<td><p align="justify">Month in long format.</p></td>
<td><p>Month in long format.</p></td>
</tr>
<tr>
<td><code>$MMM</code></td>
<td><p align="justify">Month in short format.</p></td>
<td><p>Month in short format.</p></td>
</tr>
<tr>
<td><code>$MM</code></td>
<td><p align="justify">Month.</p></td>
<td><p>Month.</p></td>
</tr>
<tr>
<td><code>$M</code></td>
<td><p align="justify">Month without zero.</p></td>
<td><p>Month without zero.</p></td>
</tr>
<tr>
<td><code>$yyyy</code></td>
<td><p align="justify">Year.</p></td>
<td><p>Year.</p></td>
</tr>
<tr>
<td><code>$yy</code></td>
<td><p align="justify">Year in short format.</p></td>
<td><p>Year in short format.</p></td>
</tr>
<tr>
<td><code>$hh</code></td>
<td><p align="justify">Hours.</p></td>
<td><p>Hours.</p></td>
</tr>
<tr>
<td><code>$h</code></td>
<td><p align="justify">Hours without zero.</p></td>
<td><p>Hours without zero.</p></td>
</tr>
<tr>
<td><code>$mm</code></td>
<td><p align="justify">Minutes.</p></td>
<td><p>Minutes.</p></td>
</tr>
<tr>
<td><code>$m</code></td>
<td><p align="justify">Minutes without zero.</p></td>
<td><p>Minutes without zero.</p></td>
</tr>
<tr>
<td><code>$ss</code></td>
<td><p align="justify">Seconds.</p></td>
<td><p>Seconds.</p></td>
</tr>
<tr>
<td><code>$s</code></td>
<td><p align="justify">Seconds without zero.</p></td>
<td><p>Seconds without zero.</p></td>
</tr>
</table>
<p align="justify"><b>Custom uptime format:</b></p>
<p><b>Custom uptime format:</b></p>
<table>
<tr>
<td><code>$dd</code></td>
<td><p align="justify">Uptime days.</p></td>
<td><p>Uptime days.</p></td>
</tr>
<tr>
<td><code>$d</code></td>
<td><p align="justify">Uptime days without zero.</p></td>
<td><p>Uptime days without zero.</p></td>
</tr>
<tr>
<td><code>$hh</code></td>
<td><p align="justify">Uptime hours.</p></td>
<td><p>Uptime hours.</p></td>
</tr>
<tr>
<td><code>$h</code></td>
<td><p align="justify">Uptime hours without zero.</p></td>
<td><p>Uptime hours without zero.</p></td>
</tr>
<tr>
<td><code>$mm</code></td>
<td><p align="justify">Uptime minutes.</p></td>
<td><p>Uptime minutes.</p></td>
</tr>
<tr>
<td><code>$m</code></td>
<td><p align="justify">Uptime minutes without zero.</p></td>
<td><p>Uptime minutes without zero.</p></td>
</tr>
</table>
<p align="justify"><b>Temperature units:</b> Select units for temperature. Available units are Celsius, Farenheit and Kelvin.</p>
<p><b>Temperature units:</b> Select units for temperature. Available units are Celsius, Farenheit and Kelvin.</p>
<p align="justify"><b>Temperature devices:</b> List of devices, which will be observed in temperature label (combo box items come from <code>sensors</code>). List widget is editable, delete key will remove current item.</p>
<p><b>Temperature devices:</b> List of devices, which will be observed in temperature label (combo box items come from <code>sensors</code>). List widget is editable, delete key will remove current item.</p>
<p align="justify"><b>Mount points:</b> List of mount points, which will be observed in HDD label (combo box items come from <code>mount</code>). List widget is editable, delete key will remove current item.</p>
<p><b>Mount points:</b> List of mount points, which will be observed in HDD label (combo box items come from <code>mount</code>). List widget is editable, delete key will remove current item.</p>
<p align="justify"><b>HDDs (speed):</b> List of hard disk devices, which will be observed in HDD speed label (combo box items come from DataEngine). List widget is editable, delete key will remove current item.</p>
<p><b>HDDs (speed):</b> List of hard disk devices, which will be observed in HDD speed label (combo box items come from DataEngine). List widget is editable, delete key will remove current item.</p>
<p align="justify"><b>HDDs (temperature):</b> List of hard disk devices, which will be observed in HDD temperature label (combo box items come from <code>find</code>). List widget is editable, delete key will remove current item.</p>
<p><b>HDDs (temperature):</b> List of hard disk devices, which will be observed in HDD temperature label (combo box items come from <code>find</code>). List widget is editable, delete key will remove current item.</p>
<p align="justify"><b>Network directory:</b> Path to directory, which contains network devices information. Default is <code>/sys/class/net</code>. It is required for auto select of network device.</p>
<p><b>Network directory:</b> Path to directory, which contains network devices information. Default is <code>/sys/class/net</code>. It is required for auto select of network device.</p>
<p align="justify"><b>Network device:</b> Use specified device as active. Combo box items come from <b>network directory</b>. This option will disable auto select network device.</p>
<p><b>Network device:</b> Use specified device as active. Combo box items come from <b>network directory</b>. This option will disable auto select network device.</p>
<p align="justify"><b>Battery device:</b> File with battery information. The file (<code>/sys/class/power_supply/BAT0/capacity</code> by default) should contain only battery charge in percent.</p>
<p><b>Battery device:</b> File with battery information. The file (<code>/sys/class/power_supply/BAT0/capacity</code> by default) should contain only battery charge in percent.</p>
<p align="justify"><b>AC online tag:</b> Line which will be shown when AC is online. Default is <code>(*)</code>.</p>
<p><b>AC online tag:</b> Line which will be shown when AC is online. Default is <code>(*)</code>.</p>
<p align="justify"><b>AC offline tag:</b> Line which will be shown when AC is offline. Default is <code>( )</code>.</p>
<p><b>AC offline tag:</b> Line which will be shown when AC is offline. Default is <code>( )</code>.</p>
<p align="justify"><b>AC device:</b> File with AC information. The file (<code>/sys/class/power_supply/AC/online</code> by default) should contain <code>1</code> if AC is online.</p>
<p><b>AC device:</b> File with AC information. The file (<code>/sys/class/power_supply/AC/online</code> by default) should contain <code>1</code> if AC is online.</p>
<h4><a name="tooltips" class="anchor" href="#tooltips"><span class="octicon octicon-link"></span></a>Tooltips</h4>
<p align="justify">Since version 1.7.0 CPU, CPU clock, memory, swap and network labels support graphical tooltip. To enable them just make the needed checkboxes a fully checked. The number of stored values can be set in the tab. Colors of graphs are configurable too.</p>
<p>Since version 1.7.0 CPU, CPU clock, memory, swap and network labels support graphical tooltip. To enable them just make the needed checkboxes a fully checked. The number of stored values can be set in the tab. Colors of graphs are configurable too.</p>
<h4><a name="deguiconf" class="anchor" href="#deguiconf"><span class="octicon octicon-link"></span></a>DataEngine settings</h4>
<p align="justify"><b>Custom command:</b> <i><b>NOTE</b> this label may cause the computer freeze.</i> Commands, which will be run for custom label. For example, <code>wget -qO- http://ifconfig.me/ip</code> will return external IP.</p>
<p><b>Custom command:</b> <i><b>NOTE</b> this label may cause the computer freeze.</i> Commands, which will be run for custom label. For example, <code>wget -qO- http://ifconfig.me/ip</code> will return external IP.</p>
<p align="justify"><b>GPU device:</b> Select one of supported GPU devices. <code>auto</code> will enable auto selection, <code>disable</code> will disable all GPU monitors. Default is <code>auto</code>.</p>
<p><b>GPU device:</b> Select one of supported GPU devices. <code>auto</code> will enable auto selection, <code>disable</code> will disable all GPU monitors. Default is <code>auto</code>.</p>
<p align="justify"><b>HDD:</b> Select one of HDDs for HDD temperature monitor. <code>all</code> will enable monitor for all devices, <code>disable</code> will disable HDD temperature monitor. Default is <code>all</code>.</p>
<p><b>HDD:</b> Select one of HDDs for HDD temperature monitor. <code>all</code> will enable monitor for all devices, <code>disable</code> will disable HDD temperature monitor. Default is <code>all</code>.</p>
<p align="justify"><b>hddtemp cmd:</b> Type a command which will be run for hddtemp DataEngine. Default is <code>sudo hddtemp</code>.</p>
<p><b>hddtemp cmd:</b> Type a command which will be run for hddtemp DataEngine. Default is <code>sudo hddtemp</code>.</p>
<p align="justify"><b>MPD address:</b> Address of MPD server. Default is <code>localhost</code>.</p>
<p><b>MPD address:</b> Address of MPD server. Default is <code>localhost</code>.</p>
<p align="justify"><b>MPD port:</b> Port of MPD server. Default is <code>6600</code>.</p>
<p><b>MPD port:</b> Port of MPD server. Default is <code>6600</code>.</p>
<p align="justify"><b>Package manager:</b> List of commands, which will be run. Number of null lines is a number of unneeded lines. Defaults are:</p>
<p><b>Package manager:</b> List of commands, which will be run. Number of null lines is a number of unneeded lines. Defaults are:</p>
<table>
<tr>
<td><p align="center"><b>Distro</b></p></td>
@ -495,45 +495,45 @@ sudo make install
<td><p align="center"><b>Number</b></p></td>
</tr>
<tr>
<td><p align="justify">Arch</p></td>
<td><p>Arch</p></td>
<td><code>pacman -Qu</code></td>
<td><code>0</code></td>
</tr>
<tr>
<td><p align="justify">Debian</p></td>
<td><p>Debian</p></td>
<td><code>apt-show-versions -u -b</code></td>
<td><code>0</code></td>
</tr>
<tr>
<td><p align="justify">Ubuntu</p></td>
<td><p>Ubuntu</p></td>
<td><code>aptitude search '~U'</code></td>
<td><code>0</code></td>
</tr>
<tr>
<td><p align="justify">Fedora</p></td>
<td><p>Fedora</p></td>
<td><code>yum list updates</code></td>
<td><code>3</code></td>
</tr>
<tr>
<td><p align="justify">FreeBSD</p></td>
<td><p>FreeBSD</p></td>
<td><code>pkg_version -I -l '<'</code></td>
<td><code>0</code></td>
</tr>
<tr>
<td><p align="justify">Mandriva</p></td>
<td><p>Mandriva</p></td>
<td><code>urpmq --auto-select</code></td>
<td><code>0</code></td>
</tr>
</table>
<p align="justify"><b>Music player:</b> Select one of supported music playes for player label.</p>
<p><b>Music player:</b> Select one of supported music playes for player label.</p>
<!-- end of config block -->
<!-- gui block -->
<h2><a name="gui" class="anchor" href="#gui"><span class="octicon octicon-link"></span></a>Graphical user interface</h2>
<h2><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Screenshots</h2>
<p align="justify">Widget (clickable):<br>
<p>Widget (clickable):<br>
<a href="/resources/screenshots/pytextmonitor_widget.png"><img src="/resources/preview/pytextmonitor_widget_prev.jpg"></a><br>
Configuration window:<br>
<a href="/resources/screenshots/pytextmonitor_config_01.png"><img src="/resources/preview/pytextmonitor_config_01_prev.jpg"></a><br>

View File

@ -10,7 +10,7 @@ links:
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#info"><span class="octicon octicon-link"></span></a>Information</h2>
<p align="justify">Daemon for starting jobs to queue of calculations. It was written as proof-of-concept.</p>
<p>Daemon for starting jobs to queue of calculations. It was written as proof-of-concept.</p>
{% highlight bash %}
$ queued --help
Simple daemon written on BASH for starting jobs to queue of calculations
@ -51,20 +51,20 @@ Parameters:
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Instruction</h3>
<ul>
<li><p align="justify">Download an <a href="https://github.com/arcan1s/queued/releases">archive</a> with latest version of source files.</p></li>
<li><p align="justify">Extract it and install the application:</p>
<li><p>Download an <a href="https://github.com/arcan1s/queued/releases">archive</a> with latest version of source files.</p></li>
<li><p>Extract it and install the application:</p>
{% highlight bash %}
./install.sh "/path/to/root/"
{% endhighlight %}
<p align="justify">If you want install it to <code>/</code> you must run it as root, e.g.:</p>
<p>If you want install it to <code>/</code> you must run it as root, e.g.:</p>
{% highlight bash %}
sudo ./install.sh
{% endhighlight %}
<p align="justify">If no path is specified it will be installed to <code>/</code> by default.</p></li>
<p>If no path is specified it will be installed to <code>/</code> by default.</p></li>
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Dependencies</h3>
<p align="justify">I want note that all were tested on latest version of dependencies.</p>
<p>I want note that all were tested on latest version of dependencies.</p>
<ul>
<li>Bash (including awk, grep, sed)</li>
<li>systemd <i>(optional, service file)</i></li>
@ -73,27 +73,27 @@ sudo ./install.sh
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>How to use</h2>
<p align="justify">If you want to start the daemon just run</p>
<p>If you want to start the daemon just run</p>
{% highlight bash %}
systemctl start queued
{% endhighlight %}
<p align="justify">If you want to enable daemon autoload run</p>
<p>If you want to enable daemon autoload run</p>
{% highlight bash %}
systemctl enable queued
{% endhighlight %}
<p align="justify">But you may change path to configuration file or change parameters. To do it just copy (recommended) the source configuration file to new path</p>
<p>But you may change path to configuration file or change parameters. To do it just copy (recommended) the source configuration file to new path</p>
{% highlight bash %}
cp /etc/queued.conf /path/to/new/queued.conf
{% endhighlight %}
<p align="justify">and edit it. Then copy the source service file to <code>/etc</code>:</p>
<p>and edit it. Then copy the source service file to <code>/etc</code>:</p>
{% highlight bash %}
cp /usr/lib/systemd/system/queued.service /etc/systemd/system/queued-my-profile.service
{% endhighlight %}
<p align="justify">Replace following string in the file:</p>
<p>Replace following string in the file:</p>
{% highlight bash %}
ExecStart=/usr/bin/queued
{% endhighlight %}
<p align="justify">to</p>
<p>to</p>
{% highlight bash %}
ExecStart=/usr/bin/queued -c /path/to/new/queued.conf
{% endhighlight %}
@ -105,10 +105,10 @@ ExecStart=/usr/bin/queued -c /path/to/new/queued.conf
<li>Create user file (<code>script.sh.user</code>) with the job username if it is needed.</li>
<li>Copy files to <code>$WORKDIR</code>.</li>
</ol>
<p align="justify">Also you may use <code>add_queued</code>.</p>
<p>Also you may use <code>add_queued</code>.</p>
<h2><a name="configuration" class="anchor" href="#configuration"><span class="octicon octicon-link"></span></a>Configuration</h2>
<p align="justify">All settings are stored in <code>/etc/queued.conf</code>. After edit them you must restart daemon</p>
<p>All settings are stored in <code>/etc/queued.conf</code>. After edit them you must restart daemon</p>
{% highlight bash %}
systemctl restart queued
{% endhighlight %}
@ -119,27 +119,27 @@ systemctl restart queued
<table>
<tr>
<th>WORKDIR</th>
<td><p align="justify">Full path to directory with source jobs. Default is <code>/var/lib/queued/work</code>. This directory must contain source scripts <code>script-name</code>, a priority file (it is not necessary) <code>script-name.pr</code> and a file with username (it is not necessary too) <code>script-name.user</code>.</p></td>
<td><p>Full path to directory with source jobs. Default is <code>/var/lib/queued/work</code>. This directory must contain source scripts <code>script-name</code>, a priority file (it is not necessary) <code>script-name.pr</code> and a file with username (it is not necessary too) <code>script-name.user</code>.</p></td>
</tr>
<tr>
<th>JOBDIR</th>
<td><p align="justify">Full path to directory with running jobs. Default is <code>/var/lib/queued/job</code>. All job files will be moved here.</p></td>
<td><p>Full path to directory with running jobs. Default is <code>/var/lib/queued/job</code>. All job files will be moved here.</p></td>
</tr>
<tr>
<th>QUEUEFILE</th>
<td><p align="justify">Full path to file with queue list. Default is <code>/var/lib/queued/queue</code>.</td>
<td><p>Full path to file with queue list. Default is <code>/var/lib/queued/queue</code>.</td>
</tr>
<tr>
<th>PRIORITY</th>
<td><p align="justify">Default priority. Default is <code>0</code>. The higher the value, the higher the priority of the task.</td>
<td><p>Default priority. Default is <code>0</code>. The higher the value, the higher the priority of the task.</td>
</tr>
<tr>
<th>SLEEPTIME</th>
<td><p align="justify">Time interval in minutes. Default is <code>5</code>.</td>
<td><p>Time interval in minutes. Default is <code>5</code>.</td>
</tr>
<tr>
<th>STARTASUSER</th>
<td><p align="justify">Default user. Default is <code>root</code>. This user will own created files.</td>
<td><p>Default user. Default is <code>root</code>. This user will own created files.</td>
</tr>
</table>
<!-- end of config block -->

View File

@ -28,7 +28,7 @@
<img src="/resources/pinkiepie.png" alt="pinkiepie">
<p align="justify">Я Пинки Пай. Ты видишь меня, потому что ты хочешь страницу, которую я не смогла найти. Мне очень жаль. Нет, честно-честно. В будущем я постараюсь работать лучше, а сейчас могу предложить вернуться на <a href="/ru">главную</a> или <a href="javascript:history.back()">назад</a>.</p>
<p>Я Пинки Пай. Ты видишь меня, потому что ты хочешь страницу, которую я не смогла найти. Мне очень жаль. Нет, честно-честно. В будущем я постараюсь работать лучше, а сейчас могу предложить вернуться на <a href="/ru">главную</a> или <a href="javascript:history.back()">назад</a>.</p>
</section>
<footer>

View File

@ -8,16 +8,16 @@ short: about-zshrc
description: Это моя первая статья в блоге (я думаю, мне нужно что-нибудь для тестов =)). Существует множество похожих статей и, я думаю, не буду отличаться от большинства. Я просто хочу показать мой <code>.zshrc</code> и объяснить, что в нем есть и зачем оно нужно. Также, любые комментарии или дополнения приветствуются. <a href="http://archlinux.org.ru/forum/topic/12752/">Оригинал</a> статьи.
---
<h2><a name="prepare" class="anchor" href="#prepare"><span class="octicon octicon-link"></span></a>Подготовка</h2>
<p align="justify">Сначала установите необходимый минимум:</p>
<p>Сначала установите необходимый минимум:</p>
{% highlight bash %}
pacman -Sy pkgfile zsh zsh-completions zsh-syntax-highlighting
{% endhighlight %}
<p align="justify"><a href="https://www.archlinux.org/packages/pkgfile/">pkgfile</a> очень полезная утилита. Данная команда также установит шелл, дополнения к нему и подсветку синтаксиса.</p>
<p><a href="https://www.archlinux.org/packages/pkgfile/">pkgfile</a> очень полезная утилита. Данная команда также установит шелл, дополнения к нему и подсветку синтаксиса.</p>
<h2><a name="configuration" class="anchor" href="#configuration"><span class="octicon octicon-link"></span></a>Настройка шелла</h2>
<p align="justify">Все доступные опции приведены <a href="http://zsh.sourceforge.net/Doc/Release/Options.html">здесь</a>.</p>
<p>Все доступные опции приведены <a href="http://zsh.sourceforge.net/Doc/Release/Options.html">здесь</a>.</p>
<p align="justify">Указываем файл с историей, число команд хранящихся в кэше текущего сеанса и число команд, хранящихся в файле:</p>
<p>Указываем файл с историей, число команд хранящихся в кэше текущего сеанса и число команд, хранящихся в файле:</p>
{% highlight bash %}
# history
HISTFILE=~/.zsh_history
@ -25,7 +25,7 @@ HISTSIZE=500000
SAVEHIST=500000
{% endhighlight %}
<p align="justify">Я не могу запомнить все комбинации <code>Ctrl+</code>, поэтому я назначаю клавиши на их стандартное использование:</p>
<p>Я не могу запомнить все комбинации <code>Ctrl+</code>, поэтому я назначаю клавиши на их стандартное использование:</p>
{% highlight bash %}
# bindkeys
bindkey '^[[A' up-line-or-search # up arrow for back-history-search
@ -37,9 +37,9 @@ bindkey '\e[4~' end-of-line # end
bindkey '\e[5~' up-line-or-history # page-up
bindkey '\e[6~' down-line-or-history # page-down
{% endhighlight %}
<p align="justify">Но здесь важно, что стрелки <code>вверх</code>/<code>вниз</code> служат для навигации по истории с учетом <b>уже введенной части</b> команды. А <code>PgUp</code>/<code>PgDown</code> <b>проигнорируют</b> уже введенную часть команды.</p>
<p>Но здесь важно, что стрелки <code>вверх</code>/<code>вниз</code> служат для навигации по истории с учетом <b>уже введенной части</b> команды. А <code>PgUp</code>/<code>PgDown</code> <b>проигнорируют</b> уже введенную часть команды.</p>
<p align="justify">Автодополнение команд:</p>
<p>Автодополнение команд:</p>
{% highlight bash %}
# autocomplete
autoload -U compinit
@ -47,65 +47,65 @@ compinit
zstyle ':completion:*' insert-tab false
zstyle ':completion:*' max-errors 2
{% endhighlight %}
<p align="justify">Подключается полное автодополнение команд. <code>insert-tab false</code> включит автодополнение для <b>невведенной</b> команды (не знаю, зачем). <code>max-errors</code> устанавливает максимальное число опечаток, которые могут быть исправлены.</p>
<p>Подключается полное автодополнение команд. <code>insert-tab false</code> включит автодополнение для <b>невведенной</b> команды (не знаю, зачем). <code>max-errors</code> устанавливает максимальное число опечаток, которые могут быть исправлены.</p>
<p align="justify">Приглашение:</p>
<p>Приглашение:</p>
{% highlight bash %}
# promptinit
autoload -U promptinit
promptinit
{% endhighlight %}
<p align="justify">Включим цвета:</p>
<p>Включим цвета:</p>
{% highlight bash %}
# colors
autoload -U colors
colors
{% endhighlight %}
<p align="justify">Различные опции.</p>
<p align="justify">Смена директории без ввода <code>cd</code>:</p>
<p>Различные опции.</p>
<p>Смена директории без ввода <code>cd</code>:</p>
{% highlight bash %}
# autocd
setopt autocd
{% endhighlight %}
<p align="justify">Корректировка опечаток (и шаблон вопроса):</p>
<p>Корректировка опечаток (и шаблон вопроса):</p>
{% highlight bash %}
# correct
setopt CORRECT_ALL
SPROMPT="Correct '%R' to '%r' ? ([Y]es/[N]o/[E]dit/[A]bort) "
{% endhighlight %}
<p align="justify">Отключаем е#$%ую пищалку:</p>
<p>Отключаем е#$%ую пищалку:</p>
{% highlight bash %}
# disable beeps
unsetopt beep
{% endhighlight %}
<p align="justify">Включаем калькулятор:</p>
<p>Включаем калькулятор:</p>
{% highlight bash %}
# calc
autoload zcalc
{% endhighlight %}
<p align="justify">Дополнение истории (<b>а не перезапись</b> файла):</p>
<p>Дополнение истории (<b>а не перезапись</b> файла):</p>
{% highlight bash %}
# append history
setopt APPEND_HISTORY
{% endhighlight %}
<p align="justify">Не сохранять дубликаты в историю:</p>
<p>Не сохранять дубликаты в историю:</p>
{% highlight bash %}
# ignore dups in history
setopt HIST_IGNORE_ALL_DUPS
{% endhighlight %}
<p align="justify">...и дополнительные пробелы:</p>
<p>...и дополнительные пробелы:</p>
{% highlight bash %}
# ignore spaces in history
setopt HIST_IGNORE_SPACE
{% endhighlight %}
<p align="justify">...и пустые линии тоже:</p>
<p>...и пустые линии тоже:</p>
{% highlight bash %}
# reduce blanks in history
setopt HIST_REDUCE_BLANKS
{% endhighlight %}
<p align="justify">Включаем <code>pkgfile</code>:</p>
<p>Включаем <code>pkgfile</code>:</p>
{% highlight bash %}
# pkgfile
source /usr/share/doc/pkgfile/command-not-found.zsh
@ -158,10 +158,10 @@ ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=yellow' # конс
# root
#ZSH_HIGHLIGHT_STYLES[root]='bg=red'
{% endhighlight %}
<p align="justify">В первой строке включаем подсветку. Затем включаем основную подсветку, а также подсветку скобок и шаблонов. Шаблоны указываются ниже (<code>rm -rf *</code> в примере). Также может быть включена подсветка команд от <code>root</code> и курсора <code>cursor</code>. Синтаксис настроек понятен, <code>fg</code> цвет шрифта, <code>bg</code> цвет фона.</p>
<p>В первой строке включаем подсветку. Затем включаем основную подсветку, а также подсветку скобок и шаблонов. Шаблоны указываются ниже (<code>rm -rf *</code> в примере). Также может быть включена подсветка команд от <code>root</code> и курсора <code>cursor</code>. Синтаксис настроек понятен, <code>fg</code> цвет шрифта, <code>bg</code> цвет фона.</p>
<h2><a name="prompt" class="anchor" href="#prompt"><span class="octicon octicon-link"></span></a>$PROMPT и $RPROMPT</h2>
<p align="justify">Я хочу использовать один файл <code>.zshrc</code> для рута и обычного пользователя:</p>
<p>Я хочу использовать один файл <code>.zshrc</code> для рута и обычного пользователя:</p>
{% highlight bash %}
# PROMPT && RPROMPT
if [[ $EUID == 0 ]]; then
@ -183,7 +183,7 @@ else
fi
{% endhighlight %}
<p align="justify"><code>fg</code> цвет шрифта, <code>bg</code> цвет фона. <code>_bold</code> и <code>_no_bold</code> регулируют оттенок. Команды должны быть обрамлены в <code>%{ ... %}</code>, чтобы не показывались. Доступные цвета:</p>
<p><code>fg</code> цвет шрифта, <code>bg</code> цвет фона. <code>_bold</code> и <code>_no_bold</code> регулируют оттенок. Команды должны быть обрамлены в <code>%{ ... %}</code>, чтобы не показывались. Доступные цвета:</p>
{% highlight bash %}
black
red
@ -195,7 +195,7 @@ cyan
white
{% endhighlight %}
<p align="justify">Доступные переменные:</p>
<p>Доступные переменные:</p>
{% highlight bash %}
%n - имя пользователя
%m - хостнейм (выставляется только в начале сессии)
@ -211,7 +211,7 @@ white
%1/ - то же, но только последняя директория
{% endhighlight %}
<p align="justify">RPROMPT (необходим пакет <code>acpi</code>):</p>
<p>RPROMPT (необходим пакет <code>acpi</code>):</p>
{% highlight bash %}
precmd () {
# battery charge
@ -236,12 +236,12 @@ $(batcharge)\
$returncode\
"%{$fg_bold[white]%}]%{$reset_color%}"
{% endhighlight %}
<p align="justify">Мой RPROMPT показывает текущее время, заряд батареи и код возврата последнего приложения. <code>precmd()</code> необходимо для автоматического обновления. Конструкция <code>$(if.true.false)</code> является условным оператором в <code>zsh</code>.</p>
<p>Мой RPROMPT показывает текущее время, заряд батареи и код возврата последнего приложения. <code>precmd()</code> необходимо для автоматического обновления. Конструкция <code>$(if.true.false)</code> является условным оператором в <code>zsh</code>.</p>
<h2><a name="aliases" class="anchor" href="#aliases"><span class="octicon octicon-link"></span></a>Аллиасы</h2>
<p align="justify"><b>Копируйте только те аллиасы, которые Вам необходимы.</b> Если какой-либо аллиас использует приложение, которое не установлено, это приведет к сбою загрузки конфигурационного файла.</p>
<p><b>Копируйте только те аллиасы, которые Вам необходимы.</b> Если какой-либо аллиас использует приложение, которое не установлено, это приведет к сбою загрузки конфигурационного файла.</p>
<p align="justify">Полезная (или не очень) функция:</p>
<p>Полезная (или не очень) функция:</p>
{% highlight bash %}
show_which() {
OUTPUT=$(which $1 | cut -d " " -f7-)
@ -249,7 +249,7 @@ show_which() {
}
{% endhighlight %}
<p align="justify">Первая группа аллиасов:</p>
<p>Первая группа аллиасов:</p>
{% highlight bash %}
## alias
# цветной grep
@ -268,7 +268,7 @@ alias less='vimpager'
alias zless='vimpager'
{% endhighlight %}
<p align="justify">ls аллиасы (смотри <a href="http://unixhelp.ed.ac.uk/CGI/man-cgi?ls">man ls</a>):</p>
<p>ls аллиасы (смотри <a href="http://unixhelp.ed.ac.uk/CGI/man-cgi?ls">man ls</a>):</p>
{% highlight bash %}
alias ls='show_which ls && ls --color=auto --group-directories-first'
alias ll='show_which ll && ls -l --human-readable'
@ -280,7 +280,7 @@ alias lt='show_which lt && ll -t --reverse'
alias lm='show_which lm && la | more'
{% endhighlight %}
<p align="justify">Аллиасы для быстрого просмотра файлов из консоли (просто набери имя файла!):</p>
<p>Аллиасы для быстрого просмотра файлов из консоли (просто набери имя файла!):</p>
{% highlight bash %}
# alias -s
alias -s {avi,mpeg,mpg,mov,m2v,mkv}=mpv
@ -291,7 +291,7 @@ autoload -U pick-web-browser
alias -s {html,htm}=opera
{% endhighlight %}
<p align="justify">"sudo" аллиасы:</p>
<p>"sudo" аллиасы:</p>
{% highlight bash %}
# sudo alias
if [[ $EUID == 0 ]]; then
@ -314,7 +314,7 @@ else
fi
{% endhighlight %}
<p align="justify">Некоторые глобальные аллиасы. Если они включены, команда <code>cat foo g bar</code> будет эквивалентна <code>cat foo | grep bar</code>:</p>
<p>Некоторые глобальные аллиасы. Если они включены, команда <code>cat foo g bar</code> будет эквивалентна <code>cat foo | grep bar</code>:</p>
{% highlight bash %}
# global alias
alias -g g="| grep"
@ -325,7 +325,7 @@ alias -g dn="&> /dev/null &"
{% endhighlight %}
<h2><a name="functions" class="anchor" href="#functions"><span class="octicon octicon-link"></span></a>Функции</h2>
<p align="justify">Специальная функция для <code>xrandr</code>:</p>
<p>Специальная функция для <code>xrandr</code>:</p>
{% highlight bash %}
# function to contorl xrandr
@ -350,7 +350,7 @@ projctl () {
}
{% endhighlight %}
<p align="justify">К сожалению, я не могу запомнить флаги <code>tar</code>, поэтому я использую специальные функции:</p>
<p>К сожалению, я не могу запомнить флаги <code>tar</code>, поэтому я использую специальные функции:</p>
{% highlight bash %}
# function to extract archives
# EXAMPLE: unpack file
@ -403,7 +403,7 @@ pack () {
}
{% endhighlight %}
<p align="justify">Специальная функция для <code>su</code>:</p>
<p>Специальная функция для <code>su</code>:</p>
{% highlight bash %}
su () {
CHECKSU=0
@ -421,7 +421,7 @@ su () {
}
{% endhighlight %}
<p align="justify">Функция, которая заменяет оригиналькую команду <code>rm</code>. Если Вы наберете <code>rm</code>, это будет эквивалентно перемещению в корзину, также, Вы можете легко восстановить удаленный файл:</p>
<p>Функция, которая заменяет оригиналькую команду <code>rm</code>. Если Вы наберете <code>rm</code>, это будет эквивалентно перемещению в корзину, также, Вы можете легко восстановить удаленный файл:</p>
{% highlight bash %}
rm () {
# error check
@ -464,7 +464,7 @@ rm () {
}
{% endhighlight %}
<p align="justify">Функция для автоматических обновлений путей после установки пакетов:</p>
<p>Функция для автоматических обновлений путей после установки пакетов:</p>
{% highlight bash %}
pacman () {
/usr/bin/sudo /usr/bin/pacman $* && echo "$*" | grep -q "S\|R\|U" && rehash
@ -477,12 +477,12 @@ yatest () {
/usr/bin/yaourt --config /etc/pactest.conf $* && echo "$*" | grep -q "S\|R\|U" && rehash
}
{% endhighlight %}
<p align="justify">Но автодополнение для <code>yaourt -Ss</code> <a href="https://github.com/zsh-users/zsh-completions/pull/205">будет требовать</a> привилегий рута.</p>
<p>Но автодополнение для <code>yaourt -Ss</code> <a href="https://github.com/zsh-users/zsh-completions/pull/205">будет требовать</a> привилегий рута.</p>
<h2><a name="variables" class="anchor" href="#variables"><span class="octicon octicon-link"></span></a>Переменные</h2>
<p align="justify">Рекомендуется хранить свои переменные в <code>~/.zshenv</code>. Но я все храню в одном файле.</p>
<p>Рекомендуется хранить свои переменные в <code>~/.zshenv</code>. Но я все храню в одном файле.</p>
<p align="justify">Пути, маска создаваемых файлов, редактор и пейджер:</p>
<p>Пути, маска создаваемых файлов, редактор и пейджер:</p>
{% highlight bash %}
# path
export PATH="$PATH:$HOME/.local/bin"
@ -493,7 +493,7 @@ export EDITOR="vim"
export PAGER="vimpager"
{% endhighlight %}
<p align="justify">Хэши. Если они включены, команда <code>~global</code> будет эквивалентна команде <code>/mnt/global</code>:</p>
<p>Хэши. Если они включены, команда <code>~global</code> будет эквивалентна команде <code>/mnt/global</code>:</p>
{% highlight bash %}
# hash
hash -d global=/mnt/global
@ -504,7 +504,7 @@ hash -d u2=/mnt/usbdev2
{% endhighlight %}
<h2><a name="screenshot" class="anchor" href="#screenshot"><span class="octicon octicon-link"></span></a>Скриншот</h2>
<p align="justify"><a href="/resources/screenshots/zshrc_demo.png"><img src="/resources/preview/zshrc_demo_prev.jpg"></a></p>
<p><a href="/resources/screenshots/zshrc_demo.png"><img src="/resources/preview/zshrc_demo_prev.jpg"></a></p>
<h2><a name="file" class="anchor" href="#file"><span class="octicon octicon-link"></span></a>Файл</h2>
<p align="justify"><a href="https://raw.github.com/arcan1s/dotfiles/master/zshrc">Мой</a> <code>.zshrc</code>.</p>
<p><a href="https://raw.github.com/arcan1s/dotfiles/master/zshrc">Мой</a> <code>.zshrc</code>.</p>

View File

@ -8,27 +8,27 @@ short: building-qutim-using-qt5
description: Если кто-то не знает, <a href="http://qutim.org">Qutim</a> - мультипротокольный кросс-платформенный месседжер. Написан он на <code>CPP</code> с использованием библиотек Qt. Проект активно развивается. В этой статье речь пойдет о реализации сборки данного пакета в Archlinux с использованием библиотек Qt5 (а не Qt4, как это делают текущие пакеты в AUR).
---
<h2><a name="problems" class="anchor" href="#problems"><span class="octicon octicon-link"></span></a>Что не так?</h2>
<p align="justify">Да все так. Просто пакет использует для сборки систему <a href="http://qt-project.org/wiki/qbs">qbs</a>, которая, на мой взгляд, немного странная. Пакет, необходимый для сборки, <a href="https://aur.archlinux.org/packages/qbs-git/">находится в AUR</a> (рекомендую git-версию). Когда я спросил у Andrea Scarpino (который сопровождает все KDE и Qt пакеты в официальные репозитории) по поводу переноса этого пакета в репозитории, он ответил, что всему свое время. В принципе, я с ним согласен, так как проект, судя по всему, еще немного сыроват.</p>
<p>Да все так. Просто пакет использует для сборки систему <a href="http://qt-project.org/wiki/qbs">qbs</a>, которая, на мой взгляд, немного странная. Пакет, необходимый для сборки, <a href="https://aur.archlinux.org/packages/qbs-git/">находится в AUR</a> (рекомендую git-версию). Когда я спросил у Andrea Scarpino (который сопровождает все KDE и Qt пакеты в официальные репозитории) по поводу переноса этого пакета в репозитории, он ответил, что всему свое время. В принципе, я с ним согласен, так как проект, судя по всему, еще немного сыроват.</p>
<h2><a name="prepare" class="anchor" href="#prepare"><span class="octicon octicon-link"></span></a>Подготовка</h2>
<p align="justify">Установим зависимости. Что-то может быть пропустил, зависимости сканировал с использованием <code>namcap</code>:</p>
<p>Установим зависимости. Что-то может быть пропустил, зависимости сканировал с использованием <code>namcap</code>:</p>
{% highlight bash %}
pacman -Sy --asdeps clang git libc++abi qt5-quick1 qt5-x11extras
yaourt -S --asdeps jreen-git qbs-git
{% endhighlight %}
<h3><a name="qbs" class="anchor" href="#qbs"><span class="octicon octicon-link"></span></a>Настройка qbs</h3>
<p align="justify">Желающие могут почитать документацию <a href="http://qt-project.org/wiki/qbs">по ссылке</a> или посмотреть примеры (включены в пакет). Загвоздка в том, что эта штука использует файл настроек, который, во-первых, нужно сначала сгенерировать, во-вторых, хранится в домашней директории (и только там). В теории, генерация файла настроек (<code>~/.config/QtProject/qbs.conf</code>) происходит следующим образом:</p>
<p>Желающие могут почитать документацию <a href="http://qt-project.org/wiki/qbs">по ссылке</a> или посмотреть примеры (включены в пакет). Загвоздка в том, что эта штука использует файл настроек, который, во-первых, нужно сначала сгенерировать, во-вторых, хранится в домашней директории (и только там). В теории, генерация файла настроек (<code>~/.config/QtProject/qbs.conf</code>) происходит следующим образом:</p>
{% highlight bash %}
qbs-setup-qt --detect
qbs-detect-toolchains
{% endhighlight %}
<p align="justify">Сначала находим Qt для сборки, потом находим инструментарий (компиляторы, например). Дальше вставляем инструментарий (например, нам для Qutim нужен <code>clang</code>) в Qt, например, так:</p>
<p>Сначала находим Qt для сборки, потом находим инструментарий (компиляторы, например). Дальше вставляем инструментарий (например, нам для Qutim нужен <code>clang</code>) в Qt, например, так:</p>
{% highlight bash %}
sed 's/clang\\/qt-5-2-0\\/g' -i ~/.config/QtProject/qbs.conf
{% endhighlight %}
<p align="justify">Альтернативные варианты - править файл вручную или воспользоваться <code>qbs-config-ui</code> или <code>qbs-config</code> на Ваш выбор.</p>
<p align="justify">Так или иначе, нужный файл мы сгенерировали, сохраним его в будущей директории сборки:</p>
<p>Альтернативные варианты - править файл вручную или воспользоваться <code>qbs-config-ui</code> или <code>qbs-config</code> на Ваш выбор.</p>
<p>Так или иначе, нужный файл мы сгенерировали, сохраним его в будущей директории сборки:</p>
{% highlight ini %}
[General]
@ -64,10 +64,10 @@ qutim\qbs\architecture=x86_64
qutim\qbs\endianness=little
qutim\qbs\toolchain=clang, llvm, gcc
{% endhighlight %}
<p align="justify"><a href="/resources/docs/qutim-qt5-git/qbs-qutim.conf">qbs-qutim.conf</a></p>
<p><a href="/resources/docs/qutim-qt5-git/qbs-qutim.conf">qbs-qutim.conf</a></p>
<h3><a name="patch" class="anchor" href="#patch"><span class="octicon octicon-link"></span></a>Готовим патч для исходников</h3>
<p align="justify">Первая проблема - <code>clang</code> (по крайней мере, в Archlinux):</p>
<p>Первая проблема - <code>clang</code> (по крайней мере, в Archlinux):</p>
{% highlight diff %}
diff -ruN qutim.orig/core/libqutim.qbs qutim/core/libqutim.qbs
--- qutim.orig/core/libqutim.qbs 2014-01-06 15:39:56.000000000 +0400
@ -82,7 +82,7 @@ diff -ruN qutim.orig/core/libqutim.qbs qutim/core/libqutim.qbs
}
{% endhighlight %}
<p align="justify">И пофиксить сборку библиотеки для Vk:</p>
<p>И пофиксить сборку библиотеки для Vk:</p>
{% highlight diff %}
diff -ruN qutim.orig/protocols/vkontakte/vreen/vreen.qbs qutim/protocols/vkontakte/vreen/vreen.qbs
--- qutim.orig/protocols/vkontakte/vreen/vreen.qbs 2014-01-06 15:41:42.000000000 +0400
@ -96,7 +96,7 @@ diff -ruN qutim.orig/protocols/vkontakte/vreen/vreen.qbs qutim/protocols/vkontak
property string vreen_version_major: 1
property string vreen_version_minor: 9
{% endhighlight %}
<p align="justify"><a href="/resources/docs/qutim-qt5-git/qutim-qbs-1.1.patch">qutim-qbs-1.1.patch</a></p>
<p><a href="/resources/docs/qutim-qt5-git/qutim-qbs-1.1.patch">qutim-qbs-1.1.patch</a></p>
<h3><a name="sources" class="anchor" href="#sources"><span class="octicon octicon-link"></span></a>Получаем исходники</h3>
{% highlight bash %}
@ -120,13 +120,13 @@ patch -p0 -i qutim-qbs-1.1.patch
cd qutim
HOME=$(pwd) qbs -j $(nproc) -d ../build release profile:qutim
{% endhighlight %}
<p align="justify">Я пытался сделать универсальный способ сборки пакета, поэтому такое странное переназначение домашней директории. Флаг <code>-j</code> указывает число потоков сборки, флаг <code>-d</code> директорию сборки, <code>release</code> тип сборки (debug, release), <code>profile</code> используемый профиль, описанный в файле настроек.</p>
<p>Я пытался сделать универсальный способ сборки пакета, поэтому такое странное переназначение домашней директории. Флаг <code>-j</code> указывает число потоков сборки, флаг <code>-d</code> директорию сборки, <code>release</code> тип сборки (debug, release), <code>profile</code> используемый профиль, описанный в файле настроек.</p>
<h2><a name="install" class="anchor" href="#install"><span class="octicon octicon-link"></span></a>Установка</h2>
{% highlight bash %}
HOME=$(pwd) sudo qbs install -d ../build --install-root "/usr" profile:qutim
{% endhighlight %}
<p align="justify">Из нового - указание корневого каталога (<code>--install-root</code>). Без этого пакет будет установлен в <code>/</code> (<code>/bin</code> и <code>/lib</code>).</p>
<p>Из нового - указание корневого каталога (<code>--install-root</code>). Без этого пакет будет установлен в <code>/</code> (<code>/bin</code> и <code>/lib</code>).</p>
<h2><a name="pkgbuild" class="anchor" href="#pkgbuild"><span class="octicon octicon-link"></span></a>PKGBUILD</h2>
{% highlight bash %}
@ -181,4 +181,4 @@ package() {
HOME="${srcdir}" qbs install -d ../build --install-root "${pkgdir}/usr" profile:qutim
}
{% endhighlight %}
<p align="justify"><a href="/resources/docs/qutim-qt5-git/PKGBUILD">PKGBUILD</a></p>
<p><a href="/resources/docs/qutim-qt5-git/PKGBUILD">PKGBUILD</a></p>

View File

@ -8,12 +8,12 @@ short: creating-custom-repo
description: Небольшая статья, посвященная созданию собственного репозитория для Archlinux.
---
<h2><a name="prepare" class="anchor" href="#prepare"><span class="octicon octicon-link"></span></a>Подготовка</h2>
<p align="justify">Для начала находим сервер и желание с ним заниматься сексом. Для простоты, лучше, чтобы там стоял Archlinux, хотя, это и не совсем обязательно (можно создать отдельный корень под Arch). Из пакетов, пожалуй, нам понадобится только два, <code>devtools</code> и сам <code>pacman</code>:</p>
<p>Для начала находим сервер и желание с ним заниматься сексом. Для простоты, лучше, чтобы там стоял Archlinux, хотя, это и не совсем обязательно (можно создать отдельный корень под Arch). Из пакетов, пожалуй, нам понадобится только два, <code>devtools</code> и сам <code>pacman</code>:</p>
{% highlight bash %}
pacman -Sy devtools
{% endhighlight %}
<p align="justify"><a href="https://www.archlinux.org/packages/devtools/">devtools</a> - набор скриптов, предназначенный для автоматизации сборки пакетов в чистом чруте. Думаю, большинство мейнтейнеров Arch'а пользуются им.</p>
<p align="justify">Создадим рабочие директории и установим цвета:</p>
<p><a href="https://www.archlinux.org/packages/devtools/">devtools</a> - набор скриптов, предназначенный для автоматизации сборки пакетов в чистом чруте. Думаю, большинство мейнтейнеров Arch'а пользуются им.</p>
<p>Создадим рабочие директории и установим цвета:</p>
{% highlight bash %}
# цвета
if [ ${USECOLOR} == "yes" ]; then
@ -49,11 +49,11 @@ if [ ! -d "${STAGINGDIR}" ]; then
mkdir -p "${STAGINGDIR}" || error_mes "unknown"
fi
{% endhighlight %}
<p align="justify">Директории <code>${REPODIR}/{i686,x86_64}</code> для самого репозитория, <code>${PREPAREDIR}</code> - директория, где будут лежать собранные пакеты, <code>${STAGINGDIR}</code> - директория, откуда будут собираться пакеты.</p>
<p>Директории <code>${REPODIR}/{i686,x86_64}</code> для самого репозитория, <code>${PREPAREDIR}</code> - директория, где будут лежать собранные пакеты, <code>${STAGINGDIR}</code> - директория, откуда будут собираться пакеты.</p>
<h2><a name="theory" class="anchor" href="#theory"><span class="octicon octicon-link"></span></a>Немного теории</h2>
<p align="justify">Создаем директорию, расшариваем ее (например, по <a href="/ru/2014/03/06/site-changes/">ftp</a>). В ней две субдиректории - <code>i686</code> и <code>x86_64</code>, для каждого типа архитектур соответственно. И наполняем их набором пакетов по Вашему усмотрению.</p>
<p align="justify">Процесс обновления репозитория можно разбить на следующие части:</p>
<p>Создаем директорию, расшариваем ее (например, по <a href="/ru/2014/03/06/site-changes/">ftp</a>). В ней две субдиректории - <code>i686</code> и <code>x86_64</code>, для каждого типа архитектур соответственно. И наполняем их набором пакетов по Вашему усмотрению.</p>
<p>Процесс обновления репозитория можно разбить на следующие части:</p>
<ol>
<li>Создание PKGBUILD'ов (обновление их из AUR'а).</li>
<li>Сборка пакетов для различных архитектур в чистом чруте.</li>
@ -66,17 +66,17 @@ fi
</li>
<li>Очистка.</li>
</ol>
<p align="justify">Теперь по шагам.</p>
<p>Теперь по шагам.</p>
<h3><a name="pkgbuild" class="anchor" href="#pkgbuild"><span class="octicon octicon-link"></span></a>Создание PKGBUILD'ов</h3>
<p align="justify">Скачаем исходники для всех нужных пакетов из AUR'а:</p>
<p>Скачаем исходники для всех нужных пакетов из AUR'а:</p>
{% highlight bash %}
cd "${STAGINGDIR}"
yaourt -G package-name
{% endhighlight %}
<h3><a name="building" class="anchor" href="#building"><span class="octicon octicon-link"></span></a>Сборка пакетов</h3>
<p align="justify">Автоматически соберем каждый пакет:</p>
<p>Автоматически соберем каждый пакет:</p>
{% highlight bash %}
func_build() {
if [ ${USECOLOR} == "yes" ]; then
@ -114,7 +114,7 @@ echo -e "${bwhite}[II]${cclose} Building packages"
cd "${STAGINGDIR}"
/usr/bin/find -name 'PKGBUILD' -type f -execdir /usr/bin/bash -c "func_build "${PREPAREDIR}" "${ROOTDIR}"" \;
{% endhighlight %}
<p align="justify">Для удобства рекомендую добавить в файл <code>/etc/sudoers</code> следующие строки:</p>
<p>Для удобства рекомендую добавить в файл <code>/etc/sudoers</code> следующие строки:</p>
{% highlight bash %}
username ALL=NOPASSWD: /usr/bin/staging-i686-build
username ALL=NOPASSWD: /usr/bin/staging-x86_64-build
@ -132,7 +132,7 @@ if [ ${USEGPG} == "yes" ]; then
done
fi
{% endhighlight %}
<p align="justify">Для удобства рекомендую настроить <a href="https://wiki.archlinux.org/index.php/GPG#gpg-agent">gpg-agent</a>.</p>
<p>Для удобства рекомендую настроить <a href="https://wiki.archlinux.org/index.php/GPG#gpg-agent">gpg-agent</a>.</p>
<h3><a name="list" class="anchor" href="#list"><span class="octicon octicon-link"></span></a>Создание списка пакетов</h3>
{% highlight bash %}
@ -145,14 +145,14 @@ echo -e "${bwhite}[II] ${bblue}=>${cclose} x86_64 packages: \n${bwhite}${x86_64_
{% endhighlight %}
<h3><a name="updating" class="anchor" href="#updating"><span class="octicon octicon-link"></span></a>Обновление репозиториев</h3>
<p align="justify">Функция для удаления пакетов из базы данных и из репозитория:</p>
<p>Функция для удаления пакетов из базы данных и из репозитория:</p>
{% highlight bash %}
func_remove() {
_PACKAGE="$1"
/usr/bin/rm -f "${_PACKAGE}"{,.sig}
}
{% endhighlight %}
<p align="justify">Обновление репозитория <code>i686</code>:</p>
<p>Обновление репозитория <code>i686</code>:</p>
{% highlight bash %}
# обновление репозитория i686
echo -e "${bwhite}[II]${cclose} Updating ${bwhite}i686${cclose} repo"
@ -169,7 +169,7 @@ for PACKAGE in ${i686_PACKAGES}; do
/usr/bin/repo-add --files ${DBNAME}.files.tar.gz "${PACKAGE}"
done
{% endhighlight %}
<p align="justify">Обновление репозитория <code>x86_64</code>:</p>
<p>Обновление репозитория <code>x86_64</code>:</p>
{% highlight bash %}
# обновление репозитория x86_64
echo -e "${bwhite}[II]${cclose} Updating ${bwhite}x86_64${cclose} repo"
@ -197,7 +197,7 @@ cd "${STAGINGDIR}"
{% endhighlight %}
<h3><a name="symlinks" class="anchor" href="#symlinks"><span class="octicon octicon-link"></span></a>Создание симлинков</h3>
<p align="justify">Вы можете захотеть создать директорию, которая будет содержать симлинки на актуальные версии пакетов с именами, не содержащими версии:</p>
<p>Вы можете захотеть создать директорию, которая будет содержать симлинки на актуальные версии пакетов с именами, не содержащими версии:</p>
{% highlight bash %}
# создание симлинков
if [ ${SYMLINK} == "yes" ]; then
@ -220,10 +220,10 @@ fi
{% endhighlight %}
<h3><a name="file" class="anchor" href="#file"><span class="octicon octicon-link"></span></a>Файл</h3>
<p align="justify"><a href="https://github.com/arcan1s/repo-scripts">Скрипты</a> целиком. Скачиваем исходники для пакетов, запускаем скрипт (при необходимости, редактируем переменные) и радуемся жизни.</p>
<p><a href="https://github.com/arcan1s/repo-scripts">Скрипты</a> целиком. Скачиваем исходники для пакетов, запускаем скрипт (при необходимости, редактируем переменные) и радуемся жизни.</p>
<h2><a name="using" class="anchor" href="#using"><span class="octicon octicon-link"></span></a>Использование репозитория</h2>
<p align="justify">Просто добавляем в файл <code>/etc/pacman.conf</code> следующие строки:</p>
<p>Просто добавляем в файл <code>/etc/pacman.conf</code> следующие строки:</p>
{% highlight bash %}
[$REPONAME]
Server = ftp://$REPOADDRESS/repo/$arch

View File

@ -8,25 +8,25 @@ short: loveless
description: На правах оффтопа, небольшая поэма из Final Fantasy VII Crisis Core.
---
<h2><a name="prologue" class="anchor" href="#prologue"><span class="octicon octicon-link"></span></a>Prologue</h2>
<p align="justify">
<p>
When the war of the beasts brings about the world's end<br>
The goddess descends from the sky<br>
Wings of light and dark spread afar<br>
She guides us to bliss, her gift everlasting.</p>
<h2><a name="acti" class="anchor" href="#acti"><span class="octicon octicon-link"></span></a>Act I</h2>
<p align="justify">Infinite in mystery is the gift of the Goddess<br>
<p>Infinite in mystery is the gift of the Goddess<br>
We seek it thus, and take to the sky<br>
Ripples form on the water's surface<br>
The wandering soul knows no rest.</p>
<h2><a name="actii" class="anchor" href="#actii"><span class="octicon octicon-link"></span></a>Act II</h2>
<p align="justify">There is no hate, only joy<br>
<p>There is no hate, only joy<br>
For you are beloved by the goddess<br>
Hero of the dawn, Healer of worlds<br>
Dreams of the morrow hath the shattered soul<br>
Pride is lost<br>
Wings stripped away, the end is nigh.</p>
<h2><a name="actiii" class="anchor" href="#actiii"><span class="octicon octicon-link"></span></a>Act III</h2>
<p align="justify">My friend, do you fly away now?<br>
<p>My friend, do you fly away now?<br>
To a world that abhors you and I?<br>
All that awaits you is a somber morrow<br>
No matter where the winds may blow<br>
@ -35,7 +35,7 @@ Is the bringer of life, the gift of the goddess<br>
Even if the morrow is barren of promises<br>
Nothing shall forestall my return.</p>
<h2><a name="activ" class="anchor" href="#activ"><span class="octicon octicon-link"></span></a>Act IV</h2>
<p align="justify">My friend, the fates are cruel<br>
<p>My friend, the fates are cruel<br>
There are no dreams, no honor remains<br>
The arrow has left, the bow of the goddess<br>
My soul, corrupted by vengeance<br>
@ -46,7 +46,7 @@ Legend shall speak<br>
Of sacrifice at world's end<br>
The wind sails over the water's surface.</p>
<h2><a name="actv" class="anchor" href="#actv"><span class="octicon octicon-link"></span></a>Act V</h2>
<p align="justify">Even if the morrow is barren of promises<br>
<p>Even if the morrow is barren of promises<br>
Nothing shall forestall my return<br>
To become the dew that quenches the land<br>
To spare the sands, the seas, the skies<br>

View File

@ -9,70 +9,70 @@ description: Небольшая статья, посвященная набор
---
<h2><a name="apps" class="anchor" href="#apps"><span class="octicon octicon-link"></span></a>Приложения</h2>
<ul>
<li><p align="justify"><b>Shell</b> - zshrc без вариантов. Некоторое описание моих настроек шелла могут быть найдены <a href="/ru/2014/01/14/about-zshrc/">тут</a>. Сами настройки хранятся <a href="https://raw.githubusercontent.com/arcan1s/dotfiles/master/zshrc">тут</a> или <a href="https://raw.githubusercontent.com/arcan1s/dotfiles/master/zshrc_server">тут</a>.</p></li>
<li><p><b>Shell</b> - zshrc без вариантов. Некоторое описание моих настроек шелла могут быть найдены <a href="/ru/2014/01/14/about-zshrc/">тут</a>. Сами настройки хранятся <a href="https://raw.githubusercontent.com/arcan1s/dotfiles/master/zshrc">тут</a> или <a href="https://raw.githubusercontent.com/arcan1s/dotfiles/master/zshrc_server">тут</a>.</p></li>
<li><p align="justify"><b>DE</b> - KDE со всеми вытекающими (поэтому набор приложений, преимущественно, Qt-based). Некоторые подробности приготовления KDE будут даны ниже.</p></li>
<li><p><b>DE</b> - KDE со всеми вытекающими (поэтому набор приложений, преимущественно, Qt-based). Некоторые подробности приготовления KDE будут даны ниже.</p></li>
<li><p align="justify"><b>Работа с изображениями</b> - <a href="http://kde.org/applications/graphics/gwenview/">gwenview</a> для просмотра и быстрого редактирования, <a href="http://kde.org/applications/graphics/kolourpaint/">kolourpaint</a> для простого редактирования стандартных форматов пиксельной графики, <a href="http://www.gimp.org/">gimp</a> (без плагинов, ибо не было необходимости) для более сурового редактирования и <a href="http://www.inkscape.org/">inkskape</a> для работы с векторной графикой.</p></li>
<li><p><b>Работа с изображениями</b> - <a href="http://kde.org/applications/graphics/gwenview/">gwenview</a> для просмотра и быстрого редактирования, <a href="http://kde.org/applications/graphics/kolourpaint/">kolourpaint</a> для простого редактирования стандартных форматов пиксельной графики, <a href="http://www.gimp.org/">gimp</a> (без плагинов, ибо не было необходимости) для более сурового редактирования и <a href="http://www.inkscape.org/">inkskape</a> для работы с векторной графикой.</p></li>
<li><p align="justify"><b>Браузер</b> - Firefox, ранее Qupzilla, еще ранее Opera. Некоторый набор настроек Firefox будет дан ниже. Дополнительный браузер - Chromium. Консольный - elinks.</p></li>
<li><p><b>Браузер</b> - Firefox, ранее Qupzilla, еще ранее Opera. Некоторый набор настроек Firefox будет дан ниже. Дополнительный браузер - Chromium. Консольный - elinks.</p></li>
<li><p align="justify"><b>IM клиент</b> - <a href="http://qutim.org">qutIM</a>. Кроссплатформенный, мультипротокольный, с необходимым набором фич. <a href="http://kde.org/applications/internet/kopete/">Kopete</a>, который использовался ранее, часто падал, работал как хотел и вообще не дружил с кодировкой. Раньше еще был какой то консольный, но сейчас его нет. Для таких случаев предпочитаю использовать клиент с планшета. Skype для скайпа, очевидно.</p></li>
<li><p><b>IM клиент</b> - <a href="http://qutim.org">qutIM</a>. Кроссплатформенный, мультипротокольный, с необходимым набором фич. <a href="http://kde.org/applications/internet/kopete/">Kopete</a>, который использовался ранее, часто падал, работал как хотел и вообще не дружил с кодировкой. Раньше еще был какой то консольный, но сейчас его нет. Для таких случаев предпочитаю использовать клиент с планшета. Skype для скайпа, очевидно.</p></li>
<li><p align="justify"><b>Почтовый клиент</b> - <a href="http://kde.org/applications/internet/kmail/">kmail</a>. Много фич, большая часть из которых мною используется, симпатично выглядит и удобный. Еще бы был DE-независимый, цены бы ему не было.</p></li>
<li><p><b>Почтовый клиент</b> - <a href="http://kde.org/applications/internet/kmail/">kmail</a>. Много фич, большая часть из которых мною используется, симпатично выглядит и удобный. Еще бы был DE-независимый, цены бы ему не было.</p></li>
<li><p align="justify"><b>IRC клиент</b> - <a href="http://konversation.kde.org/">konversation</a>. Самый обычный IRC-клиент. Хотя, если мне не изменяет память, qutIM тоже поддерживает IRC протокол, лично мне удобнее использовать отдельный клиент для этого.</p></li>
<li><p><b>IRC клиент</b> - <a href="http://konversation.kde.org/">konversation</a>. Самый обычный IRC-клиент. Хотя, если мне не изменяет память, qutIM тоже поддерживает IRC протокол, лично мне удобнее использовать отдельный клиент для этого.</p></li>
<li><p align="justify"><b>Torrent клиент</b> - <a href="http://www.transmissionbt.com/">transmission</a> с Qt5 интерфейсом (gtk тоже имеется). Для сервера он же, но без GUI.</p></li>
<li><p><b>Torrent клиент</b> - <a href="http://www.transmissionbt.com/">transmission</a> с Qt5 интерфейсом (gtk тоже имеется). Для сервера он же, но без GUI.</p></li>
<li><p align="justify"><b>Видео плеер</b> - <a href="http://mpv.io/">mpv</a>. Mplayer умер, а mplayer2 родился мертворожденным. Ах да, графические надстройки сверху ненужны.</p></li>
<li><p><b>Видео плеер</b> - <a href="http://mpv.io/">mpv</a>. Mplayer умер, а mplayer2 родился мертворожденным. Ах да, графические надстройки сверху ненужны.</p></li>
<li><p align="justify"><b>Аудио плеер</b> - <a href="http://qmmp.ylsoftware.com/">qmmp</a>. Хороший, годный плеер с закосом под winamp. Легким движением руки делаем ему человеческий интерфейс aka simpleui.</p></li>
<li><p><b>Аудио плеер</b> - <a href="http://qmmp.ylsoftware.com/">qmmp</a>. Хороший, годный плеер с закосом под winamp. Легким движением руки делаем ему человеческий интерфейс aka simpleui.</p></li>
<li><p align="justify"><b>Работа с аудио/видео</b> - <a href="http://kde-apps.org/content/show.php?content=29024">kdenlive</a> для работы с видео, <a href="http://kde-apps.org/content/show.php?content=29024">soundkonverter</a> для работы с аудио, <a href="https://wiki.gnome.org/Apps/EasyTAG">easytag</a> для работы с аудио тегами (gtk, но зато единственный, чья функциональность меня устроила). Ну и командная строка и небольшие скрипты на bash.</p></li>
<li><p><b>Работа с аудио/видео</b> - <a href="http://kde-apps.org/content/show.php?content=29024">kdenlive</a> для работы с видео, <a href="http://kde-apps.org/content/show.php?content=29024">soundkonverter</a> для работы с аудио, <a href="https://wiki.gnome.org/Apps/EasyTAG">easytag</a> для работы с аудио тегами (gtk, но зато единственный, чья функциональность меня устроила). Ну и командная строка и небольшие скрипты на bash.</p></li>
<li><p align="justify"><b>Офис</b> - <a href="http://wps-community.org/">Kingsoft Office</a> в качестве замены Microsoft Office; в общем то ничем не примечательный, разве что не так ущербно смотрится, как стандартные офисы, Qt-based и, говорят, с хорошей поддержкой стандартных форматов. Версия под линукс находится в состоянии альфы. <a href="http://kile.sourceforge.net/">Kile</a> в качестве фронтенда к LaTeX. <a href="http://kde.org/applications/graphics/okular/">Okular</a>, как просмотрщик всего. <a href="http://goldendict.org/">GoldenDict</a> в качестве словаря.</p></li>
<li><p><b>Офис</b> - <a href="http://wps-community.org/">Kingsoft Office</a> в качестве замены Microsoft Office; в общем то ничем не примечательный, разве что не так ущербно смотрится, как стандартные офисы, Qt-based и, говорят, с хорошей поддержкой стандартных форматов. Версия под линукс находится в состоянии альфы. <a href="http://kile.sourceforge.net/">Kile</a> в качестве фронтенда к LaTeX. <a href="http://kde.org/applications/graphics/okular/">Okular</a>, как просмотрщик всего. <a href="http://goldendict.org/">GoldenDict</a> в качестве словаря.</p></li>
<li><p align="justify"><b>Редакторы</b> - <a href="http://www.kde.org/applications/utilities/kwrite/">kwrite</a> в качестве легковесного редактора, <a href="http://www.kde.org/applications/utilities/kate/">kate</a> (с плагином <a href="http://zaufi.github.io/kate-cpp-helper-plugin.html">cpp-helper</a>) для более суровых вещей. Немного начал осваивать сейчас еще <a href="https://atom.io/">atom</a>. Ну и, конечно, vim для консоли.</p></li>
<li><p><b>Редакторы</b> - <a href="http://www.kde.org/applications/utilities/kwrite/">kwrite</a> в качестве легковесного редактора, <a href="http://www.kde.org/applications/utilities/kate/">kate</a> (с плагином <a href="http://zaufi.github.io/kate-cpp-helper-plugin.html">cpp-helper</a>) для более суровых вещей. Немного начал осваивать сейчас еще <a href="https://atom.io/">atom</a>. Ну и, конечно, vim для консоли.</p></li>
<li><p align="justify"><b>Научный софт</b>. Визуализаторы химические - <a href="http://www.ks.uiuc.edu/Research/vmd/">vmd</a>, <a href="http://www.cgl.ucsf.edu/chimera/">chimera</a> и <a href="http://pymol.org/">pymol</a>. Физический симулятор <a href="http://kde.org/applications/education/step/">step</a>. Калькулятор <a href="http://kde.org/applications/education/kalgebra/">kalgebra</a> и консольный <a href="http://ipython.org/">ipython</a>. Рисовалка графиков и анализ <a href="http://qtiplot.com/">qtiplot</a> (его форк scidavis, к сожалению, полумертв), только рисовалка - <a href="http://plasma-gate.weizmann.ac.il/Grace/">grace</a>. <a href="http://ruby.chemie.uni-freiburg.de/~martin/chemtool/chemtool.html">Chemtool</a> в качестве замены ChemDraw.</p></li>
<li><p><b>Научный софт</b>. Визуализаторы химические - <a href="http://www.ks.uiuc.edu/Research/vmd/">vmd</a>, <a href="http://www.cgl.ucsf.edu/chimera/">chimera</a> и <a href="http://pymol.org/">pymol</a>. Физический симулятор <a href="http://kde.org/applications/education/step/">step</a>. Калькулятор <a href="http://kde.org/applications/education/kalgebra/">kalgebra</a> и консольный <a href="http://ipython.org/">ipython</a>. Рисовалка графиков и анализ <a href="http://qtiplot.com/">qtiplot</a> (его форк scidavis, к сожалению, полумертв), только рисовалка - <a href="http://plasma-gate.weizmann.ac.il/Grace/">grace</a>. <a href="http://ruby.chemie.uni-freiburg.de/~martin/chemtool/chemtool.html">Chemtool</a> в качестве замены ChemDraw.</p></li>
<li><p align="justify"><b>Системное</b>. Файловый менеджер <a href="http://kde.org/applications/system/dolphin/">dolphin</a>, <a href="http://doublecmd.sourceforge.net/">doublecmd</a> как двухпанельный менеджер. Эмуляторы терминала - <a href="http://yakuake.kde.org/">yakuake</a> и <a href="http://software.schmorp.de/pkg/rxvt-unicode.html">urxvt</a> в качестве оконного. Графический интерфейс для архиваторов <a href="http://kde.org/applications/utilities/ark/">ark</a>.</p></li>
<li><p><b>Системное</b>. Файловый менеджер <a href="http://kde.org/applications/system/dolphin/">dolphin</a>, <a href="http://doublecmd.sourceforge.net/">doublecmd</a> как двухпанельный менеджер. Эмуляторы терминала - <a href="http://yakuake.kde.org/">yakuake</a> и <a href="http://software.schmorp.de/pkg/rxvt-unicode.html">urxvt</a> в качестве оконного. Графический интерфейс для архиваторов <a href="http://kde.org/applications/utilities/ark/">ark</a>.</p></li>
</ul>
<h2><a name="kde" class="anchor" href="#kde"><span class="octicon octicon-link"></span></a>Настройка KDE</h2>
<p align="justify">Нотариально заверенный скриншот:<br>
<p>Нотариально заверенный скриншот:<br>
<a href="/resources/screenshots/kde.png"><img src="/resources/preview/kde_prev.jpg"></a></p>
<p align="justify">В качестве стиля Qt используется QtCurve, настройки могут быть найдены <a href="https://github.com/arcan1s/dotfiles/tree/master/qtcurve">здесь</a>, оформление окон оттуда же. Курсор <a href="http://kde-look.org/content/show.php/Ecliz?content=110340">ecliz-small</a>. Тема плазмы <a href="http://kde-look.org/content/show.php/Volatile?content=128110">volatile</a>. Значки <a href="http://nitrux.in/">compass</a>. Шрифты на базе Liberation.</p>
<p>В качестве стиля Qt используется QtCurve, настройки могут быть найдены <a href="https://github.com/arcan1s/dotfiles/tree/master/qtcurve">здесь</a>, оформление окон оттуда же. Курсор <a href="http://kde-look.org/content/show.php/Ecliz?content=110340">ecliz-small</a>. Тема плазмы <a href="http://kde-look.org/content/show.php/Volatile?content=128110">volatile</a>. Значки <a href="http://nitrux.in/">compass</a>. Шрифты на базе Liberation.</p>
<p align="justify"><b>Используемые виджеты</b> (слева направо, сверху вниз): <a href="https://launchpad.net/plasma-widget-menubar">menubar</a>, <a href="http://userbase.kde.org/Homerun">homerun</a> с прозрачной иконкой, <a href="http://kde-apps.org/content/show.php?content=144808">icontask</a>, <a href="/ru/projects/netctl-gui/">netctl</a>, стандартный трей от KDE, <a href="http://agateau.com/projects/colibri/">colibri</a> в качестве уведомлений, <a href="/ru/projects/pytextmonitor">pytextmonitor</a>.</p>
<p><b>Используемые виджеты</b> (слева направо, сверху вниз): <a href="https://launchpad.net/plasma-widget-menubar">menubar</a>, <a href="http://userbase.kde.org/Homerun">homerun</a> с прозрачной иконкой, <a href="http://kde-apps.org/content/show.php?content=144808">icontask</a>, <a href="/ru/projects/netctl-gui/">netctl</a>, стандартный трей от KDE, <a href="http://agateau.com/projects/colibri/">colibri</a> в качестве уведомлений, <a href="/ru/projects/pytextmonitor">pytextmonitor</a>.</p>
<p align="justify">В качестве бонусного материала - яркие цвета в консоли (для <a href="https://github.com/arcan1s/dotfiles/blob/master/themes/yakuake/My%20color.colorscheme">konsole</a>):<br>
<p>В качестве бонусного материала - яркие цвета в консоли (для <a href="https://github.com/arcan1s/dotfiles/blob/master/themes/yakuake/My%20color.colorscheme">konsole</a>):<br>
<a href="/resources/screenshots/zshrc_demo.png"><img src="/resources/preview/zshrc_demo_prev.jpg"></a></p>
<h2><a name="firefox" class="anchor" href="#firefox"><span class="octicon octicon-link"></span></a>Настройка Firefox</h2>
<p align="justify">В самих настройках ничего интересного нет, я просто напишу список аддонов. Дико радует, что для того, чтобы интерфейс был минималистичным (и удобным), нужно поставить кучу плагинов.</p>
<p>В самих настройках ничего интересного нет, я просто напишу список аддонов. Дико радует, что для того, чтобы интерфейс был минималистичным (и удобным), нужно поставить кучу плагинов.</p>
<ul>
<li><p align="justify"><b>Adblock plus</b> - куда же без него.</p></li>
<li><p align="justify"><b>Add to search bar</b> - для кастомных поисков.</p></li>
<li><p align="justify"><b>Auto Refresh</b> - автоматическое обновление страниц.</p></li>
<li><p align="justify"><b>Clone tab</b> - добавляет функцию "Дублировать вкладку".</p></li>
<li><p align="justify"><b>Close tab by double click</b> - понятно, короче.</p></li>
<li><p align="justify"><b>New scrollbars</b> используется для кастомизации скроллбаров, потому что оригинальные смотрятся ущербно в Qt окружении.</p></li>
<li><p align="justify"><b>NoScript</b> используется, например, для I2P и Tor.</p></li>
<li><p align="justify"><b>PrivateTab</b> - добавляет приватную вкладку (а не окно).</p></li>
<li><p align="justify"><b>Proxy Selector</b> добавляет возможность использовать несколько прокси-серверов.</p></li>
<li><p align="justify"><b>QuickJava</b> используется примерно с той же целью, что и NoScript.</p></li>
<li><p align="justify"><b>RSS иконка в строке адреса</b> - очевидно.</p></li>
<li><p align="justify"><b>Словари для проверки орфографии</b> (eng/rus).</p></li>
<li><p align="justify"><b>Space Next</b> - на нажатие на пробел внизу страницы реагирует, как на нажатие кнопки "Далее".</p></li>
<li><p align="justify"><b>Speed Dial</b> - простая экспресс-панель.</p></li>
<li><p align="justify"><b>Status-4-Evar</b> - нормальная строка состояния.</p></li>
<li><p align="justify"><b>tab delabelifier</b> - сворачивает неиспользуемые вкладки.</p></li>
<li><p align="justify"><b>Tab Scope + Tab Scope Tweaker</b> - всплывающая подсказка у вкладок.</p></li>
<li><p align="justify"><b>accessKey</b> - пока не работает. Вообще служит для удобной навигации (opera-like) с клавиатуры.</p></li>
<li><p align="justify"><b>FXOpera</b> - нормальный минималистичный вид.</p></li>
<li><p><b>Adblock plus</b> - куда же без него.</p></li>
<li><p><b>Add to search bar</b> - для кастомных поисков.</p></li>
<li><p><b>Auto Refresh</b> - автоматическое обновление страниц.</p></li>
<li><p><b>Clone tab</b> - добавляет функцию "Дублировать вкладку".</p></li>
<li><p><b>Close tab by double click</b> - понятно, короче.</p></li>
<li><p><b>New scrollbars</b> используется для кастомизации скроллбаров, потому что оригинальные смотрятся ущербно в Qt окружении.</p></li>
<li><p><b>NoScript</b> используется, например, для I2P и Tor.</p></li>
<li><p><b>PrivateTab</b> - добавляет приватную вкладку (а не окно).</p></li>
<li><p><b>Proxy Selector</b> добавляет возможность использовать несколько прокси-серверов.</p></li>
<li><p><b>QuickJava</b> используется примерно с той же целью, что и NoScript.</p></li>
<li><p><b>RSS иконка в строке адреса</b> - очевидно.</p></li>
<li><p><b>Словари для проверки орфографии</b> (eng/rus).</p></li>
<li><p><b>Space Next</b> - на нажатие на пробел внизу страницы реагирует, как на нажатие кнопки "Далее".</p></li>
<li><p><b>Speed Dial</b> - простая экспресс-панель.</p></li>
<li><p><b>Status-4-Evar</b> - нормальная строка состояния.</p></li>
<li><p><b>tab delabelifier</b> - сворачивает неиспользуемые вкладки.</p></li>
<li><p><b>Tab Scope + Tab Scope Tweaker</b> - всплывающая подсказка у вкладок.</p></li>
<li><p><b>accessKey</b> - пока не работает. Вообще служит для удобной навигации (opera-like) с клавиатуры.</p></li>
<li><p><b>FXOpera</b> - нормальный минималистичный вид.</p></li>
</ul>

View File

@ -8,20 +8,20 @@ short: disabling-baloo
description: Пока ононимные онолитеги ЛОР'а ноют на тему baloo, я предпочел потратить 15 минут на то, чтобы отвязать приложения от этого чуда человеческой мысли.
---
<h2><a name="disclaimer" class="anchor" href="#disclaimer"><span class="octicon octicon-link"></span></a>Дисклеймер</h2>
<p align="justify">Сам этим я не пользуюсь, поскольку предпочитаю менее деструктивные методы. Однако, судя по всему, все работает без проблем, поскольку жалоб нет. Так как патч делался действительно за несколько минут, то он просто выкорчевывает все вызовы baloo из исходников (возможно, когда-нибудь я сделаю нормальный патч).</p>
<p>Сам этим я не пользуюсь, поскольку предпочитаю менее деструктивные методы. Однако, судя по всему, все работает без проблем, поскольку жалоб нет. Так как патч делался действительно за несколько минут, то он просто выкорчевывает все вызовы baloo из исходников (возможно, когда-нибудь я сделаю нормальный патч).</p>
<p align="justify">С другой стороны, я настоятельно рекомендую людям, которым по каким-либо причинам baloo не нужен, отключить его из меню настроек (добавили пункт в 4.13.1), либо воспользоваться этой <a href="http://blog.andreascarpino.it/disabling-baloo-the-arch-way/">статьей</a>.</p>
<p>С другой стороны, я настоятельно рекомендую людям, которым по каким-либо причинам baloo не нужен, отключить его из меню настроек (добавили пункт в 4.13.1), либо воспользоваться этой <a href="http://blog.andreascarpino.it/disabling-baloo-the-arch-way/">статьей</a>.</p>
<h2><a name="intro" class="anchor" href="#intro"><span class="octicon octicon-link"></span></a>Введение</h2>
<p align="justify">В Archlinux, на текущий момент (2014-05-18) от baloo, помимо <b>baloo-widgets</b>, зависит <b>gwenview</b> и <b>kdepim</b>. В версии 4.13.0, почему то, <b>kactivities</b> тоже зависел от baloo, однако, эта зависимость не требовалась явно (таким образом, достаточно было просто пересобрать его, удалив baloo из списка зависимостей).</p>
<p>В Archlinux, на текущий момент (2014-05-18) от baloo, помимо <b>baloo-widgets</b>, зависит <b>gwenview</b> и <b>kdepim</b>. В версии 4.13.0, почему то, <b>kactivities</b> тоже зависел от baloo, однако, эта зависимость не требовалась явно (таким образом, достаточно было просто пересобрать его, удалив baloo из списка зависимостей).</p>
<h2><a name="gwenview" class="anchor" href="#gwenview"><span class="octicon octicon-link"></span></a>gwenview</h2>
<p align="justify">Тут все довольно просто. Разработчики сами позаботились за нас о возможных пожеланиях простых пользователей и добавили специальный флаг:</p>
<p>Тут все довольно просто. Разработчики сами позаботились за нас о возможных пожеланиях простых пользователей и добавили специальный флаг:</p>
{% highlight cmake %}
//Semantic info backend for Gwenview (Baloo/Fake/None)
GWENVIEW_SEMANTICINFO_BACKEND:STRING=Baloo
{% endhighlight %}
<p align="justify">Таким образом, в сценарий сборки к cmake добавляем нужный флаг:</p>
<p>Таким образом, в сценарий сборки к cmake добавляем нужный флаг:</p>
{% highlight bash %}
cmake ../gwenview-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
@ -31,7 +31,7 @@ cmake ../gwenview-${pkgver} \
{% endhighlight %}
<h2><a name="kdepim" class="anchor" href="#kdepim"><span class="octicon octicon-link"></span></a>kdepim</h2>
<p align="justify">Так как делалось все на скорую руку, то я предпочел пробежаться по исходникам с помощью grep и найти все упоминания baloo. Нужные строки (а это указания на baloo в файлах CMakeLists.txt, вызовы функций из его библиотек, объявления заголовочных файлов) просто закомментировал (в исходном коде местами пришлось добавить фейковые вызовы). Патч полностью здесь приводить не буду (он, к тому же, немного большой), а дам <a href="https://gist.github.com/arcan1s/b698bb586faef627b3bb">ссылку на него</a> (4.13.2). Далее просто требуется применить этот патч к исходникам и пересобрать kdepim.</p>
<p>Так как делалось все на скорую руку, то я предпочел пробежаться по исходникам с помощью grep и найти все упоминания baloo. Нужные строки (а это указания на baloo в файлах CMakeLists.txt, вызовы функций из его библиотек, объявления заголовочных файлов) просто закомментировал (в исходном коде местами пришлось добавить фейковые вызовы). Патч полностью здесь приводить не буду (он, к тому же, немного большой), а дам <a href="https://gist.github.com/arcan1s/b698bb586faef627b3bb">ссылку на него</a> (4.13.2). Далее просто требуется применить этот патч к исходникам и пересобрать kdepim.</p>
<h2><a name="packages" class="anchor" href="#packages"><span class="octicon octicon-link"></span></a>Пакеты</h2>
<p align="justify">Все пакеты для Archlinux для обеих архитектур доступны <a href="https://wiki.archlinux.org/index.php/Unofficial_user_repositories#arcanisrepo">в моем репозитории</a>.</p>
<p>Все пакеты для Archlinux для обеих архитектур доступны <a href="https://wiki.archlinux.org/index.php/Unofficial_user_repositories#arcanisrepo">в моем репозитории</a>.</p>

View File

@ -8,15 +8,15 @@ short: about-aur
description: Статья посвященная работе с пользовательским репозиторием Archlinux. Постарался сделать акцент на сопровождении пакетов. Данная статья, в большей степени, представляет собой компиляцию нескольких англоязычных статей Wiki и немного личного опыта. Поэтому не уверен, что в данной статье на английском языке будет толк.
---
<h2><a name="aur" class="anchor" href="#aur"><span class="octicon octicon-link"></span></a>AUR</h2>
<p align="justify">Итак, <a href="https://aur.archlinux.org/">Arch User Repository</a> (AUR или АУР) - это репозиторий, поддерживаемый и развиваемый практически исключительно сообществом Archlinux. Есть еще отдельные люди, называемые <a href="https://www.archlinux.org/trustedusers/">доверенными пользователями</a> (TU), на плечах которых лежит своеобразная "модерация" этого репозитория. На мой скромный взгляд, едва ли не единственное отличие Archlinux от других дистрибутивов - это наличие AUR'а. Отличие этого репозитория от обычных прежде всего в том, что он <b>не содержит</b> архивов с исходниками или собранных пакетов - только скрипт сборки (PKGBUILD) и, возможно, дополнительные текстовые файлы.</p>
<p>Итак, <a href="https://aur.archlinux.org/">Arch User Repository</a> (AUR или АУР) - это репозиторий, поддерживаемый и развиваемый практически исключительно сообществом Archlinux. Есть еще отдельные люди, называемые <a href="https://www.archlinux.org/trustedusers/">доверенными пользователями</a> (TU), на плечах которых лежит своеобразная "модерация" этого репозитория. На мой скромный взгляд, едва ли не единственное отличие Archlinux от других дистрибутивов - это наличие AUR'а. Отличие этого репозитория от обычных прежде всего в том, что он <b>не содержит</b> архивов с исходниками или собранных пакетов - только скрипт сборки (PKGBUILD) и, возможно, дополнительные текстовые файлы.</p>
<p align="justify">Конечно, вручную скачивать архив с сайта AUR'а, а также проверять обновления, не совсем удобно, поэтому существует <a href="https://wiki.archlinux.org/index.php/AUR_Helpers">набор хелперов</a>. Большинство хелперов представляет собой обертку над pacman. Я выделю только два - <a href="https://aur.archlinux.org/packages/packer/">packer</a> - минималистичный, удобный, быстрый - и <a href="https://aur.archlinux.org/packages/yaourt/">yaourt</a> - на шелле, но зато более функциональный. По не особо понятным мне причинам, в русскоязычном сегменте большее распространение получил yaourt, зарубежом - packer.</p>
<p>Конечно, вручную скачивать архив с сайта AUR'а, а также проверять обновления, не совсем удобно, поэтому существует <a href="https://wiki.archlinux.org/index.php/AUR_Helpers">набор хелперов</a>. Большинство хелперов представляет собой обертку над pacman. Я выделю только два - <a href="https://aur.archlinux.org/packages/packer/">packer</a> - минималистичный, удобный, быстрый - и <a href="https://aur.archlinux.org/packages/yaourt/">yaourt</a> - на шелле, но зато более функциональный. По не особо понятным мне причинам, в русскоязычном сегменте большее распространение получил yaourt, зарубежом - packer.</p>
<p align="justify">Помимо хелперов, существуют также консольные клиенты для работы с AUR. Я выделю, пожалуй, только один - <a href="https://aur.archlinux.org/packages/python3-aur/">python-aur</a>. Иногда удобная альтернатива веб-интерфейсу.</p>
<p>Помимо хелперов, существуют также консольные клиенты для работы с AUR. Я выделю, пожалуй, только один - <a href="https://aur.archlinux.org/packages/python3-aur/">python-aur</a>. Иногда удобная альтернатива веб-интерфейсу.</p>
<p align="justify">Другая особенность данного репозитория - и не менее важная - <b>все действия с ним осуществляются на свой страх и риск</b>. Опасные и некорректные пакеты, конечно же, удаляются, но вполне могут быть и ошибки при сборке и еще все, что сможете придумать. Дык вот - работа с ним на вашей совести, и никто вам ничем не обязан, если что-то сломается. По этой же причине, ни один хелпер в обозримом будущем не будет перенесен в официальные репозитории.</p>
<p>Другая особенность данного репозитория - и не менее важная - <b>все действия с ним осуществляются на свой страх и риск</b>. Опасные и некорректные пакеты, конечно же, удаляются, но вполне могут быть и ошибки при сборке и еще все, что сможете придумать. Дык вот - работа с ним на вашей совести, и никто вам ничем не обязан, если что-то сломается. По этой же причине, ни один хелпер в обозримом будущем не будет перенесен в официальные репозитории.</p>
<p align="justify">У пакетов в AUR есть несколько характеристик, которых нет у пакетов в официальных репозиториях:
<p>У пакетов в AUR есть несколько характеристик, которых нет у пакетов в официальных репозиториях:
<ul>
<li>группа - скорее для удобства поиска, сортировки. Немного помогает доверенным пользователям.</li>
<li>автор, мейнтейнер, последний приславший - люди, кто, соответственно, первый раз прислал данный пакет, сопровождает его в настоящий момент, и последний прислал.</li>
@ -25,7 +25,7 @@ description: Статья посвященная работе с пользов
</p>
<h2><a name="install-from-aur" class="anchor" href="#install-from-aur"><span class="octicon octicon-link"></span></a>Установка с AUR</h2>
<p align="justify">Для работы с AUR требуется установить группу пакетов <a href="https://www.archlinux.org/groups/x86_64/base-devel/">base-devel</a>. Пакеты с этой группы, как правило, <b>не включены</b> в зависимости. Рекомендуемая установка пакетов с AUR выглядит примерно так:</p>
<p>Для работы с AUR требуется установить группу пакетов <a href="https://www.archlinux.org/groups/x86_64/base-devel/">base-devel</a>. Пакеты с этой группы, как правило, <b>не включены</b> в зависимости. Рекомендуемая установка пакетов с AUR выглядит примерно так:</p>
{% highlight bash %}
# скачать архив с PKGBUILD'ом c AUR
curl -L -O https://aur.archlinux.org/packages/fo/foo/foo.tar.gz
@ -40,13 +40,13 @@ pacman -U foo-0.1-1-i686.pkg.tar.xz
{% endhighlight %}
<h2><a name="upload-to-aur" class="anchor" href="#upload-to-aur"><span class="octicon octicon-link"></span></a>Загрузка пакета в AUR</h2>
<p align="justify"><b>Никаких</b> <code>makepkg -S</code>. С недавних пор данный метод считается устаревшим. Но обо всем по-порядку</p>
<p><b>Никаких</b> <code>makepkg -S</code>. С недавних пор данный метод считается устаревшим. Но обо всем по-порядку</p>
<p align="justify">Нам нужно загрузить архив на сайт. В этом архиве <b>должны быть</b> PKGBUILD и .AURINFO. По поводу первого я расскажу еще чуть ниже, второй генерируется автоматически. Также, там могут быть установочные скрипты (*.install), патчи, файлы лицензии (если не предоставляются апстримом с исходниками), сервисы systemd, скрипты запуска - это то, что обычно включено. <b>Никаких исходников</b>. И тем более <b>никаких бинарников</b>. (Шутки-шутками, а я помню пакет, в котором исходный код записывался с помощью <code>cat << EOF</code> прямо в тексте PKGBUILD'а.)</p>
<p>Нам нужно загрузить архив на сайт. В этом архиве <b>должны быть</b> PKGBUILD и .AURINFO. По поводу первого я расскажу еще чуть ниже, второй генерируется автоматически. Также, там могут быть установочные скрипты (*.install), патчи, файлы лицензии (если не предоставляются апстримом с исходниками), сервисы systemd, скрипты запуска - это то, что обычно включено. <b>Никаких исходников</b>. И тем более <b>никаких бинарников</b>. (Шутки-шутками, а я помню пакет, в котором исходный код записывался с помощью <code>cat << EOF</code> прямо в тексте PKGBUILD'а.)</p>
<p align="justify">Все файлы кладем в одну директорию. Убедились, что install файл, если он есть, указан в переменной install, все другие исходные файлы указаны в массиве source, а хэш-суммы правильные (их легко можно сгенерировать, набрав <code>makepkg -g</code>). Далее из этой директории запустить команду <code>mkaurball</code> (пакет <a href="https://www.archlinux.org/packages/pkgbuild-introspection">pkgbuild-introspection</a>) - и архив готов.</p>
<p>Все файлы кладем в одну директорию. Убедились, что install файл, если он есть, указан в переменной install, все другие исходные файлы указаны в массиве source, а хэш-суммы правильные (их легко можно сгенерировать, набрав <code>makepkg -g</code>). Далее из этой директории запустить команду <code>mkaurball</code> (пакет <a href="https://www.archlinux.org/packages/pkgbuild-introspection">pkgbuild-introspection</a>) - и архив готов.</p>
<p align="justify">Несколько правил загрузки пакета в AUR:
<p>Несколько правил загрузки пакета в AUR:
<ul>
<li>Если такой пакет существует в официальном репозитории (любой версии), то <b>не нужно</b> заливать новый пакет. Если репозиторный пакет устарел, просто пометьте его, как устаревший. Исключение из этого правила составляют пакеты из системы контрля версий (VCS), о них чуть ниже.</li>
<li>Проверьте AUR. Если такой пакет уже существует и у него есть мейнтейнер, вы <b>не сможете залить</b> свой пакет. Если у него нет мейнтейнера, то вы автоматически будете его сопровождающим после обновления. Еще может быть такой же пакет, но с другим названием, будьте внимательны.</li>
@ -57,12 +57,12 @@ pacman -U foo-0.1-1-i686.pkg.tar.xz
</p>
<h2><a name="maintaining" class="anchor" href="#maintaining"><span class="octicon octicon-link"></span></a>Сопровождение пакетов</h2>
<p align="justify">Если вы сопровождаете пакет и хотите его обновить, просто загрузите обновленный пакет еще раз. Читайте - и, по возможности, отвечайте - комментарии к вашему пакету, там иногда могут быть очень полезные замечания или дельные предложения. Если вы не хотите сопровождать больше ваш пакет (или нет времени), то, пожалуйста, нажмите на кнопку справа (бросить/disown), чтобы те, кто в нем заинтересован, смогли поддерживать его. Если есть пакет, который не имеет сопровождающего, и вы хотели бы им стать, вы также можете нажать на соответствующую кнопку справа в веб-интерфейсе =)</p>
<p>Если вы сопровождаете пакет и хотите его обновить, просто загрузите обновленный пакет еще раз. Читайте - и, по возможности, отвечайте - комментарии к вашему пакету, там иногда могут быть очень полезные замечания или дельные предложения. Если вы не хотите сопровождать больше ваш пакет (или нет времени), то, пожалуйста, нажмите на кнопку справа (бросить/disown), чтобы те, кто в нем заинтересован, смогли поддерживать его. Если есть пакет, который не имеет сопровождающего, и вы хотели бы им стать, вы также можете нажать на соответствующую кнопку справа в веб-интерфейсе =)</p>
<h2><a name="aur-list" class="anchor" href="#aur-list"><span class="octicon octicon-link"></span></a>Список рассылки AUR</h2>
<p align="justify">По любому вопросу, связанному с работой AUR вы всегда можете обратиться в <a href="https://mailman.archlinux.org/mailman/listinfo/aur-general">список рассылки</a>. На ваш вопрос ответят, вероятно, достаточно быстро; причем, ответить могут не только обычные пользователи, но и доверенные пользователи. Также, если вы вдруг неуверены в своем PKGBUILD'е, вы тоже можете всегда обратиться в список рассылки и показать свой PKGBUILD.</p>
<p>По любому вопросу, связанному с работой AUR вы всегда можете обратиться в <a href="https://mailman.archlinux.org/mailman/listinfo/aur-general">список рассылки</a>. На ваш вопрос ответят, вероятно, достаточно быстро; причем, ответить могут не только обычные пользователи, но и доверенные пользователи. Также, если вы вдруг неуверены в своем PKGBUILD'е, вы тоже можете всегда обратиться в список рассылки и показать свой PKGBUILD.</p>
<p align="justify">Запросы, которые вы можете послать в список рассылки (могут быть совмещены несколько штук в одном письме):
<p>Запросы, которые вы можете послать в список рассылки (могут быть совмещены несколько штук в одном письме):
<ul>
<li><b>Удаление пакета</b>. Запрос должен включать <b>краткое описание причины</b>, почему вы его хотите удалить. Обычные причины - специальный патч, который больше не нужен; пакет уныл и более не поддерживается апстримом; переименование; функциональность предоставляется другим пакетом.</li>
<li><b>"Бросить пакет"</b>. Лишить текущего мейнтейнера права сопровождать данный пакет. Официальное требование - вы должны связаться до этого с мейнтейнером по e-mail и <b>ожидать от него ответа в течение двух недель</b>. Если ответа не поступило, то тогда можете слать запрос. Однако, если мейнтейнер неактивен в течение длительного времени, или пакет помечен, как устаревший, в течение длительного времени, то можно сделать исключение из этого правила.</li>
@ -70,11 +70,11 @@ pacman -U foo-0.1-1-i686.pkg.tar.xz
</ul>
</p>
<p align="justify">Пожалуйста, пишите письма в список рассылки аккуратно. И, желательно, вежливо (а то потом будете генерировать что-то вроде <a href="http://linux.sytes.net/post/2014/05/aur-driven-by-idiots/">такого</a>). Также старайтесь избегать избыточного цитирования. И - это практически требование - предоставляйте ссылки на пакеты. Хороший вариант - составление списка ссылок в конце письма, а в теле ссылаться на них таким образом <code>[1]</code>. Если не уверены в корректности запроса - посмотрите <a href="https://mailman.archlinux.org/pipermail/aur-general/">архив списка рассылки</a>.</p>
<p>Пожалуйста, пишите письма в список рассылки аккуратно. И, желательно, вежливо (а то потом будете генерировать что-то вроде <a href="http://linux.sytes.net/post/2014/05/aur-driven-by-idiots/">такого</a>). Также старайтесь избегать избыточного цитирования. И - это практически требование - предоставляйте ссылки на пакеты. Хороший вариант - составление списка ссылок в конце письма, а в теле ссылаться на них таким образом <code>[1]</code>. Если не уверены в корректности запроса - посмотрите <a href="https://mailman.archlinux.org/pipermail/aur-general/">архив списка рассылки</a>.</p>
<h2><a name="pkgbuild" class="anchor" href="#pkgbuild"><span class="octicon octicon-link"></span></a>PKGBUILD</h2>
<p align="justify">PKGBUILD - это, де-факто, сценарий шелла, указывающий как и почему собираться пакету. Он имеет 4 части:
<p>PKGBUILD - это, де-факто, сценарий шелла, указывающий как и почему собираться пакету. Он имеет 4 части:
<ul>
<li><b>Объявление основных переменных</b>. Об этом я расскажу чуть ниже.</li>
<li><b>Подготовка исходников</b>. Этот пункт необязательный. Включает в себя копирование (если вдруг нужно), применение патчей, sed и прочие мелочи. Функция обозначается, как <b>prepare()</b>.</li>
@ -84,7 +84,7 @@ pacman -U foo-0.1-1-i686.pkg.tar.xz
</p>
<h3><a name="pkgbuild-vars" class="anchor" href="#pkgbuild-vars"><span class="octicon octicon-link"></span></a>Переменные PKGBUILD</h3>
<p align="justify">Основные переменные следующие:
<p>Основные переменные следующие:
<ul>
<li><b>pkgbase</b> - группа пакетов. Например, пакеты <code>python-pyqt4</code> и <code>python2-pyqt4</code> имеют одну группу <code>pyqt4</code>.</li>
<li><b>pkgname</b> - имя (или массив имен для совмещенных пакетов) пакета; обязательная переменная.</li>
@ -102,19 +102,19 @@ pacman -U foo-0.1-1-i686.pkg.tar.xz
</ul>
</p>
<p align="justify">Все перечисленные выше переменные указываются в заголовке PKGBUILD. К ним также можно обращаться внутри PKGBUILD'а. Дополнительно стоит упомянуть переменные <b>startdir</b> - директория, откуда запускается makepkg, <b>srcdir</b> - директория с исходниками (<code>$startdir/src</code> по умолчанию), <b>pkgdir</b> - директория с собранным пакетом (<code>$startdir/pkg/$pkgname</code> по умолчанию). <b>Не используйте</b> переменную <b>startdir</b> без крайней необходимости.</p>
<p>Все перечисленные выше переменные указываются в заголовке PKGBUILD. К ним также можно обращаться внутри PKGBUILD'а. Дополнительно стоит упомянуть переменные <b>startdir</b> - директория, откуда запускается makepkg, <b>srcdir</b> - директория с исходниками (<code>$startdir/src</code> по умолчанию), <b>pkgdir</b> - директория с собранным пакетом (<code>$startdir/pkg/$pkgname</code> по умолчанию). <b>Не используйте</b> переменную <b>startdir</b> без крайней необходимости.</p>
<h3><a name="pkgbuild-features" class="anchor" href="#pkgbuild-features"><span class="octicon octicon-link"></span></a>Некоторые особенности PKGBUILD'ов</h3>
<p align="justify">К PKGBUILD применимы все правила программирования на шелле. Например, "смешная шутка":
<p>К PKGBUILD применимы все правила программирования на шелле. Например, "смешная шутка":
{% highlight bash %}
pkgdir="/usr pkg"
rm -rf $pkgdir
{% endhighlight %}
кому-то может показаться не очень смешной. Поэтому все пути (да и вообще переменные - там где надо, конечно) лучше обрамлять в двойные кавычки (исключение - условия в двойных квадратных скобках <code>[[ ... ]]</code>). Если вы вводите какие-либо свои переменные, то настоятельно рекоммендуется добавить в начале подчеркивание <code>_</code> во избежание перекрытия переменными makepkg.</p>
<p align="justify">В русскоязычном сегменте до сих пор зачастую встречаются строки типа <code>make || return 1</code>. Дык вот, <code>return 1</code> теперь уже давно как не нужен.</p>
<p>В русскоязычном сегменте до сих пор зачастую встречаются строки типа <code>make || return 1</code>. Дык вот, <code>return 1</code> теперь уже давно как не нужен.</p>
<p align="justify">Еще можно работать с рядом других переменных, определенных makepkg. Их список можно глянуть в <code>/etc/makepkg.conf</code>. Самые ходовые - флаги компиляции и <code>CARCH</code>. Так, например, если вы собираете пакет, исходники к которому предоставляются в бинарном виде (проприетарный драйвер, например), то кусок PKGBUILD может выглядеть так:
<p>Еще можно работать с рядом других переменных, определенных makepkg. Их список можно глянуть в <code>/etc/makepkg.conf</code>. Самые ходовые - флаги компиляции и <code>CARCH</code>. Так, например, если вы собираете пакет, исходники к которому предоставляются в бинарном виде (проприетарный драйвер, например), то кусок PKGBUILD может выглядеть так:
{% highlight bash %}
if [ "${CARCH}" == "x86_64" ]; then
_filearch=amd64
@ -127,9 +127,9 @@ source=(${pkgname}-${pkgver}.tar.gz::http://istodo.ru/distribs/${pkgname}-linux-
{% endhighlight %}
</p>
<p align="justify"><b>pkgbase</b> вообще удобная штука. Например, для создания пакетов одновременно для двух версий Python PKGBUILD может выглядеть <a href="https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/python-biopython">примерно так</a>. Или, в общем случае, <a href="https://aur.archlinux.org/packages/ne/netctl-gui/PKGBUILD">как-то так</a>.</p>
<p><b>pkgbase</b> вообще удобная штука. Например, для создания пакетов одновременно для двух версий Python PKGBUILD может выглядеть <a href="https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/python-biopython">примерно так</a>. Или, в общем случае, <a href="https://aur.archlinux.org/packages/ne/netctl-gui/PKGBUILD">как-то так</a>.</p>
<p align="justify">Вообще говоря, для стандартных случаев существуют прототипы PKGBUILD'ов. Их можно найти в <code>/usr/share/pacman/</code>, хотя местами они могли немного устареть (больше года как). Так, прототипы для пакетов из системы контроля версий (git/svn/hg/bzr) однозначно устарели - сейчас используется другой, куда более аккуратный, формат. Настоятельно рекомендую ознакомиться на эту тему <a href="https://wiki.archlinux.org/index.php/VCS_PKGBUILD_Guidelines">с данной статьей</a>. Например, для пакета <b>qmmp-qsmmp-git</b> кусок PKGBUILD'а выглядит так:
<p>Вообще говоря, для стандартных случаев существуют прототипы PKGBUILD'ов. Их можно найти в <code>/usr/share/pacman/</code>, хотя местами они могли немного устареть (больше года как). Так, прототипы для пакетов из системы контроля версий (git/svn/hg/bzr) однозначно устарели - сейчас используется другой, куда более аккуратный, формат. Настоятельно рекомендую ознакомиться на эту тему <a href="https://wiki.archlinux.org/index.php/VCS_PKGBUILD_Guidelines">с данной статьей</a>. Например, для пакета <b>qmmp-qsmmp-git</b> кусок PKGBUILD'а выглядит так:
{% highlight bash %}
pkgname=qmmp-qsmmp-git
_gitname=qsmmp

View File

@ -37,28 +37,28 @@ GS/CS d-(+) s: a-- C++++ UL+++>$ P L++ E--- W++ N !o !K w- !O M- !V PS+@ PE Y PG
<p align="center"><a href="/resources/screenshots/photo_siicm.png"><img src="/resources/preview/photo_siicm_prev.jpg"></a></p>
<p align="right"><i>Фото Гриневой О.В.</i></p>
<p align="justify">Меня зовут Алексеев Евгений, <a href="http://lurkmore.to/%D0%9C%D0%BD%D0%B5_20_%D0%B8_%D1%8F_%D0%B1%D0%BE%D1%80%D0%BE%D0%B4%D0%B0%D1%82">мне 20 и я бородат</a>. Обычно, мой никнейм в Интернете <code>arcan1s</code>, хотя в русскоязычном сегменте - <code>arcanis</code>. Я выпускник <a href="http://www.chem.msu.ru/">Химического факультета</a> Московского государственного университета. Сейчас я аспирант и работаю в моем Университете. Моя специальность - теоретическая химия (типа молекулярной физики и немного квантовой химии).</p>
<p>Меня зовут Алексеев Евгений, <a href="http://lurkmore.to/%D0%9C%D0%BD%D0%B5_20_%D0%B8_%D1%8F_%D0%B1%D0%BE%D1%80%D0%BE%D0%B4%D0%B0%D1%82">мне 20 и я бородат</a>. Обычно, мой никнейм в Интернете <code>arcan1s</code>, хотя в русскоязычном сегменте - <code>arcanis</code>. Я выпускник <a href="http://www.chem.msu.ru/">Химического факультета</a> Московского государственного университета. Сейчас я аспирант и работаю в моем Университете. Моя специальность - теоретическая химия (типа молекулярной физики и немного квантовой химии).</p>
<p align="justify">На досуге я пишу небольшие приложения на C, C++ и Python (и скрипты на Shell). Чтобы не выглядеть, как бородатый нерд, иногда я слушаю музыку и читаю книги <a href="http://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82_%D0%94%D0%B6%D0%BE%D1%80%D0%B4%D0%B0%D0%BD">Роберта Джордана</a> или <a href="http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD,_%D0%94%D0%B6%D0%BE%D1%80%D0%B4%D0%B6_%D0%A0%D1%8D%D0%B9%D0%BC%D0%BE%D0%BD%D0%B4_%D0%A0%D0%B8%D1%87%D0%B0%D1%80%D0%B4">Джорджа Мартина</a> (и другие подобные). (Хотя,мои друзья все равно говорят мне, что я выгляжу, как бородатый нерд.) Музыка, которую я обычно слушаю, может быть найдена на <a href="ftp://repo.arcanis.name/">моем домашнем сервере</a>.</p>
<p>На досуге я пишу небольшие приложения на C, C++ и Python (и скрипты на Shell). Чтобы не выглядеть, как бородатый нерд, иногда я слушаю музыку и читаю книги <a href="http://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82_%D0%94%D0%B6%D0%BE%D1%80%D0%B4%D0%B0%D0%BD">Роберта Джордана</a> или <a href="http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D1%82%D0%B8%D0%BD,_%D0%94%D0%B6%D0%BE%D1%80%D0%B4%D0%B6_%D0%A0%D1%8D%D0%B9%D0%BC%D0%BE%D0%BD%D0%B4_%D0%A0%D0%B8%D1%87%D0%B0%D1%80%D0%B4">Джорджа Мартина</a> (и другие подобные). (Хотя,мои друзья все равно говорят мне, что я выгляжу, как бородатый нерд.) Музыка, которую я обычно слушаю, может быть найдена на <a href="ftp://repo.arcanis.name/">моем домашнем сервере</a>.</p>
<label class="spoiler">
<input type="checkbox" tabindex="-1">
<div class="box">
<p align="justify">Информация по подключению
<p>Информация по подключению
<blockquote>
Пользователь <code>music</code>, пароль такой же.</p>
</blockquote>
</div>
</label>
<p align="justify">Также я являюсь пользователем <a href="https://www.archlinux.org/">Archlinux</a>. В октябре 2013 я стал Доверенным пользователем Archlinux:</p>
<p>Также я являюсь пользователем <a href="https://www.archlinux.org/">Archlinux</a>. В октябре 2013 я стал Доверенным пользователем Archlinux:</p>
<blockquote cite="https://wiki.archlinux.org/index.php/AUR_Trusted_User_Guidelines">
The Trusted User (TU) is a member of the community charged with keeping the AUR in working order. He/she maintains popular packages (communicating with and sending patches upstream as needed), and votes in administrative matters. A TU is elected from active community members by current TUs in a democratic process. TUs are the only members who have a final say in the direction of the AUR.</blockquote>
<p align="right">&copy; <a href="https://wiki.archlinux.org/index.php/AUR_Trusted_User_Guidelines">ArchWiki</a></p>
<p align="justify">Вся контактная информация может быть найдена слева. Не стесняйтесь связываться со мной по любому вопросу (если что - пошлю). Ах да, чуть не забыл. Если Вы будете писать мне через ICQ или Jabber, Вы должны корректно ответить на вопрос антиспам бота. Вопрос:</p>
<p>Вся контактная информация может быть найдена слева. Не стесняйтесь связываться со мной по любому вопросу (если что - пошлю). Ах да, чуть не забыл. Если Вы будете писать мне через ICQ или Jabber, Вы должны корректно ответить на вопрос антиспам бота. Вопрос:</p>
{% highlight c %}
int i = 1;
i = ++i + ++i;
return i;
{% endhighlight %}
<p align="justify">Правильный ответ <code>5</code> (или <code>6</code>, как больше нравится).</p>
<p>Правильный ответ <code>5</code> (или <code>6</code>, как больше нравится).</p>

View File

@ -13,12 +13,12 @@ title: Авторы
</header>
<section>
<p align="justify">Код и контент данного сайта лицензирован под <a href="http://people.freebsd.org/~phk">Beerware</a>:</p>
<blockquote><p align="justify">"THE BEER-WARE LICENSE" (Revision 42):<br>
<p>Код и контент данного сайта лицензирован под <a href="http://people.freebsd.org/~phk">Beerware</a>:</p>
<blockquote><p>"THE BEER-WARE LICENSE" (Revision 42):<br>
Evgeniy Alekseev wrote this file. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.</p></blockquote>
<p align="justify">(Ну, в общем, там про пиво говорится. Запомните, Вы должны мне пиво.)</p>
<p>(Ну, в общем, там про пиво говорится. Запомните, Вы должны мне пиво.)</p>
<p align="justify">Данный сайт использует:
<p>Данный сайт использует:
<ul>
<li><a href="http://jekyllrb.com/">Jekyll</a>, который лицензирован под лицензией <a href="http://opensource.org/licenses/MIT">MIT</a>.</li>
<li>Исходная тема была создана <a href="https://github.com/orderedlist/minimal">Steve Smith</a> и лицензирована под <a href="http://creativecommons.org/licenses/by/3.0">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.</li>
@ -30,7 +30,7 @@ Evgeniy Alekseev wrote this file. As long as you retain this notice you can do w
</ul>
</p>
<p align="justify">Отдельное спасибо <a href="http://monztruo.deviantart.com/">Monztruo</a>, я позаимствовал у него <a href="http://monztruo.deviantart.com/art/Zalgo-Pacman-v1-194649946">иконку</a>.</p>
<p>Отдельное спасибо <a href="http://monztruo.deviantart.com/">Monztruo</a>, я позаимствовал у него <a href="http://monztruo.deviantart.com/art/Zalgo-Pacman-v1-194649946">иконку</a>.</p>
<p align="center">&copy; Evgeniy Alekseev, 2014-{{ site.time | date: '%Y' }}</p>
<p align="right"><small>Хотя, кого в России е%$т лицензии?</small></p>

View File

@ -16,7 +16,7 @@ back: 1
{% for post in site.categories.ru limit:10 %}
<h1><a name="{{ post.short }}" class="anchor" href="#{{ post.short }}"><span class="octicon octicon-link"></span></a><a href="{{ post.url }}">{{ post.title }}</a></h1>
<p align="justify"><i>{% include shortdate_to_ru.html %}</i></p>
<p align="justify">{{ post.description }}</p>
<p align="justify"><b>Тэги</b>: {{ post.tags }}</p>
<p><i>{% include shortdate_to_ru.html %}</i></p>
<p>{{ post.description }}</p>
<p><b>Тэги</b>: {{ post.tags }}</p>
{% endfor %}

View File

@ -31,10 +31,10 @@ title: arcanis
<section>
<h3><a name="welcome" class="anchor" href="#welcome"><span class="octicon octicon-link"></span></a>Добро пожаловать</h3>
<p align="justify">Добро пожаловать на мою домашнюю страничку, <code>`echo $USERNAME`</code>. Обо мне Вы можете прочитать по <a href="/ru/about">ссылке</a>. К сожалению, я не знаю html/php/ruby/прочее (но я знаю Google-фу! По крайней мере, я так думаю), поэтому эта страничка может выглядеть не очень красиво. Но я старался (ну или не совсем). В блоге я буду писать какие-нибудь статьи о науке, программировании, проживании в Archlinux и, может быть, о сопровождении пакетов. Также я создам странички для некоторых из <a href="https://github.com/arcan1s">моих проектов</a>.</p>
<p>Добро пожаловать на мою домашнюю страничку, <code>`echo $USERNAME`</code>. Обо мне Вы можете прочитать по <a href="/ru/about">ссылке</a>. К сожалению, я не знаю html/php/ruby/прочее (но я знаю Google-фу! По крайней мере, я так думаю), поэтому эта страничка может выглядеть не очень красиво. Но я старался (ну или не совсем). В блоге я буду писать какие-нибудь статьи о науке, программировании, проживании в Archlinux и, может быть, о сопровождении пакетов. Также я создам странички для некоторых из <a href="https://github.com/arcan1s">моих проектов</a>.</p>
<h3><a name="contact" class="anchor" href="#contact"><span class="octicon octicon-link"></span></a>Контакты</h3>
<p align="justify">Если у Вас есть вопрос или что-нибудь еще, Вы можете <a href="/ru/about">связаться со мной</a>. Если Вы хотите предложить пул-реквест или сообщить о баге для этих страничек, не стесняйтесь посетить <a href="https://github.com/arcan1s">мой профиль на GitHub</a> и сделать это.</p>
<p>Если у Вас есть вопрос или что-нибудь еще, Вы можете <a href="/ru/about">связаться со мной</a>. Если Вы хотите предложить пул-реквест или сообщить о баге для этих страничек, не стесняйтесь посетить <a href="https://github.com/arcan1s">мой профиль на GitHub</a> и сделать это.</p>
<h3><a name="search" class="anchor" href="#search"><span class="octicon octicon-link"></span></a>Поиск по сайту</h3>
{% include cse.html %}

View File

@ -12,7 +12,7 @@ links:
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#info"><span class="octicon octicon-link"></span></a>Информация</h2>
<p align="justify">Простой демон, который создает git репозиторий в указанной директории и создает коммит в указанный промежуток времени.</p>
<p>Простой демон, который создает git репозиторий в указанной директории и создает коммит в указанный промежуток времени.</p>
{% highlight bash %}
$ git-etc --help
Simple daemon written on BASH for monitoring changes in files
@ -58,20 +58,20 @@ See "man 1 ctrlconf" for more details
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Инструкция</h3>
<ul>
<li><p align="justify">Скачайте <a href="https://github.com/arcan1s/git-etc/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p align="justify">Извлеките из него файлы и установите приложение:</p>
<li><p>Скачайте <a href="https://github.com/arcan1s/git-etc/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p>Извлеките из него файлы и установите приложение:</p>
{% highlight bash %}
./install.sh "/путь/к/корню/"
{% endhighlight %}
<p align="justify">Если Вы хотите установить в <code>/</code>, Вы должны запустить это, как root:</p>
<p>Если Вы хотите установить в <code>/</code>, Вы должны запустить это, как root:</p>
{% highlight bash %}
sudo ./install.sh
{% endhighlight %}
<p align="justify">Если путь не указан, пакет будет установлен в <code>/</code>.</p></li>
<p>Если путь не указан, пакет будет установлен в <code>/</code>.</p></li>
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Зависимости</h3>
<p align="justify">Все было протестировано на последних версиях зависимостей.</p>
<p>Все было протестировано на последних версиях зависимостей.</p>
<ul>
<li>Bash (включая awk, grep, sed)</li>
<li>git</li>
@ -84,27 +84,27 @@ sudo ./install.sh
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>Использование</h2>
<p align="justify">Если Вы хотите запустить демон в <code>/etc</code>, просто запустите</p>
<p>Если Вы хотите запустить демон в <code>/etc</code>, просто запустите</p>
{% highlight bash %}
systemctl start git-etc
{% endhighlight %}
<p align="justify">Если Вы хотите включить автозагрузку демона, запутите</p>
<p>Если Вы хотите включить автозагрузку демона, запутите</p>
{% highlight bash %}
systemctl enable git-etc
{% endhighlight %}
<p align="justify">Но Вы можете изменить путь к конфигурационному файлу или изменить параметры. Для этого, скопируйте (рекомендуется) исходный конфигурационный файл</p>
<p>Но Вы можете изменить путь к конфигурационному файлу или изменить параметры. Для этого, скопируйте (рекомендуется) исходный конфигурационный файл</p>
{% highlight bash %}
cp /etc/git-etc.conf /новый/путь/к/git-etc.conf
{% endhighlight %}
<p align="justify">и отредактируйте его. Затем скопируйте исходный service-файл в <code>/etc</code>:</p>
<p>и отредактируйте его. Затем скопируйте исходный service-файл в <code>/etc</code>:</p>
{% highlight bash %}
cp /usr/lib/systemd/system/git-etc.service /etc/systemd/system/git-etc-my-profile.service
{% endhighlight %}
<p align="justify">Замените следующую строку в этом файле:</p>
<p>Замените следующую строку в этом файле:</p>
{% highlight bash %}
ExecStart=/usr/bin/git-etc -c /etc/git-etc.conf
{% endhighlight %}
<p align="justify">на</p>
<p>на</p>
{% highlight bash %}
ExecStart=/usr/bin/git-etc -c /новый/путь/к/git-etc.conf
{% endhighlight %}
@ -112,7 +112,7 @@ ExecStart=/usr/bin/git-etc -c /новый/путь/к/git-etc.conf
<!-- config block -->
<h2><a name="config" class="anchor" href="#config"><span class="octicon octicon-link"></span></a>Настройка</h2>
<p align="justify">Все настройки хранятся в <code>/etc/git-etc.conf</code>. После редактирования, Вы должны перезапустить демон</p>
<p>Все настройки хранятся в <code>/etc/git-etc.conf</code>. После редактирования, Вы должны перезапустить демон</p>
{% highlight bash %}
systemctl restart git-etc
{% endhighlight %}
@ -121,32 +121,32 @@ systemctl restart git-etc
<table>
<tr>
<th>DIRECTORY</th>
<td><p align="justify">Полный путь к рабочей директории с наблюдаемыми файлами. По умолчанию <code>/etc</code>.</p></td>
<td><p>Полный путь к рабочей директории с наблюдаемыми файлами. По умолчанию <code>/etc</code>.</p></td>
</tr>
<tr>
<th>TIMESLEEP</th>
<td><p align="justify">Промежуток времени между обновлениями, часы. Должно быть целым и >= 1. По умолчанию <code>12</code>.</p></td>
<td><p>Промежуток времени между обновлениями, часы. Должно быть целым и >= 1. По умолчанию <code>12</code>.</p></td>
</tr>
<tr>
<th>IGNORELIST</th>
<td><p align="justify">Список файлов, которые не будут наблюдаться. Разделитель ";;". Может быть пустым.</td>
<td><p>Список файлов, которые не будут наблюдаться. Разделитель ";;". Может быть пустым.</td>
</tr>
<tr>
<th>FORALL</th>
<td><p align="justify"><code>1</code> включит доступ для обычного пользователя. По умолчанию <code>1</code>.</td>
<td><p><code>1</code> включит доступ для обычного пользователя. По умолчанию <code>1</code>.</td>
</tr>
</table>
<!-- end of config block -->
<!-- gui block -->
<h2><a name="gui" class="anchor" href="#gui"><span class="octicon octicon-link"></span></a>Графический интерфейс</h2>
<p align="justify">Control Config (<code>ctrlconf</code>) - графический интерфейс для <code>git-etc</code>, написанный на <code>Python2/PyQt4</code>. Данное приложение позволяет Вам увидеть список коммитов и изменения в файлах в данных коммитах. Также данное приложение позволит Вам откатиться на указанный коммит (все файлы, посредством <code>git reset --hard</code>, или только указанный, посредством <code>git diff && git apply</code>). Также Вы можете объединить старый и новый конфигурационные файлы (используются две ветки репозитория master и experimental). Приложение может потребовать привелегии root, убедитесь, что пакет <code>sudo</code> установлен.</p>
<p>Control Config (<code>ctrlconf</code>) - графический интерфейс для <code>git-etc</code>, написанный на <code>Python2/PyQt4</code>. Данное приложение позволяет Вам увидеть список коммитов и изменения в файлах в данных коммитах. Также данное приложение позволит Вам откатиться на указанный коммит (все файлы, посредством <code>git reset --hard</code>, или только указанный, посредством <code>git diff && git apply</code>). Также Вы можете объединить старый и новый конфигурационные файлы (используются две ветки репозитория master и experimental). Приложение может потребовать привелегии root, убедитесь, что пакет <code>sudo</code> установлен.</p>
<h3><a name="gui_configuration" class="anchor" href="#gui_configuration"><span class="octicon octicon-link"></span></a>Настройка</h3>
<p align="justify">Запустите приложение и откройте окно настроек из меню.</p>
<p>Запустите приложение и откройте окно настроек из меню.</p>
<h3><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Скриншоты</h3>
<p align="justify">Основное окно:<br>
<p>Основное окно:<br>
<a href="/resources/screenshots/git-etc_mainwindow.png"><img src="/resources/preview/git-etc_mainwindow_prev.jpg"></a><br>
Окно "О программе":<br>
<a href="/resources/screenshots/git-etc_aboutwindow.png"><img src="/resources/preview/git-etc_aboutwindow_prev.jpg"></a><br>

View File

@ -112,8 +112,8 @@ groups:
<h1><a name="{{ group.short }}" class="anchor" href="#{{ group.short }}"><span class="octicon octicon-link"></span></a>{{ group.title }}</a></h1>
{% for project in group.projects %}
<h2><a name="{{ project.short }}" class="anchor" href="#{{ project.short }}"><span class="octicon octicon-link"></span></a>{{ project.title }}</h2>
<p align="justify">{{ project.description }}</p>
<p align="justify"><ul>
<p>{{ project.description }}</p>
<p><ul>
{% for link in project.links %}
<li>{{ link }}</li>
{% endfor %}

View File

@ -14,7 +14,7 @@ links:
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#info"><span class="octicon octicon-link"></span></a>Информация</h2>
<p align="justify">Графическая оболочка для <code>netctl</code> (набор скриптов для поднятия сети в Arch'е). Написана на <code>CPP</code> с использованием библиотеки <code>Qt4</code>. На текущим момент умеет работать с профилями, в том числе создавать новые, а также умеет подключаться к WiFi. Также предоставляет виджет и DataEngine для KDE.
<p>Графическая оболочка для <code>netctl</code> (набор скриптов для поднятия сети в Arch'е). Написана на <code>CPP</code> с использованием библиотеки <code>Qt4</code>. На текущим момент умеет работать с профилями, в том числе создавать новые, а также умеет подключаться к WiFi. Также предоставляет виджет и DataEngine для KDE.
Простой демон, который создает git репозиторий в указанной директории и создает коммит в указанный промежуток времени.</p>
{% highlight bash %}
$ netctl-gui --help
@ -45,7 +45,7 @@ netctl-gui [ --default ] [ -t NUM | --tab NUM ] [ -h | --help]
</ul>
<h3><a name="changelog" class="anchor" href="#changelog"><span class="octicon octicon-link"></span></a>Changelog</h3>
<p align="justify"><a href="https://github.com/arcan1s/netctl-gui/blob/master/CHANGELOG">CHANGELOG</a></p>
<p><a href="https://github.com/arcan1s/netctl-gui/blob/master/CHANGELOG">CHANGELOG</a></p>
<!-- end of info block -->
<!-- install block -->
@ -53,9 +53,9 @@ netctl-gui [ --default ] [ -t NUM | --tab NUM ] [ -h | --help]
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Инструкция</h3>
<ul>
<li><p align="justify">Скачайте <a href="https://github.com/arcan1s/netctl-gui/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p align="justify">Извлеките из него файлы и установите приложение:</p>
<p align="justify">Если Вы хотите установить в <code>/</code>, Вы должны запустить как root:</p>
<li><p>Скачайте <a href="https://github.com/arcan1s/netctl-gui/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p>Извлеките из него файлы и установите приложение:</p>
<p>Если Вы хотите установить в <code>/</code>, Вы должны запустить как root:</p>
{% highlight bash %}
cd /путь/к/распакованному/архиву
mkdir build && cd build
@ -63,18 +63,18 @@ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../
make
sudo make install
{% endhighlight %}
<p align="justify">Доступные флаги cmake:</p>
<p>Доступные флаги cmake:</p>
<ul>
<li><p align="justify"><code>-DBUILD_DATAENGINE:BOOL=0</code> - не собирать DataEngine;</p></li>
<li><p align="justify"><code>-DBUILD_GUI:BOOL=0</code> - не собирать GUI;</p></li>
<li><p align="justify"><code>-DBUILD_PLASMOID:BOOL=0</code> - не собирать Плазмоид;</p></li>
<li><p align="justify"><code>-DUSE_QT5:BOOL=0</code> - использовать Qt4 вместо Qt5 для GUI.</p></li>
<li><p><code>-DBUILD_DATAENGINE:BOOL=0</code> - не собирать DataEngine;</p></li>
<li><p><code>-DBUILD_GUI:BOOL=0</code> - не собирать GUI;</p></li>
<li><p><code>-DBUILD_PLASMOID:BOOL=0</code> - не собирать Плазмоид;</p></li>
<li><p><code>-DUSE_QT5:BOOL=0</code> - использовать Qt4 вместо Qt5 для GUI.</p></li>
</ul>
</li>
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Зависимости</h3>
<p align="justify">Все было протестировано на последних версиях зависимостей.</p>
<p>Все было протестировано на последних версиях зависимостей.</p>
<ul>
<li>netctl</li>
<li>qt5-base <i>(если используется Qt5)</i> <b>или</b> qt4 <i>(если используется Qt4)</i></li>
@ -89,45 +89,45 @@ sudo make install
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>Использование</h2>
<p align="justify">Просто запустите приложение <code>netctl-gui</code>. Если потребуется (и если Вы используете KDE), можете добавить виджет <code>netctl</code>, предоставляемый приложением.</p>
<p>Просто запустите приложение <code>netctl-gui</code>. Если потребуется (и если Вы используете KDE), можете добавить виджет <code>netctl</code>, предоставляемый приложением.</p>
<!-- end of howto block -->
<!-- config block -->
<h2><a name="config" class="anchor" href="#config"><span class="octicon octicon-link"></span></a>Настройка</h2>
<p align="justify">Для настройки виджета рекомендуется использовать графический интерфейс. Настройки DataEngine хранятся в <code>/usr/share/config/netctl.conf</code></p>
<p>Для настройки виджета рекомендуется использовать графический интерфейс. Настройки DataEngine хранятся в <code>/usr/share/config/netctl.conf</code></p>
<table>
<tr>
<th>CMD</th>
<td><p align="justify">Команда для запуска <code>netctl</code>. По умолчанию <code>/usr/bin/netctl</code>.</p></td>
<td><p>Команда для запуска <code>netctl</code>. По умолчанию <code>/usr/bin/netctl</code>.</p></td>
</tr>
<tr>
<th>IPCMD</th>
<td><p align="justify">Команда для запуска <code>ip</code>. По умолчанию <code>/usr/bin/ip</code>.</p></td>
<td><p>Команда для запуска <code>ip</code>. По умолчанию <code>/usr/bin/ip</code>.</p></td>
</tr>
<tr>
<th>NETDIR</th>
<td><p align="justify">Директория, содержащая поддиректории с именами сетевых интерфейсов. По умолчанию <code>/sys/class/net/</code>.</p></td>
<td><p>Директория, содержащая поддиректории с именами сетевых интерфейсов. По умолчанию <code>/sys/class/net/</code>.</p></td>
</tr>
<tr>
<th>EXTIPCMD</th>
<td><p align="justify">Команда для получения внешнего IP адреса. По умолчанию <code>wget -qO- http://ifconfig.me/ip</code>.</p></td>
<td><p>Команда для получения внешнего IP адреса. По умолчанию <code>wget -qO- http://ifconfig.me/ip</code>.</p></td>
</tr>
<tr>
<th>EXTIP</th>
<td><p align="justify"><code>true</code> включит определение внешнего IP адреса. По умолчанию <code>false</code>.</p></td>
<td><p><code>true</code> включит определение внешнего IP адреса. По умолчанию <code>false</code>.</p></td>
</tr>
</table>
<!-- end of config block -->
<!-- gui block -->
<h2><a name="gui" class="anchor" href="#gui"><span class="octicon octicon-link"></span></a>Графический интерфейс</h2>
<p align="justify">Графический интерфейс предоставляется приложением <code>netctl-gui</code>.</p>
<p>Графический интерфейс предоставляется приложением <code>netctl-gui</code>.</p>
<h3><a name="gui_configuration" class="anchor" href="#gui_configuration"><span class="octicon octicon-link"></span></a>Настройка</h3>
<p align="justify">Все настройки графического интерфейса хранятся в <code>$HOME/.config/netctl-gui.conf</code>. Для редактирования настоятельно рекомендуется использовать графический интерфейс.</p>
<p>Все настройки графического интерфейса хранятся в <code>$HOME/.config/netctl-gui.conf</code>. Для редактирования настоятельно рекомендуется использовать графический интерфейс.</p>
<h3><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Скриншоты</h3>
<p align="justify">DataEngine:<br>
<p>DataEngine:<br>
<a href="/resources/screenshots/netctl_dataengine.png"><img src="/resources/preview/netctl_dataengine_prev.jpg"></a><br>
Виджет:<br>
<a href="/resources/screenshots/netctl_plasmoid.png"><img src="/resources/preview/netctl_plasmoid_prev.jpg"></a><br>

View File

@ -13,7 +13,7 @@ links:
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#info"><span class="octicon octicon-link"></span></a>Информация</h2>
<p align="justify">Плазмоид, написанный на <code>CPP</code> который показывает случайные карты из Brian Eno и Peter Schmidt's <a href="http://en.wikipedia.org/wiki/Oblique_strategies">Oblique Strategies</a>. Это форк <a href="http://gnome-look.org/content/show.php/Oblique+Strategies?content=78405">апплета для GNOME</a> с некоторыми дополнительными фичами.</p>
<p>Плазмоид, написанный на <code>CPP</code> который показывает случайные карты из Brian Eno и Peter Schmidt's <a href="http://en.wikipedia.org/wiki/Oblique_strategies">Oblique Strategies</a>. Это форк <a href="http://gnome-look.org/content/show.php/Oblique+Strategies?content=78405">апплета для GNOME</a> с некоторыми дополнительными фичами.</p>
<h3><a name="devel" class="anchor" href="#devel"><span class="octicon octicon-link"></span></a>Разработчики</h3>
<ul>
@ -33,8 +33,8 @@ links:
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Инструкция</h3>
<ul>
<li><p align="justify">Скачайте <a href="https://github.com/arcan1s/oblikuestrategies/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p align="justify">Извлеките из него файлы и установите приложение. Для глобальной установки наберите:</p>
<li><p>Скачайте <a href="https://github.com/arcan1s/oblikuestrategies/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p>Извлеките из него файлы и установите приложение. Для глобальной установки наберите:</p>
{% highlight bash %}
cd /путь/куда/распакован/архив
mkdir build && cd build
@ -42,7 +42,7 @@ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=Release .
make
sudo make install
{% endhighlight %}
<p align="justify">Для локальной:</p>
<p>Для локальной:</p>
{% highlight bash %}
cd /where/your/applet/is/installed
mkdir build && cd build
@ -50,18 +50,18 @@ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --localprefix` -DCMAKE_BUILD_TYPE=Rele
make
make install
{% endhighlight %}</li>
<li><p align="justify">Перезапустите plasma, чтобы загрузить апплет:</p>
<li><p>Перезапустите plasma, чтобы загрузить апплет:</p>
{% highlight bash %}
kquitapp plasma-desktop && sleep 2 && plasma-desktop
{% endhighlight %}
<p align="justify">Также Вам может потребоваться запустить <code>kbuildsycoca4</code>, чтобы распознать <code>*.desktop</code> файл:</p>
<p>Также Вам может потребоваться запустить <code>kbuildsycoca4</code>, чтобы распознать <code>*.desktop</code> файл:</p>
{% highlight bash %}
kbuildsycoca4 &> /dev/null
{% endhighlight %}</li>
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Зависимости</h3>
<p align="justify">Все было протестировано на последних версиях зависимостей.</p>
<p>Все было протестировано на последних версиях зависимостей.</p>
<ul>
<li>kdebase-workspace</li>
<li>automoc4 <i>(make)</i></li>
@ -71,19 +71,19 @@ kbuildsycoca4 &> /dev/null
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>Использование</h2>
<p align="justify">Откройте список виджетов Plasma и выберете <code>Oblikue strategies</code>.</p>
<p>Откройте список виджетов Plasma и выберете <code>Oblikue strategies</code>.</p>
<!-- end of howto block -->
<!-- config block -->
<h2><a name="config" class="anchor" href="#config"><span class="octicon octicon-link"></span></a>Настройка</h2>
<p align="justify">Клик правой кнопкой по виджету.</p>
<p>Клик правой кнопкой по виджету.</p>
<!-- end of config block -->
<!-- gui block -->
<h2><a name="gui" class="anchor" href="#gui"><span class="octicon octicon-link"></span></a>Графический интерфейс</h2>
<h3><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Скриншоты</h3>
<p align="justify">Виджет:<br>
<p>Виджет:<br>
<a href="/resources/screenshots/oblikuestrategies_widget.png"><img src="/resources/preview/oblikuestrategies_widget_prev.jpg"></a><br>
Окно настроек:<br>
<a href="/resources/screenshots/oblikuestrategies_config.png"><img src="/resources/preview/oblikuestrategies_config_prev.jpg"></a></p>

View File

@ -18,8 +18,8 @@ links:
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#information"><span class="octicon octicon-link"></span></a>Информация</h2>
<p align="justify">Минималистичный пламоид, написанный на <code>Python2</code>. Он выглядит, как виджеты в <a href="http://awesome.naquadah.org/">Awesome WM</a>. Мой плазмоид хорошо и легко настраивается и не засоряет Ваш KDE. Также данный пакет имеет дополнительный <a href="http://techbase.kde.org/Development/Tutorials/Plasma/DataEngines">DataEngine</a>, который написан на <code>CPP</code> (старые версии были написаны на <code>Python2</code>).</p>
<p align="justify"><b>ВНИМАНИЕ:</b> <a href="https://github.com/arcan1s/pytextmonitor/issues/14">НУЖНЫ ПЕРЕВОДЧИКИ!</a></p>
<p>Минималистичный пламоид, написанный на <code>Python2</code>. Он выглядит, как виджеты в <a href="http://awesome.naquadah.org/">Awesome WM</a>. Мой плазмоид хорошо и легко настраивается и не засоряет Ваш KDE. Также данный пакет имеет дополнительный <a href="http://techbase.kde.org/Development/Tutorials/Plasma/DataEngines">DataEngine</a>, который написан на <code>CPP</code> (старые версии были написаны на <code>Python2</code>).</p>
<p><b>ВНИМАНИЕ:</b> <a href="https://github.com/arcan1s/pytextmonitor/issues/14">НУЖНЫ ПЕРЕВОДЧИКИ!</a></p>
<h3><a name="devel" class="anchor" href="#devel"><span class="octicon octicon-link"></span></a>Разработчики</h3>
<ul>
@ -34,7 +34,7 @@ links:
</ul>
<h3><a name="changelog" class="anchor" href="#changelog"><span class="octicon octicon-link"></span></a>Список изменений</h3>
<p align="justify"><a href="https://github.com/arcan1s/pytextmonitor/blob/master/CHANGELOG-RU">CHANGELOG-RU</a></p>
<p><a href="https://github.com/arcan1s/pytextmonitor/blob/master/CHANGELOG-RU">CHANGELOG-RU</a></p>
<!-- end of info block -->
<!-- install block -->
@ -42,8 +42,8 @@ links:
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Инструкция</h3>
<ul>
<li><p align="justify">Скачайте <a href="https://github.com/arcan1s/pytextmonitor/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p align="justify">Извлеките из него файлы и установите:</p>
<li><p>Скачайте <a href="https://github.com/arcan1s/pytextmonitor/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p>Извлеките из него файлы и установите:</p>
{% highlight bash %}
cd /путь/к/извлеченным/файлам/
mkdir build && cd build
@ -51,7 +51,7 @@ cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --localprefix` -DCMAKE_BUILD_TYPE=Rele
make
make install
{% endhighlight %}
<p align="justify">Для глобальной установки наберите:</p>
<p>Для глобальной установки наберите:</p>
{% highlight bash %}
cd /путь/к/извлеченным/файлам/
mkdir build && cd build
@ -62,7 +62,7 @@ sudo make install
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Зависимости</h3>
<p align="justify">Все было протестировано на последних версиях зависимостей.</p>
<p>Все было протестировано на последних версиях зависимостей.</p>
<ul>
<li>kdebase-workspace</li>
<li>kdebindings-python2</li>
@ -79,416 +79,416 @@ sudo make install
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>Использование</h2>
<p align="justify">Откройте список виджетов Plasma и выберете <code>Py Text Monitor</code>.</p>
<p>Откройте список виджетов Plasma и выберете <code>Py Text Monitor</code>.</p>
<h3><a name="tips" class="anchor" href="#tips"><span class="octicon octicon-link"></span></a>Tips & tricks</h3>
<p align="justify">Вы можете использовать различные цвета в полях. Просто вставьте нужный текст в html код. Смотри <a href="https://github.com/arcan1s/pytextmonitor/issues/9">вопрос</a> для более подробной информации.</p>
<p>Вы можете использовать различные цвета в полях. Просто вставьте нужный текст в html код. Смотри <a href="https://github.com/arcan1s/pytextmonitor/issues/9">вопрос</a> для более подробной информации.</p>
<p align="justify">Нумерация элементов в полях температура, использование HDD, скорость HDD, температура HDD ссылается на порядок элементов во второй вкладке (<i>Расширенные настройки</i>). Вы должны сначала добавить требуемые элементы в нужный listWidget. И первый элемент в listWdiget будет связан c <code>$tag0</code>. Смотри <a href="https://github.com/arcan1s/pytextmonitor/issues/17">вопрос</a> для более подробной информации.</p>
<p>Нумерация элементов в полях температура, использование HDD, скорость HDD, температура HDD ссылается на порядок элементов во второй вкладке (<i>Расширенные настройки</i>). Вы должны сначала добавить требуемые элементы в нужный listWidget. И первый элемент в listWdiget будет связан c <code>$tag0</code>. Смотри <a href="https://github.com/arcan1s/pytextmonitor/issues/17">вопрос</a> для более подробной информации.</p>
<!-- end of howto block -->
<!-- config block -->
<h2><a name="config" class="anchor" href="#config"><span class="octicon octicon-link"></span></a>Настройка</h2>
<h3><a name="deconf" class="anchor" href="#deconf"><span class="octicon octicon-link"></span></a>Настройка DataEngine</h3>
<p align="justify">Вы можете отредактировать настройки DataEngine, которые хранятся в <code>/usr/share/config/extsysmon.conf</code> или <code>$HOME/.kde4/share/config/extsysmon.conf</code> в зависимости от типа установки. Раскомментируйте необходимые строчки и отредактируйте их.</p>
<p>Вы можете отредактировать настройки DataEngine, которые хранятся в <code>/usr/share/config/extsysmon.conf</code> или <code>$HOME/.kde4/share/config/extsysmon.conf</code> в зависимости от типа установки. Раскомментируйте необходимые строчки и отредактируйте их.</p>
<h4><a name="deoptions" class="anchor" href="#deoptions"><span class="octicon octicon-link"></span></a>Опции DataEngine</h4>
<table>
<tr>
<th>CUSTOM</th>
<td><p align="justify">Свои команды для запуска. По умолчанию <code>wget -qO- http://ifconfig.me/ip</code>. Разделитель <code>@@</code>.</td>
<td><p>Свои команды для запуска. По умолчанию <code>wget -qO- http://ifconfig.me/ip</code>. Разделитель <code>@@</code>.</td>
</tr>
<tr>
<th>GPUDEV</th>
<td><p align="justify">Устанавливает тип GPU. Может быть <code>nvidia</code> (для nVidia), <code>ati</code> (для ATI Radeon), <code>disable</code> или <code>auto</code>. По умолчанию <code>auto</code>.</p></td>
<td><p>Устанавливает тип GPU. Может быть <code>nvidia</code> (для nVidia), <code>ati</code> (для ATI Radeon), <code>disable</code> или <code>auto</code>. По умолчанию <code>auto</code>.</p></td>
</tr>
<tr>
<th>HDDDEV</th>
<td><p align="justify">Устанавливает блочное устройство для <code>hddtemp</code> через запятую или <code>all</code> для всех возможных. <code>disable</code> отключит монитор температуры HDD. По умолчанию <code>all</code>.</p></td>
<td><p>Устанавливает блочное устройство для <code>hddtemp</code> через запятую или <code>all</code> для всех возможных. <code>disable</code> отключит монитор температуры HDD. По умолчанию <code>all</code>.</p></td>
</tr>
<tr>
<th>HDDTEMPCMD</th>
<td><p align="justify">Команда, которая будет запущена для hddtemp. По умолчанию <code>sudo hddtemp</code>.</p></td>
<td><p>Команда, которая будет запущена для hddtemp. По умолчанию <code>sudo hddtemp</code>.</p></td>
</tr>
<tr>
<th>MPDADDRESS</th>
<td><p align="justify">Адрес MPD хоста. По умолчанию <code>localhost</code>.</td>
<td><p>Адрес MPD хоста. По умолчанию <code>localhost</code>.</td>
</tr>
<tr>
<th>MPDPORT</th>
<td><p align="justify">Адрес MPD хоста. По умолчанию <code>6600</code>.</td>
<td><p>Адрес MPD хоста. По умолчанию <code>6600</code>.</td>
</tr>
<tr>
<th>PKGCMD</th>
<td><p align="justify">Команды, которые будут запущены для пакетного менеджера, разделенные запятой.</td>
<td><p>Команды, которые будут запущены для пакетного менеджера, разделенные запятой.</td>
</tr>
<tr>
<th>PKGNULL</th>
<td><p align="justify">Число пустых строк для команд, разделенные запятой.</td>
<td><p>Число пустых строк для команд, разделенные запятой.</td>
</tr>
<tr>
<th>PLAYER</th>
<td><p align="justify">Устанавливает музыкальный плеер. Поддерживаемые плееры: amarok, clementine, mpd, qmmp.</td>
<td><p>Устанавливает музыкальный плеер. Поддерживаемые плееры: amarok, clementine, mpd, qmmp.</td>
</tr>
</table>
<h3><a name="widconf" class="anchor" href="#widconf"><span class="octicon octicon-link"></span></a>Настройка виджета</h3>
<p align="justify">Для настройки внешнего вида Вы должны открыть окно настроек и установить требуемый формат. Порядок меток изменится, если Вы измените положение слайдера. В метках работают HTML теги.<br>
<p>Для настройки внешнего вида Вы должны открыть окно настроек и установить требуемый формат. Порядок меток изменится, если Вы измените положение слайдера. В метках работают HTML теги.<br>
<b>ЗАМЕЧАНИЕ</b> Вы не можете, например, заставить его показывать Вам <code>$cpu</code> в метка swap. <b><code>$cpu</code> будет работать только в метке cpu.</b></p>
<p align="justify">Доступные флаги в таблице ниже.<br>
<p>Доступные флаги в таблице ниже.<br>
<b>ЗАМЕЧАНИЕ</b> Нумерация всех массивов в переменных начинается с 0.</p>
<table>
<tr>
<th rowspan="5">Время</th>
<td><code>$time</code></td>
<td><p align="justify">Время в стандартном формате. Например, <code>fri Nov 6 04:48:01 2013</code>.</p></td>
<td><p>Время в стандартном формате. Например, <code>fri Nov 6 04:48:01 2013</code>.</p></td>
</tr>
<tr>
<td><code>$isotime</code></td>
<td><p align="justify">Время в формате ISO.</p></td>
<td><p>Время в формате ISO.</p></td>
</tr>
<tr>
<td><code>$shorttime</code></td>
<td><p align="justify">Время в коротком формате локали.</p></td>
<td><p>Время в коротком формате локали.</p></td>
</tr>
<tr>
<td><code>$longtime</code></td>
<td><p align="justify">Время в длинном формате локали.</p></td>
<td><p>Время в длинном формате локали.</p></td>
</tr>
<tr>
<td><code>$custom</code></td>
<td><p align="justify">Cпециальный формат времени.</p></td>
<td><p>Cпециальный формат времени.</p></td>
</tr>
<tr>
<th rowspan="2">Время работы</th>
<td><code>$uptime</code></td>
<td><p align="justify">Системный аптайм, <code>---d--h--m</code>.</p></td>
<td><p>Системный аптайм, <code>---d--h--m</code>.</p></td>
</tr>
<tr>
<td><code>$custom</code></td>
<td><p align="justify">Cпециальный формат аптайма.</p></td>
<td><p>Cпециальный формат аптайма.</p></td>
</tr>
<tr>
<th rowspan="2">CPU</th>
<td><code>$cpu</code></td>
<td><p align="justify">Полная загрузка CPU, %, <code>-----</code>.</p></td>
<td><p>Полная загрузка CPU, %, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$cpuN</code></td>
<td><p align="justify">Загрузка CPU для ядра N, %, <code>-----</code>.</p></td>
<td><p>Загрузка CPU для ядра N, %, <code>-----</code>.</p></td>
</tr>
<tr>
<th rowspan="2">Частота CPU</th>
<td><code>$cpucl</code></td>
<td><p align="justify">Средняя частота CPU, МГц, <code>----</code>.</p></td>
<td><p>Средняя частота CPU, МГц, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$cpuclN</code></td>
<td><p align="justify">Частота CPU для ядра N, МГц, <code>----</code>.</p></td>
<td><p>Частота CPU для ядра N, МГц, <code>----</code>.</p></td>
</tr>
<tr>
<th rowspan="1">Температура</th>
<td><code>$tempN</code></td>
<td><p align="justify">Температура для датчика N, &deg;C, <code>----</code>. Пример: <code>$temp0</code></p></td>
<td><p>Температура для датчика N, &deg;C, <code>----</code>. Пример: <code>$temp0</code></p></td>
</tr>
<tr>
<th rowspan="1">GPU</th>
<td><code>$gpu</code></td>
<td><p align="justify">Использование GPU, %, <code>-----</code>. <code>aticonfig</code> или <code>nvidia-smi</code> должны быть установлены.</p></td>
<td><p>Использование GPU, %, <code>-----</code>. <code>aticonfig</code> или <code>nvidia-smi</code> должны быть установлены.</p></td>
</tr>
<tr>
<th rowspan="1">Температура GPU</th>
<td><code>$gputemp</code></td>
<td><p align="justify">Температура GPU, &deg;C, <code>----</code>. <code>aticonfig</code> или <code>nvidia-smi</code> должны быть установлены.</p></td>
<td><p>Температура GPU, &deg;C, <code>----</code>. <code>aticonfig</code> или <code>nvidia-smi</code> должны быть установлены.</p></td>
</tr>
<tr>
<th rowspan="5">Память</th>
<td><code>$mem</code></td>
<td><p align="justify">Использование RAM, %, <code>-----</code>.</p></td>
<td><p>Использование RAM, %, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$memmb</code></td>
<td><p align="justify">Использование RAM, MB, <code>-----</code>.</p></td>
<td><p>Использование RAM, MB, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$memgb</code></td>
<td><p align="justify">Использование RAM, GB, <code>----</code>.</p></td>
<td><p>Использование RAM, GB, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$memtotmb</code></td>
<td><p align="justify">RAM, MB, <code>-----</code>.</p></td>
<td><p>RAM, MB, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$memtotgb</code></td>
<td><p align="justify">RAM, GB, <code>----</code>.</p></td>
<td><p>RAM, GB, <code>----</code>.</p></td>
</tr>
<tr>
<th rowspan="5">Swap</th>
<td><code>$swap</code></td>
<td><p align="justify">Использование swap, %, <code>-----</code>.</p></td>
<td><p>Использование swap, %, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$swapmb</code></td>
<td><p align="justify">Использование swap, MB, <code>-----</code>.</p></td>
<td><p>Использование swap, MB, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$swapgb</code></td>
<td><p align="justify">Использование swap, GB, <code>----</code>.</p></td>
<td><p>Использование swap, GB, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$swaptotmb</code></td>
<td><p align="justify">swap, MB, <code>-----</code>.</p></td>
<td><p>swap, MB, <code>-----</code>.</p></td>
</tr>
<tr>
<td><code>$swaptotgb</code></td>
<td><p align="justify">swap, GB, <code>----</code>.</p></td>
<td><p>swap, GB, <code>----</code>.</p></td>
</tr>
<tr>
<th rowspan="5">HDD</th>
<td><code>$hddN</code></td>
<td><p align="justify">Занятость точки монтирования N, %, <code>-----</code>. Пример: <code>$hdd0</code>.</p></td>
<td><p>Занятость точки монтирования N, %, <code>-----</code>. Пример: <code>$hdd0</code>.</p></td>
</tr>
<tr>
<td><code>$hddmbN</code></td>
<td><p align="justify">Занятость точки монтирования N, MB, <code>-----</code>. Пример: <code>$hddmb0</code>.</p></td>
<td><p>Занятость точки монтирования N, MB, <code>-----</code>. Пример: <code>$hddmb0</code>.</p></td>
</tr>
<tr>
<td><code>$hddgbN</code></td>
<td><p align="justify">Занятость точки монтирования N, GB, <code>-----</code>. Пример: <code>$hddgb0</code>.</p></td>
<td><p>Занятость точки монтирования N, GB, <code>-----</code>. Пример: <code>$hddgb0</code>.</p></td>
</tr>
<tr>
<td><code>$hddtotmbN</code></td>
<td><p align="justify">Размер точки монтирования N, MB, <code>-----</code>. Пример: <code>$hddtotmb0</code>.</p></td>
<td><p>Размер точки монтирования N, MB, <code>-----</code>. Пример: <code>$hddtotmb0</code>.</p></td>
</tr>
<tr>
<td><code>$hddtotgbN</code></td>
<td><p align="justify">Размер точки монтирования N, GB, <code>-----</code>. Пример: <code>$hddtotgb0</code>.</p></td>
<td><p>Размер точки монтирования N, GB, <code>-----</code>. Пример: <code>$hddtotgb0</code>.</p></td>
</tr>
<tr>
<th rowspan="2">Скорость HDD</th>
<td><code>$hddrN</code></td>
<td><p align="justify">Скорость записи диска N, KB/s, <code>-----</code>. Пример: <code>$hddr0</code>.</p></td>
<td><p>Скорость записи диска N, KB/s, <code>-----</code>. Пример: <code>$hddr0</code>.</p></td>
</tr>
<tr>
<td><code>$hddwN</code></td>
<td><p align="justify">Скорость чтения диска N, KB/s, <code>-----</code>. Пример: <code>$hddw0</code>.</p></td>
<td><p>Скорость чтения диска N, KB/s, <code>-----</code>. Пример: <code>$hddw0</code>.</p></td>
</tr>
<tr>
<th rowspan="1">Температура HDD</th>
<td><code>$hddtempN</code></td>
<td><p align="justify">Температура HDD с номером N, &deg;C, <code>----</code>. Пример <code>$hddtemp0</code>. <code>hddtemp</code> должен быть установлен.</p></td>
<td><p>Температура HDD с номером N, &deg;C, <code>----</code>. Пример <code>$hddtemp0</code>. <code>hddtemp</code> должен быть установлен.</p></td>
</tr>
<tr>
<th rowspan="3">Сеть</th>
<td><code>$down</code></td>
<td><p align="justify">Скорость загрузки, KB/s, <code>----</code>.</p></td>
<td><p>Скорость загрузки, KB/s, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$up</code></td>
<td><p align="justify">Скорость отдачи, KB/s, <code>----</code>.</p></td>
<td><p>Скорость отдачи, KB/s, <code>----</code>.</p></td>
</tr>
<tr>
<td><code>$netdev</code></td>
<td><p align="justify">Текущее устройство.</p></td>
<td><p>Текущее устройство.</p></td>
</tr>
<tr>
<th rowspan="2">Батарея</th>
<td><code>$bat</code></td>
<td><p align="justify">Заряд батареи, %, <code>---</code>.</p></td>
<td><p>Заряд батареи, %, <code>---</code>.</p></td>
</tr>
<tr>
<td><code>$ac</code></td>
<td><p align="justify">Статус зарядного устройства. Возвращает <code>(*)</code>, если устройство подключено, или <code>( )</code>, если нет.</p></td>
<td><p>Статус зарядного устройства. Возвращает <code>(*)</code>, если устройство подключено, или <code>( )</code>, если нет.</p></td>
</tr>
<tr>
<th rowspan="5">Музыкальный плеер</th>
<td><code>$album</code></td>
<td><p align="justify">Альбом текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
<td><p>Альбом текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
</tr>
<tr>
<td><code>$artist</code></td>
<td><p align="justify">Исполнитель текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
<td><p>Исполнитель текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
</tr>
<tr>
<td><code>$progress</code></td>
<td><p align="justify">Прогресс текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
<td><p>Прогресс текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
</tr>
<tr>
<td><code>$time</code></td>
<td><p align="justify">Длительность текущей пени. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
<td><p>Длительность текущей пени. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
</tr>
<tr>
<td><code>$title</code></td>
<td><p align="justify">Название текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
<td><p>Название текущей песни. Один из поддерживаемых музыкальных плееров должен быть установлен.</p></td>
</tr>
<tr>
<th rowspan="3">Процессы</th>
<td><code>$ps</code></td>
<td><p align="justify">Список запущенных процессов, разделенных запятой.</p></td>
<td><p>Список запущенных процессов, разделенных запятой.</p></td>
</tr>
<tr>
<td><code>$pscount</code></td>
<td><p align="justify">Число запущенных процессов.</p></td>
<td><p>Число запущенных процессов.</p></td>
</tr>
<tr>
<td><code>$pstotal</code></td>
<td><p align="justify">Общее число процессов.</p></td>
<td><p>Общее число процессов.</p></td>
</tr>
<tr>
<th rowspan="1">Пакетный менеджер</th>
<td><code>$pkgcountN</code></td>
<td><p align="justify">Число пакетов, доступных для обновления, для команды N.</p></td>
<td><p>Число пакетов, доступных для обновления, для команды N.</p></td>
</tr>
<tr>
<th rowspan="1">Своя команда</th>
<td><code>$customN</code></td>
<td><p align="justify">Получить данные из указанной команды N. Например, <code>$custom0</code>.</p></td>
<td><p>Получить данные из указанной команды N. Например, <code>$custom0</code>.</p></td>
</tr>
</table>
<h4><a name="advanced" class="anchor" href="#advanced"><span class="octicon octicon-link"></span></a>Расширенные настройки</h4>
<p align="justify"><b>Вертикальная разметка:</b> Использовать вертикальную разметку вместо горизонтальной.</p>
<p><b>Вертикальная разметка:</b> Использовать вертикальную разметку вместо горизонтальной.</p>
<p align="justify"><b>Включить всплывающие сообщения:</b> Нажмите на чекбокс, если вы не используете всплывающие сообщения.</p>
<p><b>Включить всплывающие сообщения:</b> Нажмите на чекбокс, если вы не используете всплывающие сообщения.</p>
<p align="justify"><b>Добавить пустое пространство:</b> Добавить пустое пространство в указанное место виджета.</p>
<p><b>Добавить пустое пространство:</b> Добавить пустое пространство в указанное место виджета.</p>
<p align="justify"><b>Свой формат времени:</b></p>
<p><b>Свой формат времени:</b></p>
<table>
<tr>
<td><code>$dddd</code></td>
<td><p align="justify">Длинный день недели.</p></td>
<td><p>Длинный день недели.</p></td>
</tr>
<tr>
<td><code>$ddd</code></td>
<td><p align="justify">Короткий день недели.</p></td>
<td><p>Короткий день недели.</p></td>
</tr>
<tr>
<td><code>$dd</code></td>
<td><p align="justify">День.</p></td>
<td><p>День.</p></td>
</tr>
<tr>
<td><code>$d</code></td>
<td><p align="justify">День без нуля.</p></td>
<td><p>День без нуля.</p></td>
</tr>
<tr>
<td><code>$MMMM</code></td>
<td><p align="justify">Месяц в длинном формате.</p></td>
<td><p>Месяц в длинном формате.</p></td>
</tr>
<tr>
<td><code>$MMM</code></td>
<td><p align="justify">Месяц в коротком формате.</p></td>
<td><p>Месяц в коротком формате.</p></td>
</tr>
<tr>
<td><code>$MM</code></td>
<td><p align="justify">Месяц.</p></td>
<td><p>Месяц.</p></td>
</tr>
<tr>
<td><code>$M</code></td>
<td><p align="justify">Месяц без нуля.</p></td>
<td><p>Месяц без нуля.</p></td>
</tr>
<tr>
<td><code>$yyyy</code></td>
<td><p align="justify">Год.</p></td>
<td><p>Год.</p></td>
</tr>
<tr>
<td><code>$yy</code></td>
<td><p align="justify">Год в коротком формате.</p></td>
<td><p>Год в коротком формате.</p></td>
</tr>
<tr>
<td><code>$hh</code></td>
<td><p align="justify">Часы.</p></td>
<td><p>Часы.</p></td>
</tr>
<tr>
<td><code>$h</code></td>
<td><p align="justify">Часы без нуля.</p></td>
<td><p>Часы без нуля.</p></td>
</tr>
<tr>
<td><code>$mm</code></td>
<td><p align="justify">Минуты.</p></td>
<td><p>Минуты.</p></td>
</tr>
<tr>
<td><code>$m</code></td>
<td><p align="justify">Минуты без нуля.</p></td>
<td><p>Минуты без нуля.</p></td>
</tr>
<tr>
<td><code>$ss</code></td>
<td><p align="justify">Секунды.</p></td>
<td><p>Секунды.</p></td>
</tr>
<tr>
<td><code>$s</code></td>
<td><p align="justify">Секунды без нуля.</p></td>
<td><p>Секунды без нуля.</p></td>
</tr>
</table>
<p align="justify"><b>Свой формат времени работы:</b></p>
<p><b>Свой формат времени работы:</b></p>
<table>
<tr>
<td><code>$dd</code></td>
<td><p align="justify">Дни аптайма.</p></td>
<td><p>Дни аптайма.</p></td>
</tr>
<tr>
<td><code>$d</code></td>
<td><p align="justify">Дни аптайма без нуля.</p></td>
<td><p>Дни аптайма без нуля.</p></td>
</tr>
<tr>
<td><code>$hh</code></td>
<td><p align="justify">Часы аптайма.</p></td>
<td><p>Часы аптайма.</p></td>
</tr>
<tr>
<td><code>$h</code></td>
<td><p align="justify">Часы аптайма без нуля.</p></td>
<td><p>Часы аптайма без нуля.</p></td>
</tr>
<tr>
<td><code>$mm</code></td>
<td><p align="justify">Минуты аптайма.</p></td>
<td><p>Минуты аптайма.</p></td>
</tr>
<tr>
<td><code>$m</code></td>
<td><p align="justify">Минуты аптайма без 0.</p></td>
<td><p>Минуты аптайма без 0.</p></td>
</tr>
</table>
<p align="justify"><b>Температурные единицы:</b> Выберете единицы температуры. Доступные единицы следующие: Цельсий, Фаренгейт и Кельвин.</p>
<p><b>Температурные единицы:</b> Выберете единицы температуры. Доступные единицы следующие: Цельсий, Фаренгейт и Кельвин.</p>
<p align="justify"><b>Датчики температуры:</b> Список датчиков, которые будут наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из <code>sensors</code>). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p><b>Датчики температуры:</b> Список датчиков, которые будут наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из <code>sensors</code>). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p align="justify"><b>Точки монтирования: </b> Список точек монтирования, которые будут наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из <code>mount</code>). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p><b>Точки монтирования: </b> Список точек монтирования, которые будут наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из <code>mount</code>). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p align="justify"><b>HDD (скорость):</b> Список HDD, скорость которых будет наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из DataEngine). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p><b>HDD (скорость):</b> Список HDD, скорость которых будет наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из DataEngine). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p align="justify"><b>HDD (температура):</b> Список HDD, температура которых будет наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из <code>find</code>). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p><b>HDD (температура):</b> Список HDD, температура которых будет наблюдаться в соответствующем поле (содержимое комбо-бокса заполнятся из <code>find</code>). Содержимое виджета редактируемо, клавиша delete удалит текущий элемент.</p>
<p align="justify"><b>Путь к интерфейсам:</b> Путь к директории, которая содержит информацию о сетевых устройствах. По умолчанию <code>/sys/class/net</code>. Необходима для автоматического выбора устройства.</p>
<p><b>Путь к интерфейсам:</b> Путь к директории, которая содержит информацию о сетевых устройствах. По умолчанию <code>/sys/class/net</code>. Необходима для автоматического выбора устройства.</p>
<p align="justify"><b>Сетевой интерфейс:</b> Использовать указанный интерфейс, как активный. Содержимое комбо-бокса заполнятся из <b>пути к интерфейсам</b>. Эта опция отключит автоматический выбор сетевого интерфейса.</p>
<p><b>Сетевой интерфейс:</b> Использовать указанный интерфейс, как активный. Содержимое комбо-бокса заполнятся из <b>пути к интерфейсам</b>. Эта опция отключит автоматический выбор сетевого интерфейса.</p>
<p align="justify"><b>Устройство батареи:</b> Файл, содержащий информацию о батарее. Данный файл (<code>/sys/class/power_supply/BAT0/capacity</code> по умолчанию) должен содержать только заряд батареи в %.</p>
<p><b>Устройство батареи:</b> Файл, содержащий информацию о батарее. Данный файл (<code>/sys/class/power_supply/BAT0/capacity</code> по умолчанию) должен содержать только заряд батареи в %.</p>
<p align="justify"><b>AC online тег:</b> Строка, которая будет показана, когда AC онлайн. По умолчанию <code>(*)</code>.</p>
<p><b>AC online тег:</b> Строка, которая будет показана, когда AC онлайн. По умолчанию <code>(*)</code>.</p>
<p align="justify"><b>AC offline тег:</b> Строка, которая будет показана, когда AC оффлайн. По умолчанию <code>( )</code>.</p>
<p><b>AC offline тег:</b> Строка, которая будет показана, когда AC оффлайн. По умолчанию <code>( )</code>.</p>
<p align="justify"><b>Устройство AC:</b> Файл, содержащий информацию об адапторе питания. Данный файл (<code>/sys/class/power_supply/AC/online</code> по умолчанию) должен содержать <code>1</code>, если устройство подключено.</p>
<p><b>Устройство AC:</b> Файл, содержащий информацию об адапторе питания. Данный файл (<code>/sys/class/power_supply/AC/online</code> по умолчанию) должен содержать <code>1</code>, если устройство подключено.</p>
<h4><a name="tooltips" class="anchor" href="#tooltips"><span class="octicon octicon-link"></span></a>Тултипы</h4>
<p align="justify">Начиная с версии 1.7.0, поля CPU, частота CPU, память, swap, сеть поддерживают графический тултип (всплывающая подсказка). Чтобы включить их, просто сделайте требуемые чекбоксы полностью чекнутыми. Число хранимых значений может быть установленно во вкладке. Цвета графиков настраиваются тоже.</p>
<p>Начиная с версии 1.7.0, поля CPU, частота CPU, память, swap, сеть поддерживают графический тултип (всплывающая подсказка). Чтобы включить их, просто сделайте требуемые чекбоксы полностью чекнутыми. Число хранимых значений может быть установленно во вкладке. Цвета графиков настраиваются тоже.</p>
<h4><a name="deguiconf" class="anchor" href="#deguiconf"><span class="octicon octicon-link"></span></a>Настройка DataEngine</h4>
<p align="justify"><b>Своя команда:</b> <i><b>ЗАМЕЧАНИЕ</b> это поле может привести к "зависанию" компьютера.</i> Команды, которые будут запущены для соответствующего поля. Например, <code>wget -qO- http://ifconfig.me/ip</code> вернет внешний IP.</p>
<p><b>Своя команда:</b> <i><b>ЗАМЕЧАНИЕ</b> это поле может привести к "зависанию" компьютера.</i> Команды, которые будут запущены для соответствующего поля. Например, <code>wget -qO- http://ifconfig.me/ip</code> вернет внешний IP.</p>
<p align="justify"><b>Устройство GPU:</b> Выберете одно из поддерживаемых устройств GPU. <code>auto</code> включит автоматическое определение устройства, <code>disable</code> отключит все мониторы GPU. По умолчанию <code>auto</code>.</p>
<p><b>Устройство GPU:</b> Выберете одно из поддерживаемых устройств GPU. <code>auto</code> включит автоматическое определение устройства, <code>disable</code> отключит все мониторы GPU. По умолчанию <code>auto</code>.</p>
<p align="justify"><b>HDD:</b> Выберете один из HDD для монитора температуры HDD. <code>all</code> включит монитор для всех доступных устройств, <code>disable</code> отключит монитор температуры HDD. По умолчанию <code>all</code>.</p>
<p><b>HDD:</b> Выберете один из HDD для монитора температуры HDD. <code>all</code> включит монитор для всех доступных устройств, <code>disable</code> отключит монитор температуры HDD. По умолчанию <code>all</code>.</p>
<p align="justify"><b>Команда hddtemp:</b> Введите команду, которая будет запущена для hddtemp DataEngine. По умолчанию <code>sudo hddtemp</code>.</p>
<p><b>Команда hddtemp:</b> Введите команду, которая будет запущена для hddtemp DataEngine. По умолчанию <code>sudo hddtemp</code>.</p>
<p align="justify"><b>Адрес MPD:</b> Адрес MPD сервера. По умолчанию <code>localhost</code>.</p>
<p><b>Адрес MPD:</b> Адрес MPD сервера. По умолчанию <code>localhost</code>.</p>
<p align="justify"><b>Порт MPD:</b> Порт MPD сервера. По умолчанию <code>6600</code>.</p>
<p><b>Порт MPD:</b> Порт MPD сервера. По умолчанию <code>6600</code>.</p>
<p align="justify"><b>Пакетный менеджер:</b> Список команд, которые будут запущены. Число пустых строк - это число ненужных при подсчете строк. Параметры по умолчанию:</p>
<p><b>Пакетный менеджер:</b> Список команд, которые будут запущены. Число пустых строк - это число ненужных при подсчете строк. Параметры по умолчанию:</p>
<table>
<tr>
<td><p align="center"><b>Дистрибутив</b></p></td>
@ -496,45 +496,45 @@ sudo make install
<td><p align="center"><b>Число</b></p></td>
</tr>
<tr>
<td><p align="justify">Arch</p></td>
<td><p>Arch</p></td>
<td><code>pacman -Qu</code></td>
<td><code>0</code></td>
</tr>
<tr>
<td><p align="justify">Debian</p></td>
<td><p>Debian</p></td>
<td><code>apt-show-versions -u -b</code></td>
<td><code>0</code></td>
</tr>
<tr>
<td><p align="justify">Ubuntu</p></td>
<td><p>Ubuntu</p></td>
<td><code>aptitude search '~U'</code></td>
<td><code>0</code></td>
</tr>
<tr>
<td><p align="justify">Fedora</p></td>
<td><p>Fedora</p></td>
<td><code>yum list updates</code></td>
<td><code>3</code></td>
</tr>
<tr>
<td><p align="justify">FreeBSD</p></td>
<td><p>FreeBSD</p></td>
<td><code>pkg_version -I -l '<'</code></td>
<td><code>0</code></td>
</tr>
<tr>
<td><p align="justify">Mandriva</p></td>
<td><p>Mandriva</p></td>
<td><code>urpmq --auto-select</code></td>
<td><code>0</code></td>
</tr>
</table>
<p align="justify"><b>Музыкальный плеер:</b> Выберете один из поддерживаемых музыкальных плееров для соответствующего поля.</p>
<p><b>Музыкальный плеер:</b> Выберете один из поддерживаемых музыкальных плееров для соответствующего поля.</p>
<!-- end of config block -->
<!-- gui block -->
<h2><a name="gui" class="anchor" href="#gui"><span class="octicon octicon-link"></span></a>Графический интерфейс</h2>
<h2><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Скриншоты</h2>
<p align="justify">Виджет (кликабельно):<br>
<p>Виджет (кликабельно):<br>
<a href="/resources/screenshots/pytextmonitor_widget.png"><img src="/resources/preview/pytextmonitor_widget_prev.jpg"></a><br>
Окно настроек:<br>
<a href="/resources/screenshots/pytextmonitor_config_01.png"><img src="/resources/preview/pytextmonitor_config_01_prev.jpg"></a><br>

View File

@ -11,7 +11,7 @@ links:
---
<!-- info block -->
<h2><a name="info" class="anchor" href="#info"><span class="octicon octicon-link"></span></a>Информация</h2>
<p align="justify">Демон для запуска задач в очередь вычислений. Был создан, как proof-of-concept.</p>
<p>Демон для запуска задач в очередь вычислений. Был создан, как proof-of-concept.</p>
{% highlight bash %}
$ queued --help
Simple daemon written on BASH for starting jobs to queue of calculations
@ -52,20 +52,20 @@ Parameters:
<h3><a name="instruction" class="anchor" href="#instruction"><span class="octicon octicon-link"></span></a>Инструкция</h3>
<ul>
<li><p align="justify">Скачайте <a href="https://github.com/arcan1s/queued/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p align="justify">Извлеките из него файлы и установите приложение:</p>
<li><p>Скачайте <a href="https://github.com/arcan1s/queued/releases">архив</a> с актуальной версией исходных файлов.</p></li>
<li><p>Извлеките из него файлы и установите приложение:</p>
{% highlight bash %}
./install.sh "/путь/к/корню/"
{% endhighlight %}
<p align="justify">Если Вы хотите установить в <code>/</code>, Вы должны запустить это, как root:</p>
<p>Если Вы хотите установить в <code>/</code>, Вы должны запустить это, как root:</p>
{% highlight bash %}
sudo ./install.sh
{% endhighlight %}
<p align="justify">Если путь не указан, пакет будет установлен в <code>/</code>.</p></li>
<p>Если путь не указан, пакет будет установлен в <code>/</code>.</p></li>
</ul>
<h3><a name="dependencies" class="anchor" href="#dependencies"><span class="octicon octicon-link"></span></a>Зависимости</h3>
<p align="justify">Все было протестировано на последних версиях зависимостей.</p>
<p>Все было протестировано на последних версиях зависимостей.</p>
<ul>
<li>Bash (включая awk, grep, sed)</li>
<li>systemd <i>(опционально, service-файл)</i></li>
@ -74,27 +74,27 @@ sudo ./install.sh
<!-- howto block -->
<h2><a name="howto" class="anchor" href="#howto"><span class="octicon octicon-link"></span></a>Использование</h2>
<p align="justify">Если Вы хотите запустить демон, просто запустите</p>
<p>Если Вы хотите запустить демон, просто запустите</p>
{% highlight bash %}
systemctl start queued
{% endhighlight %}
<p align="justify">Если Вы хотите включить автозагрузку демона, запутите</p>
<p>Если Вы хотите включить автозагрузку демона, запутите</p>
{% highlight bash %}
systemctl enable queued
{% endhighlight %}
<p align="justify">Но Вы можете изменить путь к конфигурационному файлу или изменить параметры. Для этого, скопируйте (рекомендуется) исходный конфигурационный файл</p>
<p>Но Вы можете изменить путь к конфигурационному файлу или изменить параметры. Для этого, скопируйте (рекомендуется) исходный конфигурационный файл</p>
{% highlight bash %}
cp /etc/queued.conf /новый/путь/к/queued.conf
{% endhighlight %}
<p align="justify">и отредактируйте его. Затем скопируйте исходный service-файл в <code>/etc</code>:</p>
<p>и отредактируйте его. Затем скопируйте исходный service-файл в <code>/etc</code>:</p>
{% highlight bash %}
cp /usr/lib/systemd/system/queued.service /etc/systemd/system/queued-my-profile.service
{% endhighlight %}
<p align="justify">Замените следующую строку в этом файле:</p>
<p>Замените следующую строку в этом файле:</p>
{% highlight bash %}
ExecStart=/usr/bin/queued
{% endhighlight %}
<p align="justify">на</p>
<p>на</p>
{% highlight bash %}
ExecStart=/usr/bin/queued -c /path/to/new/queued.conf
{% endhighlight %}
@ -106,10 +106,10 @@ ExecStart=/usr/bin/queued -c /path/to/new/queued.conf
<li>Создайте файл с именем пользователя (<code>script.sh.user</code>) для данной задачи, если это необходимо</li>
<li>Скопируйте файлы в <code>$WORKDIR</code></li>
</ol>
<p align="justify">Также Вы можете воспользоваться <code>add_queued</code>.</p>
<p>Также Вы можете воспользоваться <code>add_queued</code>.</p>
<h2><a name="configuration" class="anchor" href="#configuration"><span class="octicon octicon-link"></span></a>Настройка</h2>
<p align="justify">Все настройки хранятся в <code>/etc/queued.conf</code>. После редактирования, Вы должны перезапустить демон</p>
<p>Все настройки хранятся в <code>/etc/queued.conf</code>. После редактирования, Вы должны перезапустить демон</p>
{% highlight bash %}
systemctl restart queued
{% endhighlight %}
@ -120,27 +120,27 @@ systemctl restart queued
<table>
<tr>
<th>WORKDIR</th>
<td><p align="justify">Полный путь к директории с исходными файлами задач. По умолчанию <code>/var/lib/queued/work</code>. Эта директория должна содержать исходные скрипты <code>script-name</code>, файл с приоритетом (если необходимо) <code>script-name.pr</code> и файл с именем пользователя (если необходимо) <code>script-name.user</code>.</p></td>
<td><p>Полный путь к директории с исходными файлами задач. По умолчанию <code>/var/lib/queued/work</code>. Эта директория должна содержать исходные скрипты <code>script-name</code>, файл с приоритетом (если необходимо) <code>script-name.pr</code> и файл с именем пользователя (если необходимо) <code>script-name.user</code>.</p></td>
</tr>
<tr>
<th>JOBDIR</th>
<td><p align="justify">Полный путь к директории с запущенными задачами. По умолчанию <code>/var/lib/queued/job</code>. Все файлы будут перемещены сюда.</p></td>
<td><p>Полный путь к директории с запущенными задачами. По умолчанию <code>/var/lib/queued/job</code>. Все файлы будут перемещены сюда.</p></td>
</tr>
<tr>
<th>QUEUEFILE</th>
<td><p align="justify">Полный путь к файлу с очередью вычислений. По умолчанию <code>/var/lib/queued/queue</code>.</td>
<td><p>Полный путь к файлу с очередью вычислений. По умолчанию <code>/var/lib/queued/queue</code>.</td>
</tr>
<tr>
<th>PRIORITY</th>
<td><p align="justify">Стандартный приоритет. По умолчанию <code>0</code>. Чем выше значение, тем выше приоритет задачи.</td>
<td><p>Стандартный приоритет. По умолчанию <code>0</code>. Чем выше значение, тем выше приоритет задачи.</td>
</tr>
<tr>
<th>SLEEPTIME</th>
<td><p align="justify">Интервал обновлений в минутах. По умолчанию <code>5</code>.</td>
<td><p>Интервал обновлений в минутах. По умолчанию <code>5</code>.</td>
</tr>
<tr>
<th>STARTASUSER</th>
<td><p align="justify">Стандартное имя пользователя. По умолчанию <code>root</code>. Именно данному пользователю будут принадлежать все созданные файлы.</td>
<td><p>Стандартное имя пользователя. По умолчанию <code>root</code>. Именно данному пользователю будут принадлежать все созданные файлы.</td>
</tr>
</table>
<!-- end of config block -->