WM Awesomeと知り合いです。 パート1

Awesomeのようなウィンドウマネージャーとの最初の会議について話します。 長い間Gnome2を使用してからGnome3を試し、kdeを試してみることにしましたが、どれも満足しませんでした。 はい、ところで、私にはGentooがあります。 はい、この記事は私のような新人を対象にしています-人生を簡素化するために。



バージョン3.4.15は公式のportageブランチで安定していますが、USEフラグが「dbus」である最後の利用可能なバージョン3.5.2-r1を置くことにしました。 ログインマネージャーとしてSLiMを選択しました。 必要なすべてのパッケージをアセンブルした後、/ etc / conf.d / xdmを開き、デフォルトのマネージャーとしてSLiMをインストールします。



DISPLAYMANAGER="slim"







次に、/ etc / slim.confに小さな変更を加える必要があります



# login_cmd exec /bin/sh - ~/.xinitrc %session





login_cmd exec /bin/bash -login ~/.xinitrc %session





# login_cmd exec /bin/bash -login /usr/share/slim/Xsession %session







この設定では、/ usr / share / slim / themesにあるお気に入りのテーマを選択することもできます。 デフォルトを管理します。 いくつかの興味深いパラメータもありますが、私はそれらに触れませんでした-必要はありません。



私がurxvtを使用することにした端末。 私はそれを組み立てました:



rxvt USE="xgetdefaults"





rxvt-unicode USE="256-color focused-urgency font-styles mousewheel perl startup-notification vanilla xft"







実際、wmが起動するように、変更を〜/ .xinitrcファイルに組み込む必要があります(存在しない場合は作成します)。



urxvtd --quiet --opendisplay --fork &





pulseaudio --start &





exec ck-launch-session dbus-launch awesome







最初の行-urxvtデーモン(将来、クライアントはurxvtcと呼ばれます)を起動します。2番目の行ではpulseaudioを明確に起動し、最後にawesomeを起動します。 コンソールキットではなくsystemdを使用している場合、あなたのすてきな呼び出しは異なるように見えますが、私はsystemdを使用していないので、そのふりをすることはできません。



xdmを実行します。

sudo /etc/init.d/xdm start







ログインして、まさにそのような写真を観察します。





美しいテーマ、設定、すばらしいウィジェットを探して、私は長い間さまざまなフォーラムに登りました。 そのような非合法的なユーザーに出くわしました(彼はgithubにたくさんの記事と面白いものを持っています)







そして彼のテーマの新しいバージョン:







それは非常に感銘を受け、私はそのトピックに自分自身を置くことにしました-しかし、それは失敗しました。 テーマが機能しませんでした。 1つのエラーを修正すると、新しいエラーが表示されるなど。 後で彼の投稿を見ました。内容は次のようなものでした:「松葉杖がたくさんあるので、初心者を置くことはお勧めしません。多くの時間を費やしますが、機能するという事実ではありません。」 実際に起こった。 それから私は自分で設定を書くことにしました。 Luaの知識はまったくありませんでしたが、Googleは常に助けてくれます。



構成ファイルは/etc/xdg/awesome/rc.luaにあります-しかし、それを触ることはお勧めしません。ただコピーするだけです

cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua





(誰かが.configディレクトリを持っていなくても、心配しないでください-ただ作成してください。

mkdir ~/.config





mkdir ~/.config/awesome







設定を始めましょう。 (はい、私は多くの記事を使用して、書き直しました)



ここでは、接続されているすべてのライブラリをリストします
 --------------------------------------------- ---   --- --------------------------------------------- local gears = require("gears") local awful = require("awful") local vicious = require("vicious") awful.rules = require("awful.rules") require("awful.autofocus") local wibox = require("wibox") local beautiful = require("beautiful") local naughty = require("naughty") local menubar = require("menubar") local dbus = require("dbus")
      
      









すべてが明らかなようです:)
 --------------------------------------------------------- ---    --- --------------------------------------------------------- os.setlocale("ru_RU.UTF-8")
      
      









この部分は変更されないままです-これはエラーハンドラです
 -- {{{ Error handling -- Check if awesome encountered an error during startup and fell back to -- another config (This code will only ever execute for the fallback config) if awesome.startup_errors then naughty.notify({ preset = naughty.config.presets.critical, title = "Oops, there were errors during startup!", text = awesome.startup_errors }) end -- Handle runtime errors after startup do local in_error = false awesome.connect_signal("debug::error", function (err) -- Make sure we don't go into an endless error loop if in_error then return end in_error = true naughty.notify({ preset = naughty.config.presets.critical, title = "Oops, an error happened!", text = err }) in_error = false end) end -- }}}
      
      









私はzenburnテーマを基礎としました(/ usr / share / awesome / themes / zenburnにあります)。 そして、私はそれを自分自身で少し変更することにしました(今のところほとんど重要ではありません)
 ------------------------------------- ---   --- ------------------------------------- beautiful.init("/home/worm2fed/.config/awesome/themes/worm2fed/theme.lua")
      
      









最後の行の-nwオプションにより、emacsを端末で実行できます
 ---------------------------------------------------------------------- ---     --- ---------------------------------------------------------------------- terminal = "urxvtc" --    browser = "google-chrome-stable" --    editor = os.getenv("EDITOR") or "emacs" --    editor_cmd = terminal .. " -nw" .. editor --    
      
      









インデントは恐ろしく外れましたが、エディターではすべて美しいです。 修飾キー-これはスーパーとも呼ばれ、ウィンドウのロゴが付いたキーです。 ほとんどの場合、Mod4ですが、異なる場合があります。 そして、設定に必要なマウスボタンとキーのさらなるコード。 マウスコードを確認するには:

xev | grep 'button'







修飾キーとその他のキーの場合:

xev | grep 'keycode'







ボタンとキーコード
 ----------------------------------------- --- - --- ----------------------------------------- modkey = "Mod4" --------------------------- ---   --- --------------------------- left_button = 1 wheel_button = 2 right_button = 3 plus_button = 4 minus_button = 5 wheel_left_button = 6 wheel_write_button = 7 ----------------------------------- --- -  --- ----------------------------------- key_V = "#55" key_Z = "#52" key_Y = "#29" key_J = "#44" key_K = "#45" key_N = "#57" key_M = "#58" key_F = "#41" key_R = "#27" key_L = "#46" key_C = "#54" key_W = "#25" key_X = "#53" key_Q = "#24" key_H = "#43" key_Tab = "#23" key_Tilda = "#49" key_U = "#30" key_E = "#26" key_T = "#28" key_P = "#33" key_O = "#32" key_Return = "#36" key_Left = "#113" key_Right = "#114" key_Esc = "#9" key_Print = "#107" key_Alt_R = "#108" key_Alt_L = "#64" key_Space = "#65" key_Ctrl_R = "#105" key_Ctrl_L = "#37" key_Home = "#110" key_F1 = "#67" key_Mute = "#121" key_Vol_Down = "#122" key_Vol_Up = "#123"
      
      









ここで、必要なウィンドウレイアウトを選択しました
 ------------------------------------------------------------------------------ --- Layouts -      --- ----------------------------------------------------------------------------- local layouts = { awful.layout.suit.floating, -- 1 awful.layout.suit.tile, -- 2   ,   () --awful.layout.suit.tile.left, -- *    awful.layout.suit.tile.bottom, -- 3    --awful.layout.suit.tile.top, -- *    awful.layout.suit.fair, -- 4 --awful.layout.suit.fair.horizontal, --awful.layout.suit.spiral, awful.layout.suit.spiral.dwindle, -- 5 awful.layout.suit.max, -- 6 --awful.layout.suit.max.fullscreen, awful.layout.suit.magnifier -- 7 }
      
      









ここではすべてが明確です。
 -------------------------------------- ---    --- -------------------------------------- --      if beautiful.wallpaper then --    for s = 1, screen.count() do --      (      ) gears.wallpaper.maximized(beautiful.wallpaper, s, true) end end
      
      









タグ名は絶対に何でも構いません-ギリシャ語の文字を選択しました-unlogic画面のように。 上記で定義した各タグに独自のレイアウトを割り当てます。

タグ
 --------------------------------------------------------- ---  -    --- --------------------------------------------------------- --   tags = { --   names = { " α ", " β ", " ζ ", " Θ ", " Ξ ", " ς ", " ψ "}, --   layout = { layouts[1], layouts[2], layouts[3], layouts[4], layouts[5], layouts[6], layouts[7] }} --    for s = 1, screen.count() do --     ,     tags[s] = awful.tag(tags.names, s, tags.layout) end
      
      









メニューを収集します(なぜ必要なのかわかりません、使用しませんでした)
 ------------------------------ ---   --- ------------------------------ --- - internet_menu = { --     -- {<  >, < >, <>} {" Firefox", "firefox-bin", beautiful.firefox_icon}, {" Chrome", "google-chrome-stable", beautiful.chrome_icon}, {" Pidgin", "pidgin"} } --- editors_menu = { {" Eclipse", "eclipse-bin-4.2"}, {" Emacs", "emacs"} } --- office_menu = { {" Word", "libreoffice --writer"}, {" Exel", "libreoffice --calc"} } main_menu = awful.menu({ --     items = { {" ", internet_menu}, {" ", editors_menu}, {" LibreOffice", office_menu}, {" "}, {" ", "reboot", beautiful.reboot_icon}, {" ", "halt", beautiful.poweroff_icon}, {" ", awesome.quit, beautiful.logout_icon} } }) ------------------------------------------------------------------ ---  -       --- ------------------------------------------------------------------ launcher = awful.widget.launcher({ image = beautiful.gentoo_icon, menu = main_menu })
      
      









しかし、理由はわかりませんでした。
 -- Menubar configuration menubar.utils.terminal = terminal -- Set the terminal for applications that require it -- }}}
      
      









記事は非常に大きく出たので、 ここで続け 、それを断片に分割しなければなりませんでし



All Articles