Merge branch 'backport' into work

Conflicts:

	openbox/actions/desktop.c
	openbox/actions/if.c
This commit is contained in:
Mikael Magnusson 2008-03-02 19:41:32 +01:00
commit 9676757a08
6 changed files with 120 additions and 93 deletions

View file

@ -86,7 +86,7 @@ static gpointer setup_go_func(xmlNodePtr node)
}
else {
o->type = ABSOLUTE;
o->abs.desktop = obt_parse_node_int(n) - 1;
o->abs.desktop = atoi(s) - 1;
}
g_free(s);
}

View file

@ -82,7 +82,7 @@ static gpointer setup_func(xmlNodePtr node)
m = obt_parse_find_node(n->children, "action");
while (m) {
ObActionsAct *action = actions_parse(m);
if (action) o->thenacts = g_slist_prepend(o->thenacts, action);
if (action) o->thenacts = g_slist_append(o->thenacts, action);
m = obt_parse_find_node(m->next, "action");
}
}
@ -92,7 +92,7 @@ static gpointer setup_func(xmlNodePtr node)
m = obt_parse_find_node(n->children, "action");
while (m) {
ObActionsAct *action = actions_parse(m);
if (action) o->elseacts = g_slist_prepend(o->elseacts, action);
if (action) o->elseacts = g_slist_append(o->elseacts, action);
m = obt_parse_find_node(m->next, "action");
}
}

View file

@ -2,14 +2,14 @@
# Copyright (C) 2004 Mikael Magnusson
# This file is distributed under the same license as the Openbox package.
# Yukihiro Nakai <nakai@gnome.gr.jp>, 2003.
# Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>, 2007.
# Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>, 2007, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: Openbox 3.4.3\n"
"Project-Id-Version: Openbox 3.4.7\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
"POT-Creation-Date: 2008-02-28 23:00+0100\n"
"PO-Revision-Date: 2007-06-07 14:49+0200\n"
"PO-Revision-Date: 2008-03-02 17:18+0100\n"
"Last-Translator: Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
@ -25,11 +25,11 @@ msgstr ""
#: openbox/actions/execute.c:124
msgid "No"
msgstr ""
msgstr "いいえ"
#: openbox/actions/execute.c:125
msgid "Yes"
msgstr ""
msgstr "はい"
#: openbox/actions/execute.c:137
#, c-format
@ -43,27 +43,27 @@ msgstr "\"%s\"の実行に失敗しました: %s"
#: openbox/actions/exit.c:46 openbox/client.c:3444
msgid "Cancel"
msgstr ""
msgstr "キャンセル"
#: openbox/actions/exit.c:47
msgid "Exit"
msgstr ""
msgstr "終了"
#: openbox/actions/exit.c:50
msgid "Are you sure you want to exit Openbox?"
msgstr ""
msgstr "Openbox を終了してもよろしいですか?"
#: openbox/client.c:1996
msgid "Unnamed Window"
msgstr ""
msgstr "名称未設定"
#: openbox/client.c:2010 openbox/client.c:2042
msgid "Killing..."
msgstr ""
msgstr "強制終了中..."
#: openbox/client.c:2012 openbox/client.c:2044
msgid "Not Responding"
msgstr ""
msgstr "応答なし"
#: openbox/client.c:3433
#, c-format
@ -71,21 +71,22 @@ msgid ""
"The window \"%s\" does not seem to be responding. Do you want to force it "
"to exit by sending the %s signal?"
msgstr ""
"ウィンドウ \"%s\" は応答していないようです。%s 信号を送り強制終了しますか?"
#: openbox/client.c:3435
msgid "End Process"
msgstr ""
msgstr "プロセスを終了する"
#: openbox/client.c:3439
#, c-format
msgid ""
"The window \"%s\" does not seem to be responding. Do you want to disconnect "
"it from the X server?"
msgstr ""
msgstr "ウィンドウ \"%s\" は応答していないようです。Xサーバから切断しますか"
#: openbox/client.c:3441
msgid "Disconnect"
msgstr ""
msgstr "切断する"
#: openbox/client_list_combined_menu.c:87 openbox/client_list_menu.c:91
msgid "Go there..."
@ -121,7 +122,7 @@ msgstr "階層(_L)"
#: openbox/client_menu.c:375
msgid "Always on _top"
msgstr "常に最上にする(_T)"
msgstr "常に最上にする(_T)"
#: openbox/client_menu.c:376
msgid "_Normal"
@ -129,7 +130,7 @@ msgstr "通常(_N)"
#: openbox/client_menu.c:377
msgid "Always on _bottom"
msgstr "常に最下にする(_B)"
msgstr "常に最下にする(_B)"
#: openbox/client_menu.c:379
msgid "_Send to desktop"
@ -153,7 +154,7 @@ msgstr "サイズの変更(_Z)"
#: openbox/client_menu.c:401
msgid "Ico_nify"
msgstr "アイコン化(_N)"
msgstr "最小化(_N)"
#: openbox/client_menu.c:405
msgid "Ma_ximize"
@ -163,7 +164,6 @@ msgstr "最大化(_X)"
msgid "_Roll up/down"
msgstr "巻き上げ/展開(_R)"
# not sure about this one
#: openbox/client_menu.c:411
msgid "Un/_Decorate"
msgstr "非/装飾(_D)"
@ -251,80 +251,86 @@ msgstr "再起動の際新しい実行ファイル\"%s\"の実行に失敗しま
#: openbox/openbox.c:498 openbox/openbox.c:500
msgid "Copyright (c)"
msgstr ""
msgstr "著作権 (c)"
#: openbox/openbox.c:509
msgid "Syntax: openbox [options]\n"
msgstr ""
msgstr "使い方: openbox [オプション]\n"
#: openbox/openbox.c:510
msgid ""
"\n"
"Options:\n"
msgstr ""
"\n"
"オプション:\n"
#: openbox/openbox.c:511
msgid " --help Display this help and exit\n"
msgstr ""
msgstr " --help この使い方を表示して終了します\n"
#: openbox/openbox.c:512
msgid " --version Display the version and exit\n"
msgstr ""
msgstr " --version バージョンを表示して終了します\n"
#: openbox/openbox.c:513
msgid " --replace Replace the currently running window manager\n"
msgstr ""
msgstr " --replace 現在実行中のウィンドウマネージャを置き換えます\n"
#. TRANSLATORS: if you translate "FILE" here, make sure to keep the "Specify..."
#. aligned still, if you have to, make a new line with \n and 22 spaces. It's
#. fine to leave it as FILE though.
#: openbox/openbox.c:517
msgid " --config-file FILE Specify the path to the config file to use\n"
msgstr ""
msgstr " --config-file FILE 使用する設定ファイルのパスを指定します\n"
#: openbox/openbox.c:518
msgid " --sm-disable Disable connection to the session manager\n"
msgstr ""
msgstr " --sm-disable セッションマネージャへの接続を止めます\n"
#: openbox/openbox.c:519
msgid ""
"\n"
"Passing messages to a running Openbox instance:\n"
msgstr ""
"\n"
"実行中の Openbox にメッセージを送ります:\n"
#: openbox/openbox.c:520
msgid " --reconfigure Reload Openbox's configuration\n"
msgstr ""
msgstr " --reconfigure Openbox の設定を再読み込みします\n"
#: openbox/openbox.c:521
msgid " --restart Restart Openbox\n"
msgstr ""
msgstr " --restart Openbox を再起動します\n"
#: openbox/openbox.c:522
msgid " --exit Exit Openbox\n"
msgstr ""
msgstr " --exit Openbox を終了します\n"
#: openbox/openbox.c:523
msgid ""
"\n"
"Debugging options:\n"
msgstr ""
"\n"
"デバッグオプション:\n"
#: openbox/openbox.c:524
msgid " --sync Run in synchronous mode\n"
msgstr ""
msgstr " --sync 同期モードで実行します\n"
#: openbox/openbox.c:525
msgid " --debug Display debugging output\n"
msgstr ""
msgstr " --debug デバッグ情報を表示します\n"
#: openbox/openbox.c:526
msgid " --debug-focus Display debugging output for focus handling\n"
msgstr ""
msgstr " --debug-focus フォーカスの扱いに関するデバッグ情報を表示します\n"
#: openbox/openbox.c:527
msgid " --debug-xinerama Split the display into fake xinerama screens\n"
msgstr ""
msgstr " --debug-xinerama 偽の xinerama スクリーンに分割表示します\n"
#: openbox/openbox.c:528
#, c-format
@ -332,10 +338,12 @@ msgid ""
"\n"
"Please report bugs at %s\n"
msgstr ""
"\n"
"バグは %s 宛へ報告して下さい\n"
#: openbox/openbox.c:597
msgid "--config-file requires an argument\n"
msgstr ""
msgstr "--config-file requires an argument\n"
#: openbox/openbox.c:640
#, c-format
@ -367,6 +375,8 @@ msgid ""
"Openbox is configured for %d desktops, but the current session has %d. "
"Overriding the Openbox configuration."
msgstr ""
"Openbox は %d 個のデスクトップを設定されましたが, 現在のセッションは %d 個"
"持っています。 Openbox の設定を無視します。"
#: openbox/screen.c:1180
#, c-format
@ -420,7 +430,7 @@ msgstr "Xエラー: %s"
#: openbox/prompt.c:182
msgid "OK"
msgstr ""
msgstr "OK"
#~ msgid "Invalid use of action \"%s\". Action will be ignored."
#~ msgstr "アクション\"%s\"の不正な使用です。このアクションは無視されます。"

View file

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Openbox 3.4.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.icculus.org\n"
"POT-Creation-Date: 2008-02-28 23:00+0100\n"
"PO-Revision-Date: 2008-01-22 22:17+0100\n"
"POT-Creation-Date: 2008-03-02 19:12+0100\n"
"PO-Revision-Date: 2008-03-02 19:11+0100\n"
"Last-Translator: Althaser <Althaser@gmail.com>\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
@ -19,15 +19,15 @@ msgstr ""
#: openbox/actions.c:150
#, c-format
msgid "Invalid action \"%s\" requested. No such action exists."
msgstr "Pedido de acção \"%s\" inválido. Não existem quaisquer acções."
msgstr "Pedido de acção \"%s\" inválido. Não existe quaisquer acções."
#: openbox/actions/execute.c:124
msgid "No"
msgstr ""
msgstr "Não"
#: openbox/actions/execute.c:125
msgid "Yes"
msgstr ""
msgstr "Sim"
#: openbox/actions/execute.c:137
#, c-format
@ -39,21 +39,21 @@ msgstr "Falha a converter o caminho \"%s\" do utf8"
msgid "Failed to execute \"%s\": %s"
msgstr "Falha a executar \"%s\": %s"
#: openbox/actions/exit.c:46 openbox/client.c:3444
#: openbox/actions/exit.c:47 openbox/client.c:3444
msgid "Cancel"
msgstr ""
msgstr "Cancelar"
#: openbox/actions/exit.c:47
#: openbox/actions/exit.c:48
msgid "Exit"
msgstr ""
msgstr "Sair"
#: openbox/actions/exit.c:50
#: openbox/actions/exit.c:51
msgid "Are you sure you want to exit Openbox?"
msgstr ""
msgstr "Tem a certeza que deseja sair do Openbox?"
#: openbox/client.c:1996
msgid "Unnamed Window"
msgstr ""
msgstr "Janela sem nome"
#: openbox/client.c:2010 openbox/client.c:2042
msgid "Killing..."
@ -69,10 +69,12 @@ msgid ""
"The window \"%s\" does not seem to be responding. Do you want to force it "
"to exit by sending the %s signal?"
msgstr ""
"A janela \"%s\" parece não estar a responder. Pretende forçá-la a sair "
"enviando o sinal %s?"
#: openbox/client.c:3435
msgid "End Process"
msgstr ""
msgstr "Terminar Processo"
#: openbox/client.c:3439
#, c-format
@ -80,10 +82,12 @@ msgid ""
"The window \"%s\" does not seem to be responding. Do you want to disconnect "
"it from the X server?"
msgstr ""
"A janela \"%s\" parece não estar a responder. Pretende desligá-la do "
"servidor X?"
#: openbox/client.c:3441
msgid "Disconnect"
msgstr ""
msgstr "Desligar"
#: openbox/client_list_combined_menu.c:87 openbox/client_list_menu.c:91
msgid "Go there..."
@ -119,7 +123,7 @@ msgstr "_Camada"
#: openbox/client_menu.c:375
msgid "Always on _top"
msgstr "Sempre em _cima"
msgstr "Sempre no _topo"
#: openbox/client_menu.c:376
msgid "_Normal"
@ -135,7 +139,7 @@ msgstr "Enviar para
#: openbox/client_menu.c:383
msgid "Client menu"
msgstr "Menu de clientes"
msgstr "Menu do cliente"
#: openbox/client_menu.c:393
msgid "R_estore"
@ -181,7 +185,7 @@ msgstr "Conflito com tecla de atalho no ficheiro de configura
#: openbox/menu.c:103 openbox/menu.c:111
#, c-format
msgid "Unable to find a valid menu file \"%s\""
msgstr "Incapaz de encontrar um ficheiro de menu válido \"%s\""
msgstr "Incapaz de encontrar um ficheiro de menu \"%s\" válido"
#: openbox/menu.c:171
#, c-format
@ -196,7 +200,7 @@ msgstr "Resultado inv
#: openbox/menu.c:198
#, c-format
msgid "Attempted to access menu \"%s\" but it does not exist"
msgstr "Tentei aceder ao menu \"%s\" mas ele não existe"
msgstr "Tentou aceder ao menu \"%s\" mas ele não existe"
#: openbox/menu.c:368 openbox/menu.c:369
msgid "More..."
@ -210,7 +214,7 @@ msgstr "Bot
#: openbox/mouse.c:379
#, c-format
msgid "Invalid context \"%s\" in mouse binding"
msgstr "Contexto inválido \"%s\" no atalho do rato"
msgstr "Contexto \"%s\" inválido no atalho do rato"
#: openbox/openbox.c:134
#, c-format
@ -219,11 +223,11 @@ msgstr "Incapaz de mudar para o direct
#: openbox/openbox.c:154
msgid "Failed to open the display from the DISPLAY environment variable."
msgstr "Falha a abrir o ecrã pela variável de ambiente DISPLAY."
msgstr "Falha a abrir o ecrã da variável de ambiente DISPLAY."
#: openbox/openbox.c:185
msgid "Failed to initialize the obrender library."
msgstr "Falha a inicializar a biblioteca obrender"
msgstr "Falha a iniciar a biblioteca obrender"
#: openbox/openbox.c:196
msgid "X server does not support locale."
@ -266,7 +270,7 @@ msgstr ""
#: openbox/openbox.c:511
msgid " --help Display this help and exit\n"
msgstr " --help Mostra este help e sai\n"
msgstr " --help Mostra esta ajuda e sai\n"
#: openbox/openbox.c:512
msgid " --version Display the version and exit\n"
@ -282,6 +286,9 @@ msgstr " --replace Substitui o corrente gestor de janelas\n"
#: openbox/openbox.c:517
msgid " --config-file FILE Specify the path to the config file to use\n"
msgstr ""
" --config-file FICHEIRO\n"
" Especifica o caminho do ficheiro de configuração para "
"usar\n"
#: openbox/openbox.c:518
msgid " --sm-disable Disable connection to the session manager\n"
@ -293,7 +300,7 @@ msgid ""
"Passing messages to a running Openbox instance:\n"
msgstr ""
"\n"
"Passando mensagens para a solicitação do Openbox em execução\n"
"Passando mensagens para uma solicitação do Openbox em execução\n"
#: openbox/openbox.c:520
msgid " --reconfigure Reload Openbox's configuration\n"
@ -305,7 +312,7 @@ msgstr " --restart Reinicia o Openbox\n"
#: openbox/openbox.c:522
msgid " --exit Exit Openbox\n"
msgstr " --saida Sai do Openbox\n"
msgstr " --sair Sai do Openbox\n"
#: openbox/openbox.c:523
msgid ""
@ -313,7 +320,7 @@ msgid ""
"Debugging options:\n"
msgstr ""
"\n"
"Opções de depuração\n"
"Opções de depuração:\n"
#: openbox/openbox.c:524
msgid " --sync Run in synchronous mode\n"
@ -344,7 +351,7 @@ msgstr ""
#: openbox/openbox.c:597
msgid "--config-file requires an argument\n"
msgstr ""
msgstr "--config-file requer um argumento\n"
#: openbox/openbox.c:640
#, c-format
@ -354,7 +361,7 @@ msgstr "Argumento inv
#: openbox/screen.c:102 openbox/screen.c:190
#, c-format
msgid "A window manager is already running on screen %d"
msgstr "O gestor de janelas já está em execução no ecrã %d"
msgstr "Um gestor de janelas já está em execução no ecrã %d"
#: openbox/screen.c:124
#, c-format
@ -376,27 +383,33 @@ msgid ""
"Openbox is configured for %d desktops, but the current session has %d. "
"Overriding the Openbox configuration."
msgstr ""
"O Openbox está configurado para %d áreas de trabalho, mas a sessão corrente "
"tem %d. Sobrescrevendo a configuração do Openbox."
#: openbox/screen.c:1180
#, c-format
msgid "desktop %i"
msgstr "área de trabalho %i"
#: openbox/session.c:103
#: openbox/session.c:104
#, c-format
msgid "Unable to make directory \"%s\": %s"
msgstr "Incapaz de criar o directório \"%s\": %s "
#: openbox/session.c:451
#: openbox/session.c:452
#, c-format
msgid "Unable to save the session to \"%s\": %s"
msgstr "Incapaz de guardar a sessão em \"%s\": %s"
#: openbox/session.c:583
#: openbox/session.c:584
#, c-format
msgid "Error while saving the session to \"%s\": %s"
msgstr "Erro enquanto guardava a sessão em \"%s\": %s"
#: openbox/session.c:821
msgid "Not connected to a session manager"
msgstr ""
#: openbox/startupnotify.c:243
#, c-format
msgid "Running %s\n"
@ -410,7 +423,7 @@ msgstr "Chave modificadora \"%s\" inv
#: openbox/translate.c:138
#, c-format
msgid "Invalid key code \"%s\" in key binding"
msgstr "Código de chave \"%s\" inválido na tecla de atalho"
msgstr "Código chave \"%s\" inválido na tecla de atalho"
#: openbox/translate.c:145
#, c-format
@ -420,7 +433,7 @@ msgstr "Nome de chave \"%s\" inv
#: openbox/translate.c:151
#, c-format
msgid "Requested key \"%s\" does not exist on the display"
msgstr "Chave pedida \"%s\" não existe no ecrã"
msgstr "Chave requerida \"%s\" não existe no ecrã"
#: openbox/xerror.c:40
#, c-format
@ -429,7 +442,7 @@ msgstr "Erro no X: %s"
#: openbox/prompt.c:182
msgid "OK"
msgstr ""
msgstr "OK"
#~ msgid "Invalid use of action \"%s\". Action will be ignored."
#~ msgstr "Uso inválido da acção \"%s\". A acção será ignorada."

View file

@ -0,0 +1,4 @@
all clean install:
$(MAKE) -C ../.. -$(MAKEFLAGS) $@
.PHONY: all clean install

View file

@ -64,7 +64,7 @@ def main(argv=sys.argv):
# run them !
environments = argv[1:]
for autofile in files:
if list: autofile.list(environments)
if list: autofile.display(environments)
else: autofile.run(environments)
class AutostartFile:
@ -80,29 +80,30 @@ class AutostartFile:
def __str__(self):
return self.path + " : " + self.de.getName()
def isexecfile(path):
def _isexecfile(path):
return os.access(path, os.X_OK)
def findFile(self, path, search, match_func):
def _findFile(self, path, search, match_func):
# check empty path
if not path: return None
# check absolute path
if path[0] == '/':
if match_func(path): return path
else: return None
else:
# check relative path
for dirname in search.split(os.pathsep):
if dirname != "":
candidate = os.path.join(dirname, path)
if (match_func(candidate)): return candidate
def alert(self, str, info=False):
def _alert(self, str, info=False):
if info:
print "\t ", str
else:
print "\t*", str
def showInEnvironment(self, envs, verbose=False):
def _showInEnvironment(self, envs, verbose=False):
default = not self.de.getOnlyShowIn()
noshow = False
force = False
@ -117,49 +118,48 @@ class AutostartFile:
for i in self.de.getOnlyShowIn():
if s: s += ", "
s += i
self.alert("Excluded by: OnlyShowIn (" + s + ")")
self._alert("Excluded by: OnlyShowIn (" + s + ")")
if default and noshow and not force:
s = ""
for i in self.de.getOnlyShowIn():
for i in self.de.getNotShowIn():
if s: s += ", "
s += i
self.alert("Excluded by: NotShowIn (" + s + ")")
self._alert("Excluded by: NotShowIn (" + s + ")")
return (default and not noshow) or force
def shouldRun(self, envs, verbose=False):
def _shouldRun(self, envs, verbose=False):
if not self.de.getExec():
if verbose: self.alert("Excluded by: Missing Exec field")
if verbose: self._alert("Excluded by: Missing Exec field")
return False
if self.de.getHidden():
if verbose: self.alert("Excluded by: Hidden")
if verbose: self._alert("Excluded by: Hidden")
return False
if self.de.getTryExec():
if not self.findFile(self.de.getTryExec(), os.getenv("PATH"),
self.isexecfile):
if verbose: self.alert("Excluded by: TryExec (" +
self.de.getTryExec() + ")")
if not self._findFile(self.de.getTryExec(), os.getenv("PATH"),
self._isexecfile):
if verbose: self._alert("Excluded by: TryExec (" +
self.de.getTryExec() + ")")
return False
if not self.showInEnvironment(envs, verbose):
if not self._showInEnvironment(envs, verbose):
return False
return True
def list(self, envs):
running = False
if self.shouldRun(envs):
def display(self, envs):
if self._shouldRun(envs):
print "[*] " + self.de.getName()
else:
print "[ ] " + self.de.getName()
self.alert("File: " + self.path, info=True)
self._alert("File: " + self.path, info=True)
if self.de.getExec():
self.alert("Executes: " + self.de.getExec(), info=True)
self.shouldRun(envs, True)
self._alert("Executes: " + self.de.getExec(), info=True)
self._shouldRun(envs, True)
print
def run(self, envs):
here = os.getcwd()
if self.de.getPath():
os.chdir(self.de.getPath())
if self.shouldRun(envs):
if self._shouldRun(envs):
args = ["/bin/sh", "-c", "exec " + self.de.getExec()]
os.spawnv(os.P_NOWAIT, args[0], args);
os.chdir(here)