Compare commits
71 Commits
Author | SHA1 | Date |
---|---|---|
Carsten Haitzler | 527f62f034 | |
Carsten Haitzler | cae78cbb16 | |
Carsten Haitzler | 99e79be062 | |
Carsten Haitzler | e87530514e | |
Carsten Haitzler | 576d29a809 | |
Carsten Haitzler | 0aeeefb405 | |
Carsten Haitzler | 374ed74049 | |
Carsten Haitzler | 671789b5a8 | |
Carsten Haitzler | 8af3b69050 | |
Carsten Haitzler | d307aeb110 | |
Carsten Haitzler | 6cc05c5f3e | |
Carsten Haitzler | 1c0e17dba3 | |
Carsten Haitzler | 1d5c87845f | |
Carsten Haitzler | 08b567f5ce | |
Carsten Haitzler | 68417de8ae | |
Carsten Haitzler | 2590043d15 | |
Alastair Poole | c22f2faecf | |
Carsten Haitzler | 77ae5de41a | |
Carsten Haitzler | b7d052704c | |
Carsten Haitzler | 7e896c71d7 | |
Carsten Haitzler | df896fc6b2 | |
Carsten Haitzler | ddc8b481e4 | |
Carsten Haitzler | d2e8f98a19 | |
Carsten Haitzler | 32ac825851 | |
Carsten Haitzler | bc2470cbd8 | |
Carsten Haitzler | 34c8ce2fa1 | |
Carsten Haitzler | e8e01ac168 | |
Alastair Poole | fdb2ca44c3 | |
Carsten Haitzler | f4c58caf30 | |
Carsten Haitzler | 4c2633ae17 | |
Carsten Haitzler | 8c0698c3dd | |
Carsten Haitzler | f4a1dac61b | |
Carsten Haitzler | 49c95a3567 | |
Carsten Haitzler | 3fc4a1c1c0 | |
Carsten Haitzler | 5c7bd88632 | |
Carsten Haitzler | 6d3a24be36 | |
Carsten Haitzler | 0269ee1d95 | |
Carsten Haitzler | 7355d8d2a9 | |
Carsten Haitzler | 6aff4fc3aa | |
Carsten Haitzler | 18b1b27820 | |
Carsten Haitzler | dd94b435a3 | |
Carsten Haitzler | d593cf51ff | |
Carsten Haitzler | 66b6d770d8 | |
Carsten Haitzler | e571381227 | |
Carsten Haitzler | 9477828550 | |
Carsten Haitzler | 6a72eb3cee | |
Marcel Hollerbach | 4814a63d4c | |
Carsten Haitzler | 9dd6a7778c | |
Carsten Haitzler | 5a81d09519 | |
maxerba | e38658b8e9 | |
Carsten Haitzler | 61b73a4ed6 | |
Carsten Haitzler | 200fea6e38 | |
Carsten Haitzler | 7c0d3f2e2f | |
Christopher Michael | fdd31a87ee | |
Carsten Haitzler | 48a8a757e5 | |
Carsten Haitzler | bbbf550df3 | |
Carsten Haitzler | 0fa389fc52 | |
Marcel Hollerbach | 0e64bbfc56 | |
Carsten Haitzler | 75cf099ee5 | |
Marcel Hollerbach | 35b8f86906 | |
maxerba | 9881953815 | |
Carsten Haitzler | a034e94882 | |
Marcel Hollerbach | cabb9aff01 | |
Marcel Hollerbach | 2e99d11a1b | |
Carsten Haitzler | 91877ed2d3 | |
Carsten Haitzler | 0842e8d33a | |
Carsten Haitzler | b54511ca77 | |
Carsten Haitzler | 2ee244376e | |
Carsten Haitzler | 1077b09bb7 | |
Carsten Haitzler | 7bd186b84b | |
Carsten Haitzler | 6364cd3b59 |
|
@ -1,5 +1,5 @@
|
|||
group "E_Config" struct {
|
||||
value "config_version" int: 1000033;
|
||||
value "config_version" int: 1000035;
|
||||
value "config_type" uint: 0; // this profile seems to just be super minimalist
|
||||
value "desktop_default_name" string: "%i-%i";
|
||||
value "desktop_default_window_profile" string: "";
|
||||
|
@ -164,6 +164,7 @@ group "E_Config" struct {
|
|||
value "theme_default_border_style" string: "default";
|
||||
value "desk_auto_switch" int: 0;
|
||||
value "thumb_nice" int: 0;
|
||||
value "gesture_open_input_devices" int: 0;
|
||||
value "screen_limits" int: 0;
|
||||
value "menu_favorites_show" int: 1;
|
||||
value "menu_apps_show" int: 1;
|
||||
|
@ -207,6 +208,7 @@ group "E_Config" struct {
|
|||
value "backlight.timer" double: 30.0;
|
||||
value "backlight.battery_timer" double: 20.0;
|
||||
value "backlight.idle_dim" uchar: 1;
|
||||
value "backlight.ddc" uchar: 0;
|
||||
value "device_desktop" int: 0;
|
||||
value "device_auto_mount" int: 0;
|
||||
value "device_auto_open" int: 0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
group "E_Config" struct {
|
||||
value "config_version" int: 1000033;
|
||||
value "config_version" int: 1000035;
|
||||
value "config_type" uint: 3;
|
||||
value "desktop_default_name" string: "%i-%i";
|
||||
value "desktop_default_window_profile" string: "standard";
|
||||
|
@ -164,6 +164,7 @@ group "E_Config" struct {
|
|||
value "theme_default_border_style" string: "default";
|
||||
value "desk_auto_switch" int: 0;
|
||||
value "thumb_nice" int: 0;
|
||||
value "gesture_open_input_devices" int: 0;
|
||||
value "screen_limits" int: 0;
|
||||
value "menu_favorites_show" int: 1;
|
||||
value "menu_apps_show" int: 1;
|
||||
|
@ -200,6 +201,7 @@ group "E_Config" struct {
|
|||
value "backlight.timer" double: 30.0;
|
||||
value "backlight.battery_timer" double: 20.0;
|
||||
value "backlight.idle_dim" uchar: 1;
|
||||
value "backlight.ddc" uchar: 1;
|
||||
value "deskenv.load_xrdb" uchar: 1;
|
||||
value "deskenv.load_xmodmap" uchar: 1;
|
||||
value "deskenv.load_gnome" uchar: 0;
|
||||
|
|
|
@ -15,18 +15,6 @@ group "E_Config_Bindings" struct {
|
|||
value "action" string: "backlight_adjust";
|
||||
value "params" string: "10";
|
||||
}
|
||||
group "E_Config_Binding_Acpi" struct {
|
||||
value "context" int: 0;
|
||||
value "type" int: 22;
|
||||
value "status" int: 0;
|
||||
value "action" string: "dim_screen";
|
||||
}
|
||||
group "E_Config_Binding_Acpi" struct {
|
||||
value "context" int: 0;
|
||||
value "type" int: 22;
|
||||
value "status" int: 1;
|
||||
value "action" string: "undim_screen";
|
||||
}
|
||||
group "E_Config_Binding_Acpi" struct {
|
||||
value "context" int: 0;
|
||||
value "type" int: 3;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
group "E_Config" struct {
|
||||
value "config_version" int: 1000033;
|
||||
value "config_version" int: 1000035;
|
||||
value "config_type" uint: 3;
|
||||
value "desktop_default_name" string: "%i-%i";
|
||||
value "desktop_default_window_profile" string: "standard";
|
||||
|
@ -164,6 +164,7 @@ group "E_Config" struct {
|
|||
value "theme_default_border_style" string: "default";
|
||||
value "desk_auto_switch" int: 0;
|
||||
value "thumb_nice" int: 0;
|
||||
value "gesture_open_input_devices" int: 0;
|
||||
value "screen_limits" int: 0;
|
||||
value "menu_favorites_show" int: 1;
|
||||
value "menu_apps_show" int: 1;
|
||||
|
@ -200,6 +201,7 @@ group "E_Config" struct {
|
|||
value "backlight.timer" double: 30.0;
|
||||
value "backlight.battery_timer" double: 20.0;
|
||||
value "backlight.idle_dim" uchar: 1;
|
||||
value "backlight.ddc" uchar: 1;
|
||||
value "deskenv.load_xrdb" uchar: 1;
|
||||
value "deskenv.load_xmodmap" uchar: 1;
|
||||
value "deskenv.load_gnome" uchar: 0;
|
||||
|
|
|
@ -15,18 +15,6 @@ group "E_Config_Bindings" struct {
|
|||
value "action" string: "backlight_adjust";
|
||||
value "params" string: "10";
|
||||
}
|
||||
group "E_Config_Binding_Acpi" struct {
|
||||
value "context" int: 0;
|
||||
value "type" int: 22;
|
||||
value "status" int: 0;
|
||||
value "action" string: "dim_screen";
|
||||
}
|
||||
group "E_Config_Binding_Acpi" struct {
|
||||
value "context" int: 0;
|
||||
value "type" int: 22;
|
||||
value "status" int: 1;
|
||||
value "action" string: "undim_screen";
|
||||
}
|
||||
group "E_Config_Binding_Acpi" struct {
|
||||
value "context" int: 0;
|
||||
value "type" int: 3;
|
||||
|
|
|
@ -5,14 +5,16 @@ Name[ca]=Mosaic (Standard Enlightenment)
|
|||
Name[de]=Kacheln (Vorgabe Enlightenment)
|
||||
Name[fi]=Limittävä (Tavallinen Enlightenment)
|
||||
Name[fr]=Pavage (Enlightenment standard)
|
||||
Name[it]=Tiling (a piastrelle)
|
||||
Name[it]=Griglia (Enlightenment standard)
|
||||
Name[ms]=Penjubinan (Enlightenment Piawai)
|
||||
Name[pt]=Mosaico (Enlightenment padrão)
|
||||
Name[ru]=Мозаичный режим (Стандартный Enlightenment)
|
||||
Name[tr]=Döşeme (Standard Enlightenment)
|
||||
Comment=Tiling window management configuration for devices with keyboards and mice<br>like your average PC Desktop, Laptop or Netbook<br>with Enlightenment's traditional keyboard bindings<br>and mouse controls.<br>Default tiling bindings are: Win-key + Space, arrows, and left mouse button.<br>See the module settings for more information.
|
||||
Comment[ca]=Mosaic per la configuració de la gestió de finestres per dispositius amb teclats i ratolins <br>com ara PC d'escriptori, portàtil o netbook<br>amb associacions de tecles típiques d'Enlightenment<br>Tecles d'accés ràpid per defecte són: Tecla Win + Espai, fletxes i botó esquerre del ratolí <br>Veure la configuració del mòdul per obtenir més informació.
|
||||
Comment[fr]=Gestion de la juxtaposition des fenêtres pour les machines avec clavier<br>et souris comme les PC de bureau et les portables,<br>offrant raccourcis et contrôles traditionnels.<br>Les raccourcis de pavage par défaut sont :<br>Win+Barre d'espace ou flèches, et bouton gauche de la souris.<br>Voir la configuration du module pour plus d'informations.
|
||||
Comment[it]=Configurazione con finestre in griglia per dispositivi con tastiere e mouse<br>come i normali PC Desktop, Laptop o Netbook<br>con le tradizionali scorciatoie di tastiera e controlli<br>del mouse di Enlightenment.<br>Le associazioni di tasti predefinite proprie di questa modalità sono:<br>Tasto-windows + spazio, frecce, e tasto sinistro del mouse.<br>Vedere le impostazioni del modulo Tiling per maggiori informazioni.
|
||||
Comment[pt]=Configuração de gestão de janelas em mosaico para dispositivos com teclados e ratos<br>como os computadores de secretária ou portáteis com as tradicionais<br>combinações de teclas e controlos de rato do Enlightenment.<br>As combinações padrão em mosaico são:<br>Tecla Win-key + Espaço, setas, e botão esquerdo do rato.<br>Veja as definições do módulo para mais informações.
|
||||
Comment[ms]=Konfigurasi pengurusan tetingkap berjubin untuk peranti dengan papan kekunci dan tetikus<br>seperti Komputer Desktop, Komputer Riba atau Netbook anda<br>dengan pengikatan papan kekunci tradisional Enlightenment<br>dan kawalan tetikus.<br>Pengikatan penjubinan lalai adalah: Win-key + Space, anak panah, dan butang tetikus kiri.<br>Sila rujuk tetapan modul untuk maklumat lanjut.
|
||||
Comment[ru]=Конфигурация с мозаичным режимом управления окнами<br>пригодная для устройств с клавиатурой и мышью,<br>таких как обычный компьютер или ноутбук,<br>с традиционными для Enlightenment'а сочетаниями<br>клавиш и управлением мышью.<br>Комбинации клавиш для мозаичного режима по умолчанию:<br>Кнопка Win + пробел, стрелки и левая кнопка мыши.
|
||||
Comment[tr]=Enlightenment'in klavye ve fare kontrol bağlayıcıları ile kullanılan, ortalama <br>PC masaüstü, dizüstü ve netbook gibi klavye ve fare aygıtları bulunan cihazlar <br>için pencere döşeme yönetimi yapılandırması. Öntanımlı döşeme bağlayıcıları:<br>Win Tuşu + Boşluk, ok tuşları ve sol fare tuşu.<br>Daha fazla bilgi için modül ayarlarına bakınız.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
##### project
|
||||
project('enlightenment', 'c',
|
||||
version : '0.24.99',
|
||||
version : '0.25.4',
|
||||
license : 'BSD 2 clause',
|
||||
default_options: [ 'buildtype=release', 'c_std=gnu99', 'warning_level=2' ],
|
||||
meson_version : '>= 0.47.0')
|
||||
|
@ -30,7 +30,7 @@ else
|
|||
config_h.set('E_RELEASE_BUILD' , '1')
|
||||
endif
|
||||
|
||||
efl_version = '>= 1.25.99'
|
||||
efl_version = '>= 1.26.0'
|
||||
|
||||
add_global_arguments('-DHAVE_CONFIG_H=1', language: 'c')
|
||||
dir_prefix = get_option('prefix')
|
||||
|
@ -105,7 +105,7 @@ suid_ldflags = []
|
|||
dep_crypt = []
|
||||
if freebsd == true or host_machine.system().startswith('pcbsd')
|
||||
dep_crypt = cc.find_library('crypt', required: true)
|
||||
if cc.links('', args: '-fPIE', link_args: '-pie') == true
|
||||
if cc.links('', args: ['-fPIE', '-pie']) == true
|
||||
suid_cflags = '-fPIE'
|
||||
suid_ldflags = '-pie'
|
||||
endif
|
||||
|
|
288
po/fr.po
288
po/fr.po
|
@ -12,14 +12,14 @@
|
|||
# rustyBSD <rustyBSD@gmx.fr>, 2012.
|
||||
# Raoul Hecky <raoul.hecky@gmail.com>, 2012.
|
||||
# Eliovir <eliovir@gmail.com>, 2013.
|
||||
# similar <similar@orange.fr>, 2019, 2020, 2021.
|
||||
# similar <similar@orange.fr>, 2019, 2020, 2021, 2022.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: enlightenment\n"
|
||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||
"POT-Creation-Date: 2021-11-26 14:22+0100\n"
|
||||
"PO-Revision-Date: 2021-12-08 11:51+0100\n"
|
||||
"POT-Creation-Date: 2022-01-20 19:40+0100\n"
|
||||
"PO-Revision-Date: 2022-01-20 19:56+0100\n"
|
||||
"Last-Translator: Philippe Jean Guillaumie <similar@orange.fr>\n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr\n"
|
||||
|
@ -39,7 +39,7 @@ msgstr "À propos d’Enlightenment"
|
|||
#: src/bin/e_int_client_menu.c:244 src/bin/e_int_client_prop.c:81
|
||||
#: src/bin/e_startup.c:110 src/bin/e_theme_about.c:22
|
||||
#: src/modules/conf_bindings/e_int_config_edgebindings.c:872
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:908
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:919
|
||||
#: src/modules/conf/e_conf.c:159 src/modules/everything/evry_plug_windows.c:370
|
||||
#: src/modules/fileman/e_fwin.c:2657 src/modules/vkbd/e_kbd_cfg.c:188
|
||||
msgid "Close"
|
||||
|
@ -55,12 +55,12 @@ msgstr "Enlightenment"
|
|||
|
||||
#: src/bin/e_about.c:26
|
||||
msgid ""
|
||||
"<title>Copyright © 2000-2021, by the Enlightenment Development Team</"
|
||||
"<title>Copyright © 2000-2022, by the Enlightenment Development Team</"
|
||||
"><ps/><ps/>We hope you enjoy using this software as much as we enjoyed "
|
||||
"writing it.<ps/><ps/>To contact us please visit:<ps/><hilight>http://www."
|
||||
"enlightenment.org</><ps/><ps/>"
|
||||
msgstr ""
|
||||
"<title>Copyright © 2000-2021, par l'équipe de développement "
|
||||
"<title>Copyright © 2000-2022, par l'équipe de développement "
|
||||
"d'Enlightenment</><ps/><ps/>Nous espérons que vous aurez autant de plaisir à "
|
||||
"utiliser ce logiciel que nous en avons eu à l'écrire.<ps/><ps/>Pour nous "
|
||||
"contacter, visitez :<ps/><hilight>http://www.enlightenment.org</><ps/><ps/>"
|
||||
|
@ -107,8 +107,8 @@ msgstr "Tuer"
|
|||
#: src/bin/e_actions.c:369 src/bin/e_actions.c:2272 src/bin/e_actions.c:2347
|
||||
#: src/bin/e_actions.c:2407 src/bin/e_actions.c:2464 src/bin/e_actions.c:2526
|
||||
#: src/bin/e_actions.c:2628 src/bin/e_confirm_dialog.c:53 src/bin/e_fm.c:10706
|
||||
#: src/bin/e_fm.c:11059 src/modules/bluez5/e_mod_popup.c:548
|
||||
#: src/modules/bluez5/e_mod_popup.c:549
|
||||
#: src/bin/e_fm.c:11059 src/modules/bluez5/e_mod_popup.c:521
|
||||
#: src/modules/bluez5/e_mod_popup.c:522
|
||||
#: src/modules/quickaccess/e_mod_quickaccess.c:1308
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
@ -128,7 +128,7 @@ msgstr "Voulez-vous vraiment quitter Enlightenment ?"
|
|||
#: src/bin/e_actions.c:2270 src/bin/e_actions.c:2345 src/bin/e_actions.c:2405
|
||||
#: src/bin/e_actions.c:2462 src/bin/e_actions.c:2524 src/bin/e_actions.c:2626
|
||||
#: src/bin/e_confirm_dialog.c:52 src/bin/e_fm.c:10709
|
||||
#: src/modules/bluez5/e_mod_popup.c:548 src/modules/bluez5/e_mod_popup.c:549
|
||||
#: src/modules/bluez5/e_mod_popup.c:521 src/modules/bluez5/e_mod_popup.c:522
|
||||
#: src/modules/quickaccess/e_mod_quickaccess.c:1308
|
||||
msgid "Yes"
|
||||
msgstr "Oui"
|
||||
|
@ -910,11 +910,11 @@ msgstr "Agencement de clavier précédent"
|
|||
msgid "Set As Background"
|
||||
msgstr "Utiliser comme fond d'écran"
|
||||
|
||||
#: src/bin/e_client.c:4915
|
||||
#: src/bin/e_client.c:4923
|
||||
msgid "Client Error!"
|
||||
msgstr "Erreur du client !"
|
||||
|
||||
#: src/bin/e_client.c:4915
|
||||
#: src/bin/e_client.c:4923
|
||||
msgid "Something has attempted to set a border when it shouldn't! Report this!"
|
||||
msgstr ""
|
||||
"La tentative de définir une bordure est non conforme. Signalez ce bogue !"
|
||||
|
@ -935,9 +935,9 @@ msgstr "Choisir"
|
|||
#: src/bin/e_desktop_editor.c:973 src/bin/e_entry_dialog.c:128
|
||||
#: src/bin/e_fm.c:10213 src/bin/e_fm_prop.c:770
|
||||
#: src/bin/e_import_config_dialog.c:361 src/bin/e_import_dialog.c:197
|
||||
#: src/modules/bluez5/e_mod_popup.c:660
|
||||
#: src/modules/bluez5/e_mod_popup.c:616
|
||||
#: src/modules/conf_bindings/e_int_config_signalbindings.c:624
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:667
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:678
|
||||
#: src/modules/conf_intl/e_int_config_imc_import.c:123
|
||||
#: src/modules/conf_theme/e_int_config_theme_import.c:122
|
||||
#: src/modules/connman/agent.c:254
|
||||
|
@ -971,7 +971,7 @@ msgstr "Définir l'opacité de la fenêtre actuelle"
|
|||
msgid "Toggle focused client's redirect state"
|
||||
msgstr "(Dés)Activer l'état de redirection du client focalisé"
|
||||
|
||||
#: src/bin/e_comp.c:1416 src/modules/bluez5/e_mod_popup.c:486
|
||||
#: src/bin/e_comp.c:1416 src/modules/bluez5/e_mod_popup.c:459
|
||||
msgid "Visible"
|
||||
msgstr "Visible"
|
||||
|
||||
|
@ -1022,11 +1022,11 @@ msgstr ""
|
|||
"OpenGL 2.0 (ou OpenGL ES 2.0)<ps/>pour tirer profit de la composition avec "
|
||||
"OpenGL."
|
||||
|
||||
#: src/bin/e_comp_x.c:5854
|
||||
#: src/bin/e_comp_x.c:5855
|
||||
msgid "Lock Failed"
|
||||
msgstr "Échec du verrouillage"
|
||||
|
||||
#: src/bin/e_comp_x.c:5855
|
||||
#: src/bin/e_comp_x.c:5856
|
||||
msgid ""
|
||||
"Locking the desktop failed because some application<ps/>has grabbed either "
|
||||
"the keyboard or the mouse or both<ps/>and their grab is unable to be broken."
|
||||
|
@ -1035,12 +1035,12 @@ msgstr ""
|
|||
"soit le clavier ou la souris, soit les deux,<ps/>et cette réservation n'a pu "
|
||||
"être annulée."
|
||||
|
||||
#: src/bin/e_comp_x.c:5873
|
||||
#: src/bin/e_comp_x.c:5874
|
||||
msgid "Another compositor is already running on your display server."
|
||||
msgstr ""
|
||||
"Un autre compositeur est déjà fonctionnel sur votre serveur d'affichage."
|
||||
|
||||
#: src/bin/e_comp_x.c:5898
|
||||
#: src/bin/e_comp_x.c:5899
|
||||
msgid ""
|
||||
"Your display server does not support the compositor overlay window.\n"
|
||||
"This is needed for Enlightenment to function."
|
||||
|
@ -1048,12 +1048,12 @@ msgstr ""
|
|||
"Votre serveur d'affichage ne sait pas gérer le Composite Overlay Window.\n"
|
||||
"Cette fonction est essentielle au bon fonctionnement de E."
|
||||
|
||||
#: src/bin/e_comp_x.c:6032
|
||||
#: src/bin/e_comp_x.c:6033
|
||||
#, c-format
|
||||
msgid "Enlightenment cannot initialize X Connection...\n"
|
||||
msgstr "Enlightenment ne parvient pas à initialiser une connexion à X...\n"
|
||||
|
||||
#: src/bin/e_comp_x.c:6047
|
||||
#: src/bin/e_comp_x.c:6048
|
||||
msgid ""
|
||||
"Your display server does not support XComposite, or Ecore-X was built "
|
||||
"without XComposite support. Note that for composite support you will also "
|
||||
|
@ -1063,7 +1063,7 @@ msgstr ""
|
|||
"sans le support de XComposite. Notez que vous avez également besoin de "
|
||||
"XRender et XFixes dans X11 et Ecore pour la prise en charge du composite."
|
||||
|
||||
#: src/bin/e_comp_x.c:6056
|
||||
#: src/bin/e_comp_x.c:6057
|
||||
msgid ""
|
||||
"Your display server does not support XDamage or Ecore was built without "
|
||||
"XDamage support."
|
||||
|
@ -1071,7 +1071,7 @@ msgstr ""
|
|||
"Votre serveur d'affichage ne supporte pas XDamage ou Ecore est compilé sans "
|
||||
"le support de XDamage."
|
||||
|
||||
#: src/bin/e_comp_x.c:6162
|
||||
#: src/bin/e_comp_x.c:6163
|
||||
msgid "Enlightenment cannot initialize the XSettings system.\n"
|
||||
msgstr "Enlightenment ne parvient pas à initialiser le système XSettings.\n"
|
||||
|
||||
|
@ -1098,7 +1098,7 @@ msgstr ""
|
|||
#: src/bin/e_module.c:480 src/bin/e_module.c:707 src/bin/e_sys.c:982
|
||||
#: src/bin/e_update.c:70 src/bin/e_utils.c:401
|
||||
#: src/modules/conf_bindings/e_int_config_signalbindings.c:623
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:666
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:677
|
||||
#: src/modules/conf_intl/e_int_config_imc_import.c:119
|
||||
#: src/modules/conf_theme/e_int_config_theme_import.c:118
|
||||
#: src/modules/cpufreq/e_mod_main.c:551 src/modules/cpufreq/e_mod_main.c:619
|
||||
|
@ -1192,7 +1192,7 @@ msgstr "Échec du déchiffrement."
|
|||
msgid "The error is unknown to Enlightenment."
|
||||
msgstr "Enlightenment ne reconnaît pas cette erreur."
|
||||
|
||||
#: src/bin/e_config.c:1247
|
||||
#: src/bin/e_config.c:1250
|
||||
msgid ""
|
||||
"Settings data needed upgrading. Your old settings have<ps/>been wiped and a "
|
||||
"new set of defaults initialized. This<ps/>will happen regularly during "
|
||||
|
@ -1210,7 +1210,7 @@ msgstr ""
|
|||
"configuration ne fournit pas.<ps/>Vous pouvez maintenant tout reconfigurer "
|
||||
"selon votre goût.<ps/>Désolé pour la gêne occasionnée.<ps/>"
|
||||
|
||||
#: src/bin/e_config.c:1264
|
||||
#: src/bin/e_config.c:1267
|
||||
msgid ""
|
||||
"Your settings are NEWER than Enlightenment. This is very<ps/>strange. This "
|
||||
"should not happen unless you downgraded<ps/>Enlightenment or copied the "
|
||||
|
@ -1226,7 +1226,7 @@ msgstr ""
|
|||
"de<ps/>votre configuration ont été restaurées.<ps/>Désolé pour le "
|
||||
"désagrément.<ps/>"
|
||||
|
||||
#: src/bin/e_config.c:1380
|
||||
#: src/bin/e_config.c:1383
|
||||
msgid ""
|
||||
"Your bindings settings version does not match the current settings version."
|
||||
"<ps/>As a result, all bindings have been reloaded from defaults.<ps/>Sorry "
|
||||
|
@ -1236,7 +1236,7 @@ msgstr ""
|
|||
"attendue.<ps/>En conséquence, tous vos paramètres de raccourcis ont été "
|
||||
"ramenés aux valeurs par défaut.<ps/>Désolé pour le désagrément.<ps/>"
|
||||
|
||||
#: src/bin/e_config.c:2706
|
||||
#: src/bin/e_config.c:2718
|
||||
msgid "Settings Upgraded"
|
||||
msgstr "Configuration mise à niveau"
|
||||
|
||||
|
@ -1684,7 +1684,7 @@ msgstr "Copier"
|
|||
#: src/modules/conf_bindings/e_int_config_keybindings.c:240
|
||||
#: src/modules/conf_bindings/e_int_config_mousebindings.c:290
|
||||
#: src/modules/conf_bindings/e_int_config_signalbindings.c:789
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:934
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:945
|
||||
#: src/modules/conf_dialogs/e_int_config_profiles.c:136
|
||||
#: src/modules/conf_dialogs/e_int_config_profiles.c:341
|
||||
#: src/modules/conf_paths/e_int_config_env.c:343
|
||||
|
@ -3183,7 +3183,7 @@ msgstr "Utilitaire"
|
|||
#: src/bin/e_widget_filepreview.c:696 src/bin/e_widget_filepreview.c:697
|
||||
#: src/bin/e_widget_filepreview.c:698 src/bin/e_widget_filepreview.c:728
|
||||
#: src/bin/e_widget_filepreview.c:739 src/modules/battery/e_mod_main.c:265
|
||||
#: src/modules/bluez5/e_mod_popup.c:537 src/modules/bluez5/e_mod_popup.c:538
|
||||
#: src/modules/bluez5/e_mod_popup.c:510 src/modules/bluez5/e_mod_popup.c:511
|
||||
#: src/modules/bluez5/e_mod_util.c:261
|
||||
#: src/modules/conf_bindings/e_int_config_acpibindings.c:429
|
||||
#: src/modules/conf_bindings/e_int_config_edgebindings.c:1235
|
||||
|
@ -3289,7 +3289,7 @@ msgstr "Descendre"
|
|||
#: src/modules/conf_bindings/e_int_config_keybindings.c:237
|
||||
#: src/modules/conf_bindings/e_int_config_mousebindings.c:288
|
||||
#: src/modules/conf_bindings/e_int_config_signalbindings.c:786
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:927
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:938
|
||||
#: src/modules/conf_dialogs/e_int_config_profiles.c:134
|
||||
#: src/modules/conf_paths/e_int_config_env.c:337
|
||||
#: src/modules/conf_shelves/e_int_config_shelf.c:137
|
||||
|
@ -3853,7 +3853,7 @@ msgstr ""
|
|||
"Enlightenment ne parvient pas à initialiser son système de périphériques "
|
||||
"d'entrée.\n"
|
||||
|
||||
#: src/bin/e_main.c:954 src/bin/e_main.c:1093
|
||||
#: src/bin/e_main.c:954 src/bin/e_main.c:1096
|
||||
msgid "Enlightenment cannot set up its module system.\n"
|
||||
msgstr "Enlightenment ne parvient pas à initialiser son système de modules.\n"
|
||||
|
||||
|
@ -3912,16 +3912,16 @@ msgstr ""
|
|||
"Enlightenment ne parvient pas à initialiser son système de classement de "
|
||||
"fichiers.\n"
|
||||
|
||||
#: src/bin/e_main.c:1101 src/modules/wizard/e_wizard.c:262
|
||||
#: src/bin/e_main.c:1104 src/modules/wizard/e_wizard.c:262
|
||||
msgid "Welcome to Enlightenment"
|
||||
msgstr "Bienvenue dans Enlightenment"
|
||||
|
||||
#: src/bin/e_main.c:1249
|
||||
#: src/bin/e_main.c:1252
|
||||
#, c-format
|
||||
msgid "Version: %s\n"
|
||||
msgstr "Version : %s\n"
|
||||
|
||||
#: src/bin/e_main.c:1258
|
||||
#: src/bin/e_main.c:1261
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Options:\n"
|
||||
|
@ -3976,7 +3976,7 @@ msgstr ""
|
|||
"pour vous)<ps/>\n"
|
||||
"-version<ps/>\n"
|
||||
|
||||
#: src/bin/e_main.c:1312
|
||||
#: src/bin/e_main.c:1315
|
||||
msgid ""
|
||||
"You are executing enlightenment directly. This is\n"
|
||||
"bad. Please do not execute the \"enlightenment\"\n"
|
||||
|
@ -3992,16 +3992,16 @@ msgstr ""
|
|||
"des chemins, et de la gestion de tout autre service\n"
|
||||
"nécessaire avant le lancement d'Enlightenment.\n"
|
||||
|
||||
#: src/bin/e_main.c:1575
|
||||
#: src/bin/e_main.c:1578
|
||||
msgid "Enlightenment cannot create a compositor.\n"
|
||||
msgstr "Enlightenment est incapable de créer un compositeur.\n"
|
||||
|
||||
#: src/bin/e_main.c:1588
|
||||
#: src/bin/e_main.c:1591
|
||||
msgid "Enlightenment cannot set up its dnd system.\n"
|
||||
msgstr ""
|
||||
"Enlightenment ne parvient pas à initialiser son système de glisser-déposer.\n"
|
||||
|
||||
#: src/bin/e_main.c:1749
|
||||
#: src/bin/e_main.c:1752
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Enlightenment crashed early on start and has<ps/>been restarted. There was "
|
||||
|
@ -4012,11 +4012,11 @@ msgstr ""
|
|||
"module %s qui est à l'origine de<ps/>l'erreur a été désactivé. Il ne sera "
|
||||
"pas rechargé."
|
||||
|
||||
#: src/bin/e_main.c:1754 src/bin/e_main.c:1770
|
||||
#: src/bin/e_main.c:1757 src/bin/e_main.c:1773
|
||||
msgid "Enlightenment crashed early on start and has been restarted"
|
||||
msgstr "Enlightenment a planté en phase d'initialisation et a été relancé"
|
||||
|
||||
#: src/bin/e_main.c:1755
|
||||
#: src/bin/e_main.c:1758
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Enlightenment crashed early on start and has been restarted.<ps/>There was "
|
||||
|
@ -4027,7 +4027,7 @@ msgstr ""
|
|||
"module nommé %s est à l'origine de l'erreur.<ps/><ps/> Ce module a été "
|
||||
"désactivé et ne sera pas rechargé."
|
||||
|
||||
#: src/bin/e_main.c:1763
|
||||
#: src/bin/e_main.c:1766
|
||||
msgid ""
|
||||
"Enlightenment crashed early on start and has<ps/>been restarted. All modules "
|
||||
"have been disabled<ps/>and will not be loaded to help remove any problem<ps/"
|
||||
|
@ -4040,7 +4040,7 @@ msgstr ""
|
|||
"dialogue de configuration des modules vous permettra<ps/>de recharger vos "
|
||||
"modules.\n"
|
||||
|
||||
#: src/bin/e_main.c:1771
|
||||
#: src/bin/e_main.c:1774
|
||||
msgid ""
|
||||
"Enlightenment crashed early on start and has been restarted.<ps/>All modules "
|
||||
"have been disabled and will not be loaded to help<ps/>remove any problem "
|
||||
|
@ -4741,7 +4741,7 @@ msgid "%3.1f%%"
|
|||
msgstr "%3.1f%%"
|
||||
|
||||
#: src/bin/e_widget_filepreview.c:413
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:695
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:706
|
||||
msgid "Length:"
|
||||
msgstr "Taille :"
|
||||
|
||||
|
@ -5032,48 +5032,48 @@ msgstr ""
|
|||
"rfkill pour le déblocage.<br>Vérifiez les utilisateurs et groupes pour ce "
|
||||
"fichier."
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:421
|
||||
#: src/modules/bluez5/e_mod_popup.c:394
|
||||
msgid "Adapters"
|
||||
msgstr "Adaptateurs"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:422
|
||||
#: src/modules/bluez5/e_mod_popup.c:395
|
||||
msgid "Devices"
|
||||
msgstr "Périphériques"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:457
|
||||
#: src/modules/bluez5/e_mod_popup.c:430
|
||||
msgid "Unknown Address"
|
||||
msgstr "Adresse inconnue"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:480
|
||||
#: src/modules/bluez5/e_mod_popup.c:453
|
||||
msgid "Power"
|
||||
msgstr "Alimentation"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:480
|
||||
#: src/modules/bluez5/e_mod_popup.c:453
|
||||
msgid "Enable power for this adapter"
|
||||
msgstr "Activer l'alimentation pour cet adaptateur"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:486
|
||||
#: src/modules/bluez5/e_mod_popup.c:459
|
||||
msgid "Make this adapter visible to other devices"
|
||||
msgstr "Rendre cet adaptateur visible aux autres appareils"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:492
|
||||
#: src/modules/bluez5/e_mod_popup.c:465
|
||||
msgid "Scan"
|
||||
msgstr "Recherche"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:492
|
||||
#: src/modules/bluez5/e_mod_popup.c:465
|
||||
msgid "Scan for other devices"
|
||||
msgstr "Rechercher d'autres appareils"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:498
|
||||
#: src/modules/bluez5/e_mod_popup.c:471
|
||||
msgid "Pairable"
|
||||
msgstr "Appairable"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:498
|
||||
#: src/modules/bluez5/e_mod_popup.c:471
|
||||
msgid "Allow this adapter to have other devices request to pair with it"
|
||||
msgstr ""
|
||||
"Accepter les requêtes d'appairage d'autres appareils pour cet adaptateur"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:531
|
||||
#: src/modules/bluez5/e_mod_popup.c:504
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Address: %s (%s)<br>Services: %s%s%s%s%s%s%s%s%s<br>Trusted: %s<br>Blocked: "
|
||||
|
@ -5082,88 +5082,80 @@ msgstr ""
|
|||
"Adresse : %s (%s)<br>Services : %s%s%s%s%s%s%s%s%s<br>De confiance : "
|
||||
"%s<br>Bloqué : %s<br>"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:539
|
||||
#: src/modules/bluez5/e_mod_popup.c:512
|
||||
msgid "Limited-Discoverable "
|
||||
msgstr "Découverte limitée "
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:540
|
||||
#: src/modules/bluez5/e_mod_popup.c:513
|
||||
msgid "Positioning "
|
||||
msgstr "Localisation "
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:541
|
||||
#: src/modules/bluez5/e_mod_popup.c:514
|
||||
msgid "Networking "
|
||||
msgstr "Réseau "
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:542
|
||||
#: src/modules/bluez5/e_mod_popup.c:515
|
||||
msgid "Rendering "
|
||||
msgstr "Rendu "
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:543
|
||||
#: src/modules/bluez5/e_mod_popup.c:516
|
||||
msgid "Capture "
|
||||
msgstr "Capture "
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:544
|
||||
#: src/modules/bluez5/e_mod_popup.c:517
|
||||
msgid "OBEX "
|
||||
msgstr "OBEX "
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:545
|
||||
#: src/modules/bluez5/e_mod_popup.c:518
|
||||
msgid "Audio "
|
||||
msgstr "Audio "
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:546
|
||||
#: src/modules/bluez5/e_mod_popup.c:519
|
||||
msgid "Telephony "
|
||||
msgstr "Téléphonie "
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:547
|
||||
#: src/modules/bluez5/e_mod_popup.c:520
|
||||
msgid "Information "
|
||||
msgstr "Information "
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:572
|
||||
#: src/modules/bluez5/e_mod_popup.c:545
|
||||
msgid "Stop this from being an unlock device"
|
||||
msgstr "Oublier le déverrouillage du périphérique"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:579
|
||||
#: src/modules/bluez5/e_mod_popup.c:552
|
||||
msgid "Make this auto unlock when detected (and lock when not)"
|
||||
msgstr "Déverrouillage auto. à la détection (sinon verrouillage)"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:589
|
||||
msgid "Stop this device from being forcefully connected"
|
||||
msgstr "Oublier la connexion forcée du périphérique"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:596
|
||||
msgid "Force this device to be connected when detected"
|
||||
msgstr "Forcer la connexion du périphérique à la détection"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:606
|
||||
#: src/modules/bluez5/e_mod_popup.c:562
|
||||
msgid "Disconnect this device"
|
||||
msgstr "Déconnecter cet appareil"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:613
|
||||
#: src/modules/bluez5/e_mod_popup.c:569
|
||||
msgid "Connect this device"
|
||||
msgstr "Connecter cet appareil"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:623
|
||||
#: src/modules/bluez5/e_mod_popup.c:579
|
||||
msgid "Disrust this device"
|
||||
msgstr "Ne pas faire confiance à cet appareil"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:630
|
||||
#: src/modules/bluez5/e_mod_popup.c:586
|
||||
msgid "Trust this device"
|
||||
msgstr "Faire confiance à cet appareil"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:642 src/modules/bluez5/e_mod_popup.c:703
|
||||
#: src/modules/bluez5/e_mod_popup.c:725
|
||||
#: src/modules/bluez5/e_mod_popup.c:598 src/modules/bluez5/e_mod_popup.c:659
|
||||
#: src/modules/bluez5/e_mod_popup.c:681
|
||||
msgid "Pair with this device"
|
||||
msgstr "Associer cet appareil"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:652
|
||||
#: src/modules/bluez5/e_mod_popup.c:608
|
||||
msgid "Unpair with this device"
|
||||
msgstr "Dissocier cet appareil"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:711 src/modules/bluez5/e_mod_popup.c:732
|
||||
#: src/modules/bluez5/e_mod_popup.c:667 src/modules/bluez5/e_mod_popup.c:688
|
||||
msgid "Reject pairing"
|
||||
msgstr "Refuser l'association"
|
||||
|
||||
#: src/modules/bluez5/e_mod_popup.c:764
|
||||
#: src/modules/bluez5/e_mod_popup.c:720
|
||||
msgid "Options for device like connect, pair etc."
|
||||
msgstr "Options de l'appareil telles que la connexion, l'association, etc."
|
||||
|
||||
|
@ -5384,7 +5376,7 @@ msgstr "Raccourcis ACPI"
|
|||
#: src/modules/conf_bindings/e_int_config_keybindings.c:257
|
||||
#: src/modules/conf_bindings/e_int_config_mousebindings.c:308
|
||||
#: src/modules/conf_bindings/e_int_config_signalbindings.c:802
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:949
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:960
|
||||
msgid "Action"
|
||||
msgstr "Action"
|
||||
|
||||
|
@ -5393,7 +5385,7 @@ msgstr "Action"
|
|||
#: src/modules/conf_bindings/e_int_config_keybindings.c:264
|
||||
#: src/modules/conf_bindings/e_int_config_mousebindings.c:315
|
||||
#: src/modules/conf_bindings/e_int_config_signalbindings.c:809
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:956
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:967
|
||||
msgid "Action Params"
|
||||
msgstr "Paramètres de l'action"
|
||||
|
||||
|
@ -5604,7 +5596,7 @@ msgstr "Modifier"
|
|||
#: src/modules/conf_bindings/e_int_config_keybindings.c:248
|
||||
#: src/modules/conf_bindings/e_int_config_mousebindings.c:298
|
||||
#: src/modules/conf_bindings/e_int_config_signalbindings.c:793
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:938
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:949
|
||||
msgid "Delete All"
|
||||
msgstr "Tout supprimer"
|
||||
|
||||
|
@ -5612,7 +5604,7 @@ msgstr "Tout supprimer"
|
|||
#: src/modules/conf_bindings/e_int_config_keybindings.c:252
|
||||
#: src/modules/conf_bindings/e_int_config_mousebindings.c:302
|
||||
#: src/modules/conf_bindings/e_int_config_signalbindings.c:797
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:942
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:953
|
||||
msgid "Restore Default Bindings"
|
||||
msgstr "Restaurer les raccourcis par défaut"
|
||||
|
||||
|
@ -5893,23 +5885,23 @@ msgstr "Raccourcis des signaux"
|
|||
msgid "Signal Bindings Settings"
|
||||
msgstr "Paramètres des raccourcis de signaux"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:664
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:675
|
||||
msgid "Add Swipe Binding"
|
||||
msgstr "Ajouter un raccourci de balayage"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:675
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:686
|
||||
msgid "Direction:"
|
||||
msgstr "Direction :"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:685
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:696
|
||||
msgid "Error:"
|
||||
msgstr "Erreur :"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:705
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:716
|
||||
msgid "Fingers:"
|
||||
msgstr "Doigts :"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:753
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:764
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Using %d Fingers<br> <b>Direction</b> %f <b>Length</b> %f <b>Error</b> %f"
|
||||
|
@ -5917,21 +5909,21 @@ msgstr ""
|
|||
"Utilisation de %d doigts<br> <b>Direction</b> %f <b>Longueur</b> %f "
|
||||
"<b>Erreur</b> %f"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:769
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:780
|
||||
msgid "Swipe recognition"
|
||||
msgstr "Reconnaissance des mouvements de balayage"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:770
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:781
|
||||
msgid "Do your swipe gesture.<br><br>Press <hilight>Escape</hilight> to abort"
|
||||
msgstr ""
|
||||
"Faites votre mouvement de balayage. <br><br>Appuyez sur <hilight>Échap</"
|
||||
"hilight> pour annuler."
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:906
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:917
|
||||
msgid "Swipe Bindings Help"
|
||||
msgstr "Aide"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:907
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:918
|
||||
msgid ""
|
||||
"Enlightenment is using libinput to detect swipe gesture. In case there are "
|
||||
"problems:<br> 1. Test gestures while executing \"libinput debug-events\" in "
|
||||
|
@ -5941,28 +5933,32 @@ msgid ""
|
|||
"user is part of the libinput group.<br>"
|
||||
msgstr ""
|
||||
"Enlightenment utilise libinput pour détecter les mouvements de balayage. En "
|
||||
"cas de problème :<br> 1. Tester les mouvements avec « libinput debug-events "
|
||||
"cas de problème :<br> 1. Testez les mouvements avec « libinput debug-events "
|
||||
"» dans un terminal. La sortie de la console indique la précision de votre "
|
||||
"matériel.<br>2. Guettez les erreurs dans la console, certains appareils "
|
||||
"renvoient des résultats erronés avec libinput.<br>3. Si votre session "
|
||||
"actuelle se déroule dans Xorg, assurez-vous que votre utilisateur fait "
|
||||
"partie du groupe libinput.<br>"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:921
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:932
|
||||
#: src/modules/conf_bindings/e_mod_main.c:38
|
||||
msgid "Swipe Bindings"
|
||||
msgstr "Raccourcis de balayage"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:930
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:941
|
||||
msgid "Add by props"
|
||||
msgstr "Ajout par props"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:944
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:955
|
||||
#: src/modules/tiling/e_mod_config.c:219
|
||||
msgid "Help"
|
||||
msgstr "Aide"
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:1031
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:977
|
||||
msgid "Open input devices"
|
||||
msgstr "Ouvrir les périphériques d'entrée "
|
||||
|
||||
#: src/modules/conf_bindings/e_int_config_swipebindings.c:1045
|
||||
msgid "Swipe Bindings Settings"
|
||||
msgstr "Paramètres des raccourcis de balayage"
|
||||
|
||||
|
@ -6227,50 +6223,54 @@ msgstr "Animation"
|
|||
msgid "Flip"
|
||||
msgstr "Basculement"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:46
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:47
|
||||
msgid "Backlight Settings"
|
||||
msgstr "Paramètres du rétroéclairage"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:143
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:147
|
||||
msgid "Normal Backlight"
|
||||
msgstr "Rétroéclairage normal"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:145
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:151
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:149
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:155
|
||||
#: src/modules/cpufreq/e_mod_config.c:106
|
||||
#: src/modules/cpufreq/e_mod_config.c:112
|
||||
#, c-format
|
||||
msgid "%3.0f"
|
||||
msgstr "%3.0f"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:149
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:153
|
||||
msgid "Dim Backlight"
|
||||
msgstr "Rétroéclairage diminué"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:155
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:159
|
||||
msgid "Desktop Monitor Support (DDC)"
|
||||
msgstr "Prise en charge DDC du moniteur"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:162
|
||||
msgid "Idle Fade Time"
|
||||
msgstr "Délai d'inactivité avant diminution"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:157
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:166
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:164
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:173
|
||||
#, c-format
|
||||
msgid "%1.0f second(s)"
|
||||
msgstr "%1.0f seconde(s)"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:162
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:169
|
||||
msgid "Fade Time on Battery"
|
||||
msgstr "Délai avant atténuation sur batterie"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:172
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:179
|
||||
msgid "Fade Time"
|
||||
msgstr "Durée de la transition"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:174
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:181
|
||||
#, c-format
|
||||
msgid "%1.1f second(s)"
|
||||
msgstr "%1.1f seconde(s)"
|
||||
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:180
|
||||
#: src/modules/conf_display/e_int_config_dpms.c:187
|
||||
msgid "Dimming"
|
||||
msgstr "Atténuation"
|
||||
|
||||
|
@ -6928,7 +6928,7 @@ msgstr "Demander"
|
|||
#: src/modules/conf_randr/e_int_config_randr2.c:803
|
||||
#, c-format
|
||||
msgid "Hotplug Policy (%s)"
|
||||
msgstr "Gestion du branchement à chaud (%s)"
|
||||
msgstr "Gestion du branchement à chaud [%s]"
|
||||
|
||||
#: src/modules/conf_randr/e_int_config_randr2.c:881
|
||||
#: src/modules/mixer/emixer.c:1954
|
||||
|
@ -6977,7 +6977,7 @@ msgstr "Restaurer la configuration au démarrage"
|
|||
|
||||
#: src/modules/conf_randr/e_int_config_randr2.c:1191
|
||||
msgid "Monitor hotplug"
|
||||
msgstr "Connexion moniteur à chaud"
|
||||
msgstr "Branchement à chaud"
|
||||
|
||||
#: src/modules/conf_randr/e_int_config_randr2.c:1200
|
||||
msgid "Lid Events"
|
||||
|
@ -9164,7 +9164,7 @@ msgstr ""
|
|||
msgid "Are you sure you want to delete this bar source?"
|
||||
msgstr "Voulez-vous vraiment supprimer cette source ?"
|
||||
|
||||
#: src/modules/ibar/e_mod_main.c:370 src/modules/ibar/e_mod_main.c:2891
|
||||
#: src/modules/ibar/e_mod_main.c:370 src/modules/ibar/e_mod_main.c:2902
|
||||
msgid "IBar"
|
||||
msgstr "IBar"
|
||||
|
||||
|
@ -9185,7 +9185,7 @@ msgstr "Retirer de la barre"
|
|||
msgid "Icon %s"
|
||||
msgstr "Icône %s"
|
||||
|
||||
#: src/modules/ibar/e_mod_main.c:2891
|
||||
#: src/modules/ibar/e_mod_main.c:2902
|
||||
msgid "Focus IBar"
|
||||
msgstr "Focaliser l'IBar"
|
||||
|
||||
|
@ -10051,103 +10051,103 @@ msgstr "Delai"
|
|||
msgid "%1.1f sec"
|
||||
msgstr "%1.1f s"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1960
|
||||
#: src/modules/shot/e_mod_edit.c:1962
|
||||
msgid "Tools"
|
||||
msgstr "Outils"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1972
|
||||
#: src/modules/shot/e_mod_edit.c:1974
|
||||
msgid "Select crop area"
|
||||
msgstr "Choisir la zone à recadrer"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1973
|
||||
#: src/modules/shot/e_mod_edit.c:1975
|
||||
msgid "Modify objects"
|
||||
msgstr "Modifier des objets"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1974
|
||||
#: src/modules/shot/e_mod_edit.c:1976
|
||||
msgid "Delete objects"
|
||||
msgstr "Supprimer des objets"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1983
|
||||
#: src/modules/shot/e_mod_edit.c:1985
|
||||
msgid "Single arrow line"
|
||||
msgstr "Ligne à flèche directionnelle"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1984
|
||||
#: src/modules/shot/e_mod_edit.c:1986
|
||||
msgid "Double arrow line"
|
||||
msgstr "Ligne à flèche bidirectionnelle"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1985
|
||||
#: src/modules/shot/e_mod_edit.c:1987
|
||||
msgid "Plain line"
|
||||
msgstr "Ligne simple"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1986
|
||||
#: src/modules/shot/e_mod_edit.c:1988
|
||||
msgid "Solid box"
|
||||
msgstr "Rectangle plein"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1988
|
||||
#: src/modules/shot/e_mod_edit.c:1990
|
||||
msgid "Malloc"
|
||||
msgstr "Malloc"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1989
|
||||
#: src/modules/shot/e_mod_edit.c:1991
|
||||
msgid "Malloc (evil)"
|
||||
msgstr "Malloc (en pétard)"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1990
|
||||
#: src/modules/shot/e_mod_edit.c:1992
|
||||
msgid "Pointing finger"
|
||||
msgstr "Doigt pointé"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1991
|
||||
#: src/modules/shot/e_mod_edit.c:1993
|
||||
msgid "Enlightenment logo"
|
||||
msgstr "Logo Enlightenment"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1993
|
||||
#: src/modules/shot/e_mod_edit.c:1995
|
||||
msgid "Foot"
|
||||
msgstr "Pied"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1994
|
||||
#: src/modules/shot/e_mod_edit.c:1996
|
||||
msgid "Silly walk"
|
||||
msgstr "Démarche ridicule"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1995
|
||||
#: src/modules/shot/e_mod_edit.c:1997
|
||||
msgid "Box outline"
|
||||
msgstr "Contour rectangulaire"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1996
|
||||
#: src/modules/shot/e_mod_edit.c:1998
|
||||
msgid "Circle outline"
|
||||
msgstr "Contour circulaire"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1998
|
||||
#: src/modules/shot/e_mod_edit.c:2000
|
||||
msgid "Plain text"
|
||||
msgstr "Texte simple"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:1999
|
||||
#: src/modules/shot/e_mod_edit.c:2001
|
||||
msgid "Text box"
|
||||
msgstr "Encadrement"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:2000
|
||||
#: src/modules/shot/e_mod_edit.c:2002
|
||||
msgid "Text thought bubble"
|
||||
msgstr "Bulle pensée"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:2001
|
||||
#: src/modules/shot/e_mod_edit.c:2003
|
||||
msgid "Text thought bubble 2"
|
||||
msgstr "Bulle pensée 2"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:2003
|
||||
#: src/modules/shot/e_mod_edit.c:2005
|
||||
msgid "Speech bubble"
|
||||
msgstr "Bulle parlée"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:2004
|
||||
#: src/modules/shot/e_mod_edit.c:2006
|
||||
msgid "Speech bubble 2"
|
||||
msgstr "Bulle parlée 2"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:2005
|
||||
#: src/modules/shot/e_mod_edit.c:2007
|
||||
msgid "Kaboom splat"
|
||||
msgstr "Splash"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:2006
|
||||
#: src/modules/shot/e_mod_edit.c:2008
|
||||
msgid "Pow explode"
|
||||
msgstr "Explosion"
|
||||
|
||||
#: src/modules/shot/e_mod_edit.c:2014
|
||||
#: src/modules/shot/e_mod_edit.c:2016
|
||||
msgid "Color"
|
||||
msgstr "Couleur"
|
||||
|
||||
|
@ -10906,3 +10906,9 @@ msgstr "Impossible d'établir une connexion avec une socket X11."
|
|||
#: src/modules/xwayland/e_mod_main.c:347
|
||||
msgid "Cannot launch XWayland from X11 display."
|
||||
msgstr "Impossible de lancer XWayland depuis l'affichage X11."
|
||||
|
||||
#~ msgid "Stop this device from being forcefully connected"
|
||||
#~ msgstr "Oublier la connexion forcée du périphérique"
|
||||
|
||||
#~ msgid "Force this device to be connected when detected"
|
||||
#~ msgstr "Forcer la connexion du périphérique à la détection"
|
||||
|
|
|
@ -23,7 +23,7 @@ e_about_new(void)
|
|||
snprintf
|
||||
(buf, sizeof(buf), "%s%s",
|
||||
_(
|
||||
"<title>Copyright © 2000-2021, by the Enlightenment "
|
||||
"<title>Copyright © 2000-2022, by the Enlightenment "
|
||||
"Development Team</><ps/>"
|
||||
"<ps/>"
|
||||
"We hope you enjoy using this software as much as we enjoyed "
|
||||
|
|
|
@ -3285,15 +3285,18 @@ ACT_FN_GO(window_focus, EINA_UNUSED)
|
|||
}
|
||||
if (dir == -1) /* next */
|
||||
{
|
||||
if (ec_next) e_client_focus_set_with_pointer(ec_next);
|
||||
else if (ec_first) e_client_focus_set_with_pointer(ec_first);
|
||||
if (ec_next) goto do_focus;
|
||||
else if (ec_first) ec_next = ec_first;
|
||||
else return;
|
||||
}
|
||||
else if (dir == -2)
|
||||
{
|
||||
if (ec_prev) e_client_focus_set_with_pointer(ec_prev);
|
||||
else if (ec_last) e_client_focus_set_with_pointer(ec_last);
|
||||
if (ec_prev) ec_next = ec_prev;
|
||||
else if (ec_last) ec_next = ec_last;
|
||||
else return;
|
||||
}
|
||||
return;
|
||||
else return;
|
||||
goto do_focus;
|
||||
}
|
||||
|
||||
cx = ec_orig->x + (ec_orig->w / 2);
|
||||
|
@ -3368,8 +3371,18 @@ ACT_FN_GO(window_focus, EINA_UNUSED)
|
|||
ec_next = ec;
|
||||
distance = d;
|
||||
}
|
||||
do_focus:
|
||||
if (!ec_next) return;
|
||||
|
||||
if (ec_next) e_client_focus_set_with_pointer(ec_next);
|
||||
ec = ec_next;
|
||||
if (ec->iconic) e_client_uniconify(ec);
|
||||
if (ec->shaded) e_client_unshade(ec, ec->shade_dir);
|
||||
if (!ec->lock_user_stacking)
|
||||
{
|
||||
evas_object_raise(ec->frame);
|
||||
e_client_raise_latest_set(ec);
|
||||
}
|
||||
e_client_focus_set_with_pointer(ec);
|
||||
}
|
||||
|
||||
/* local subsystem globals */
|
||||
|
|
|
@ -254,6 +254,7 @@ _backlight_devices_device_set(Backlight_Device *bd, double val)
|
|||
// fprintf(stderr, "BL: ddc bklight %1.3f @ %1.3f\n", bd->val, ecore_time_get());
|
||||
if (bd->ddc_max) fval = bd->val * (double)bd->ddc_max;
|
||||
else fval = bd->val * 100.0;
|
||||
if (e_config->backlight.ddc)
|
||||
e_system_send("ddc-val-set", "%s %i %i", bd->dev + 4, 0x10, (int)(fval)); // backlight val in e_system_ddc.c
|
||||
ecore_event_add(E_EVENT_BACKLIGHT_CHANGE, NULL, NULL, NULL);
|
||||
}
|
||||
|
|
|
@ -400,8 +400,8 @@ _e_client_mouse_action_end(E_Client *ec)
|
|||
E_FREE_FUNC(ec->cur_mouse_action, e_object_unref);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_client_revert_focus(E_Client *ec)
|
||||
E_API void
|
||||
e_client_revert_focus(E_Client *ec)
|
||||
{
|
||||
E_Client *pec;
|
||||
E_Desk *desk;
|
||||
|
@ -433,12 +433,17 @@ _e_client_revert_focus(E_Client *ec)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if ((ec->parent) &&
|
||||
(ec->parent->desk == desk) && (ec->parent->modal == ec))
|
||||
else if ((ec->parent) && (ec->parent->desk == desk))
|
||||
{
|
||||
evas_object_focus_set(ec->parent->frame, 1);
|
||||
E_Client *goal_ec = NULL;
|
||||
if (ec->parent->modal != ec && ec->parent->modal) {
|
||||
goal_ec = ec->parent->modal;
|
||||
} else {
|
||||
goal_ec = ec->parent;
|
||||
}
|
||||
evas_object_focus_set(goal_ec->frame, 1);
|
||||
if (e_config->raise_on_revert_focus)
|
||||
evas_object_raise(ec->parent->frame);
|
||||
evas_object_raise(goal_ec->frame);
|
||||
}
|
||||
else if (e_config->focus_revert_on_hide_or_close)
|
||||
{
|
||||
|
@ -459,6 +464,14 @@ _e_client_revert_focus(E_Client *ec)
|
|||
static void
|
||||
_e_client_free(E_Client *ec)
|
||||
{
|
||||
if (focused == ec)
|
||||
{
|
||||
focused = NULL;
|
||||
#ifndef HAVE_WAYLAND_ONLY
|
||||
if (e_comp->comp_type != E_PIXMAP_TYPE_WL)
|
||||
ecore_x_window_focus(e_comp->root);
|
||||
#endif
|
||||
}
|
||||
if (ec->desk)
|
||||
ec->desk->fullscreen_clients = eina_list_remove(ec->desk->fullscreen_clients, ec);
|
||||
if (ec->restore_zone_id)
|
||||
|
@ -573,6 +586,8 @@ _e_client_free(E_Client *ec)
|
|||
if (ec->stack.prev) ec->stack.prev->stack.next = ec->stack.next;
|
||||
if (ec->stack.next) ec->stack.next->stack.prev = ec->stack.prev;
|
||||
|
||||
E_FREE_FUNC(ec->ignore_first_unmap_clear_timer, ecore_timer_del);
|
||||
|
||||
ec->e.state.profile.wait_desk = NULL;
|
||||
evas_object_del(ec->frame);
|
||||
E_OBJECT(ec)->references--;
|
||||
|
@ -644,7 +659,7 @@ _e_client_del(E_Client *ec)
|
|||
evas_object_hide(ec->internal_elm_win);
|
||||
|
||||
if (ec->focused)
|
||||
_e_client_revert_focus(ec);
|
||||
e_client_revert_focus(ec);
|
||||
if (ec->frame) evas_object_focus_set(ec->frame, 0);
|
||||
|
||||
E_FREE_FUNC(ec->ping_poller, ecore_poller_del);
|
||||
|
@ -1560,7 +1575,7 @@ _e_client_cb_evas_hide(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UN
|
|||
if (!ec->hidden)
|
||||
{
|
||||
if (ec->focused)
|
||||
_e_client_revert_focus(ec);
|
||||
e_client_revert_focus(ec);
|
||||
}
|
||||
ec->want_focus = ec->take_focus = 0;
|
||||
|
||||
|
@ -4520,6 +4535,7 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy)
|
|||
evas_object_layer_set(ec->frame, E_LAYER_CLIENT_FULLSCREEN);
|
||||
|
||||
ec->fullscreen = 1;
|
||||
ec->fullscreen_time = ecore_time_get();
|
||||
ec->unfullscreen_forced = 0;
|
||||
#ifndef HAVE_WAYLAND_ONLY
|
||||
if ((eina_list_count(e_comp->zones) > 1) ||
|
||||
|
@ -4642,7 +4658,7 @@ e_client_iconify(E_Client *ec)
|
|||
{
|
||||
if (!ec->new_client)
|
||||
{
|
||||
_e_client_revert_focus(ec);
|
||||
e_client_revert_focus(ec);
|
||||
evas_object_hide(ec->frame);
|
||||
}
|
||||
e_client_urgent_set(ec, ec->icccm.urgent);
|
||||
|
|
|
@ -302,6 +302,7 @@ struct E_Client
|
|||
|
||||
unsigned char ignore_first_unmap;
|
||||
E_Pointer_Mode resize_mode;
|
||||
Ecore_Timer *ignore_first_unmap_clear_timer;
|
||||
|
||||
struct
|
||||
{
|
||||
|
@ -693,6 +694,8 @@ struct E_Client
|
|||
int x, y;
|
||||
} drag;
|
||||
|
||||
double fullscreen_time;
|
||||
|
||||
Ecore_Timer *raise_timer;
|
||||
E_Client_Move_Intercept_Cb move_intercept_cb;
|
||||
E_Remember *remember;
|
||||
|
@ -815,6 +818,7 @@ E_API Eina_Bool e_client_focus_track_enabled(void);
|
|||
E_API void e_client_focus_track_freeze(void);
|
||||
E_API void e_client_focus_track_thaw(void);
|
||||
E_API void e_client_refocus(void);
|
||||
E_API void e_client_revert_focus(E_Client *ec);
|
||||
E_API void e_client_focus_set_with_pointer(E_Client *ec);
|
||||
E_API void e_client_activate(E_Client *ec, Eina_Bool just_do_it);
|
||||
E_API E_Client *e_client_focused_get(void);
|
||||
|
|
|
@ -756,6 +756,68 @@ _e_comp_shapes_update_object_checker_function_thingy(Evas_Object *o)
|
|||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_tiler_obj_visible(Evas_Object *o)
|
||||
{
|
||||
Evas_Object *o2;
|
||||
|
||||
if (!evas_object_visible_get(o)) return EINA_FALSE;
|
||||
o2 = evas_object_clip_get(o);
|
||||
if (!o2) return EINA_TRUE;
|
||||
return _tiler_obj_visible(o2);
|
||||
}
|
||||
|
||||
static void
|
||||
_tiler_add_input_sub(Evas_Object *par, Eina_Tiler *tb)
|
||||
{
|
||||
Eina_List *objs = evas_object_smart_members_get(par);
|
||||
Evas_Coord x, y, w, h;
|
||||
Evas_Object *o;
|
||||
const char *type;
|
||||
void *sd;
|
||||
|
||||
EINA_LIST_FREE(objs, o)
|
||||
{
|
||||
if (evas_object_clipees_has(o)) continue;
|
||||
if ((_tiler_obj_visible(o)) &&
|
||||
(!evas_object_pass_events_get(o)))
|
||||
{
|
||||
type = evas_object_type_get(o);
|
||||
|
||||
if (type)
|
||||
{
|
||||
if (!strcmp(type, "rectangle"))
|
||||
{
|
||||
if (!evas_object_clipees_has(o))
|
||||
{
|
||||
evas_object_geometry_get(o, &x, &y, &w, &h);
|
||||
eina_tiler_rect_add(tb, &(Eina_Rectangle){x, y, w, h});
|
||||
}
|
||||
}
|
||||
else if ((!strcmp(type, "image")) ||
|
||||
(!strcmp(type, "text")) ||
|
||||
(!strcmp(type, "textblock"))
|
||||
)
|
||||
{
|
||||
const char *name = evas_object_name_get(o);
|
||||
|
||||
evas_object_geometry_get(o, &x, &y, &w, &h);
|
||||
if ((name) && (!strcmp(name, "cw->obj")))
|
||||
eina_tiler_rect_del(tb, &(Eina_Rectangle){x, y, w, h});
|
||||
else
|
||||
eina_tiler_rect_add(tb, &(Eina_Rectangle){x, y, w, h});
|
||||
}
|
||||
else if ((!strcmp(type, "edje")) ||
|
||||
(!strcmp(type, "e_zoomap")))
|
||||
{
|
||||
sd = evas_object_smart_data_get(o);
|
||||
if (sd) _tiler_add_input_sub(o, tb);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_e_comp_shapes_update_comp_client_shape_comp_helper(E_Client *ec, Eina_Tiler *tb, Eina_List **rl)
|
||||
{
|
||||
|
@ -823,6 +885,7 @@ _e_comp_shapes_update_comp_client_shape_comp_helper(E_Client *ec, Eina_Tiler *tb
|
|||
eina_tiler_rect_del(tb, &(Eina_Rectangle){x, y, w, h});
|
||||
SHAPE_INF("DEL: %d,%d@%dx%d", x, y, w, h);
|
||||
}
|
||||
_tiler_add_input_sub(ec->frame, tb);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -849,6 +912,8 @@ _e_comp_shapes_update_comp_client_shape_comp_helper(E_Client *ec, Eina_Tiler *tb
|
|||
eina_tiler_rect_del(tb, &(Eina_Rectangle){ec->client.x, ec->client.y, ec->client.w, ec->client.h});
|
||||
SHAPE_INF("DEL: %d,%d@%dx%d", ec->client.x, ec->client.y, ec->client.w, ec->client.h);
|
||||
}
|
||||
|
||||
_tiler_add_input_sub(ec->frame, tb);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -749,7 +749,7 @@ _e_comp_object_shadow_setup(E_Comp_Object *cw)
|
|||
else
|
||||
edje_object_part_swallow(cw->shobj, "e.swallow.content", cw->obj);
|
||||
}
|
||||
if (cw->input_objs)
|
||||
if ((cw->input_objs) || ((cw->ec) && (cw->ec->shaped)))
|
||||
evas_object_pass_events_set(cw->obj, 1);
|
||||
else
|
||||
evas_object_pass_events_set(cw->obj, 0);
|
||||
|
@ -972,7 +972,7 @@ _e_comp_object_pixels_get(void *data, Evas_Object *obj)
|
|||
}
|
||||
if (e_object_is_del(E_OBJECT(ec))) return;
|
||||
/* shaped clients get precise mouse events to handle transparent pixels */
|
||||
evas_object_precise_is_inside_set(cw->obj, ec->shaped || ec->shaped_input);
|
||||
evas_object_precise_is_inside_set(cw->obj, ec->shaped);
|
||||
|
||||
//INF("%p PX(%dx%d) EC(%dx%d) CW(%dx%d)", ec, pw, ph, ec->w, ec->h, cw->w, cw->h);
|
||||
//e_comp_object_frame_wh_adjust(cw->smart_obj, pw, ph, &pw, &ph);
|
||||
|
@ -1877,9 +1877,10 @@ _e_comp_intercept_focus(void *data, Evas_Object *obj, Eina_Bool focus)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (e_client_focused_get() == ec)
|
||||
if (e_client_focused_get() == ec) {
|
||||
e_client_focused_set(NULL);
|
||||
}
|
||||
}
|
||||
evas_object_focus_set(obj, focus);
|
||||
}
|
||||
|
||||
|
@ -2352,8 +2353,9 @@ _e_comp_smart_hide(Evas_Object *obj)
|
|||
edje_object_play_set(cw->frame_object, 0);
|
||||
}
|
||||
/* ensure focus-out */
|
||||
if (cw->ec->focused)
|
||||
evas_object_focus_set(cw->ec->frame, 0);
|
||||
if (cw->ec->focused) {
|
||||
e_client_revert_focus(cw->ec);
|
||||
}
|
||||
e_comp_render_queue(); //force nocomp recheck
|
||||
e_comp_shape_queue();
|
||||
}
|
||||
|
|
|
@ -962,7 +962,7 @@ _e_comp_wl_clipboard_create(void)
|
|||
E_API void
|
||||
e_comp_wl_data_device_send_enter(E_Client *ec)
|
||||
{
|
||||
struct wl_resource *data_device_res, *offer_res;
|
||||
struct wl_resource *data_device_res = NULL, *offer_res = NULL;
|
||||
uint32_t serial;
|
||||
int x, y;
|
||||
|
||||
|
|
|
@ -2601,34 +2601,60 @@ _e_comp_x_powersave(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
|
|||
static void
|
||||
_e_comp_x_mouse_in_job(void *d EINA_UNUSED)
|
||||
{
|
||||
E_Client *ecf = e_client_focused_get();
|
||||
|
||||
// if we're fullscreen and see a mout out within a short time of having
|
||||
// set this client ot fullscreen - it's a "false flag" that is a bi-product
|
||||
// of things moving around while becoming fullscreen, so ignore it
|
||||
if ((ecf) && (ecf != mouse_client))
|
||||
{
|
||||
if ((ecf->fullscreen) &&
|
||||
(ecore_time_get() - ecf->fullscreen_time) < 0.2) // 0.2sec enough
|
||||
goto done;
|
||||
}
|
||||
if (mouse_client)
|
||||
e_client_mouse_in(mouse_client, e_comp_canvas_x_root_adjust(mouse_in_coords.x), e_comp_canvas_y_root_adjust(mouse_in_coords.y));
|
||||
done:
|
||||
mouse_in_job = NULL;
|
||||
}
|
||||
|
||||
static E_Client *
|
||||
_e_comp_x_e_client_obj_get(Evas_Object *o)
|
||||
{
|
||||
Evas_Object *par;
|
||||
|
||||
if (evas_object_data_get(o, "comp_object"))
|
||||
return e_comp_object_client_get(o);
|
||||
par = evas_object_smart_parent_get(o);
|
||||
if (!par) return NULL;
|
||||
return _e_comp_x_e_client_obj_get(par);
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_e_comp_x_mouse_in_fix_check_timer_cb(void *data EINA_UNUSED)
|
||||
{
|
||||
E_Client *ec = NULL, *cec;
|
||||
Eina_List *l, *in_list;
|
||||
Evas_Object *o;
|
||||
int x, y;
|
||||
|
||||
mouse_in_fix_check_timer = NULL;
|
||||
if (e_grabinput_key_win_get() || e_grabinput_mouse_win_get())
|
||||
return EINA_FALSE;
|
||||
ecore_evas_pointer_xy_get(e_comp->ee, &x, &y);
|
||||
E_CLIENT_REVERSE_FOREACH(cec)
|
||||
|
||||
in_list = evas_tree_objects_at_xy_get(e_comp->evas, NULL, x, y);
|
||||
EINA_LIST_FOREACH(in_list, l, o)
|
||||
{
|
||||
/* If a border was specified which should be excluded from the list
|
||||
* (because it will be closed shortly for example), skip */
|
||||
if ((!e_client_util_desk_visible(cec, e_desk_current_get(e_zone_current_get())))) continue;
|
||||
if (!evas_object_visible_get(cec->frame)) continue;
|
||||
if (!E_INSIDE(x, y, cec->x, cec->y, cec->w, cec->h))
|
||||
continue;
|
||||
/* If the layer is higher, the position of the window is higher
|
||||
* (always on top vs always below) */
|
||||
if (!ec || (cec->layer > ec->layer))
|
||||
ec = cec;
|
||||
ec = _e_comp_x_e_client_obj_get(o);
|
||||
if (ec)
|
||||
{
|
||||
if ((!e_client_util_desk_visible
|
||||
(ec, e_desk_current_get(e_zone_current_get())))) continue;
|
||||
break;
|
||||
}
|
||||
}
|
||||
eina_list_free(in_list);
|
||||
if (ec)
|
||||
{
|
||||
mouse_client = ec;
|
||||
|
@ -2690,6 +2716,12 @@ _e_comp_x_mouse_out(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_
|
|||
return ECORE_CALLBACK_PASS_ON;
|
||||
ec = _e_comp_x_client_find_by_window(ev->win);
|
||||
if (!ec) return ECORE_CALLBACK_RENEW;
|
||||
// if we're fullscreen and see a mout out within a short time of having
|
||||
// set this client ot fullscreen - it's a "false flag" that is a bi-product
|
||||
// of things moving around while becoming fullscreen, so ignore it
|
||||
if ((ec->fullscreen) &&
|
||||
(ecore_time_get() - ec->fullscreen_time) < 0.2) // 0.2sec enough
|
||||
return ECORE_CALLBACK_RENEW;
|
||||
if (_e_comp_x_client_data_get(ec)->deleted) return ECORE_CALLBACK_RENEW;
|
||||
if (mouse_client == ec)
|
||||
{
|
||||
|
@ -2854,6 +2886,8 @@ _e_comp_x_focus_out(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_
|
|||
return ECORE_CALLBACK_PASS_ON;
|
||||
else if (ev->detail == ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL)
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
else if (ev->detail == ECORE_X_EVENT_DETAIL_POINTER)
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
else if (ev->mode == ECORE_X_EVENT_MODE_GRAB)
|
||||
{
|
||||
|
@ -2872,10 +2906,12 @@ _e_comp_x_focus_out(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_
|
|||
{
|
||||
/* for firefox/thunderbird (xul) menu walking */
|
||||
/* NB: why did i disable this before? */
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
/* why only filter these out for an ungrab? skip all ungrabs...
|
||||
if (ev->detail == ECORE_X_EVENT_DETAIL_INFERIOR)
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
else if (ev->detail == ECORE_X_EVENT_DETAIL_POINTER)
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
return ECORE_CALLBACK_PASS_ON; */
|
||||
}
|
||||
else if (ev->mode == ECORE_X_EVENT_MODE_WHILE_GRABBED)
|
||||
{
|
||||
|
@ -2883,8 +2919,10 @@ _e_comp_x_focus_out(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_
|
|||
return ECORE_CALLBACK_PASS_ON;
|
||||
else if (ev->detail == ECORE_X_EVENT_DETAIL_INFERIOR)
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
else if (ev->detail == ECORE_X_EVENT_DETAIL_NON_LINEAR)
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
evas_object_focus_set(ec->frame, 0);
|
||||
e_client_revert_focus(ec);
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
||||
|
@ -3461,6 +3499,41 @@ _e_comp_x_hook_client_post_new_client(void *d EINA_UNUSED, E_Client *ec)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_e_comp_x_frame_extents_adjust(E_Client *ec, int exl, int exr, int ext, int exb)
|
||||
{
|
||||
unsigned int extentscurrent;
|
||||
unsigned int extentsall = exl | exr | ext | exb;
|
||||
int insl = 0, insr = 0, inst = 0, insb = 0;
|
||||
|
||||
e_comp_object_frame_geometry_get(ec->frame, &insl, &insr, &inst, &insb);
|
||||
extentscurrent = insl | insr | inst | insb;
|
||||
|
||||
extentsall = !!extentsall;
|
||||
extentscurrent = !!extentscurrent;
|
||||
if ((!e_comp_object_frame_exists(ec->frame)) &&
|
||||
(( extentsall && extentscurrent) ||
|
||||
(!extentsall && extentscurrent) ||
|
||||
( extentsall && !extentscurrent)))
|
||||
{
|
||||
e_comp_object_frame_geometry_set(ec->frame, -exl, -exr, -ext, -exb);
|
||||
if (ec->override &&
|
||||
(ec->x == ec->comp_data->initial_attributes.x) &&
|
||||
(ec->y == ec->comp_data->initial_attributes.y))
|
||||
e_comp_object_frame_xy_adjust(ec->frame, ec->x, ec->y, &ec->x, &ec->y);
|
||||
}
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_cb_e_comp_x_ignore_first_unmap_clear_timer(void *data)
|
||||
{
|
||||
E_Client *ec = data;
|
||||
|
||||
ec->ignore_first_unmap_clear_timer = NULL;
|
||||
if (ec->ignore_first_unmap > 0) ec->ignore_first_unmap--;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_comp_x_hook_client_pre_frame_assign(void *d EINA_UNUSED, E_Client *ec)
|
||||
{
|
||||
|
@ -3512,6 +3585,10 @@ _e_comp_x_hook_client_pre_frame_assign(void *d EINA_UNUSED, E_Client *ec)
|
|||
}
|
||||
if (!ec->internal)
|
||||
ecore_x_window_save_set_add(win);
|
||||
ec->ignore_first_unmap++;
|
||||
E_FREE_FUNC(ec->ignore_first_unmap_clear_timer, ecore_timer_del);
|
||||
ec->ignore_first_unmap_clear_timer = ecore_timer_add
|
||||
(0.2, _cb_e_comp_x_ignore_first_unmap_clear_timer, ec);
|
||||
ecore_x_window_reparent(win, pwin, 0, 0);
|
||||
e_pixmap_alias(ep, E_PIXMAP_TYPE_X, pwin);
|
||||
|
||||
|
@ -4838,34 +4915,18 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client *ec)
|
|||
*/
|
||||
if (count >= 4)
|
||||
{
|
||||
unsigned int extentscurrent;
|
||||
unsigned int extentsall =
|
||||
extents[0] | extents[1] | extents[2] | extents[3];
|
||||
int insl = 0, insr = 0, inst = 0, insb = 0;
|
||||
e_comp_object_frame_geometry_get(ec->frame, &insl, &insr,
|
||||
&inst, &insb);
|
||||
extentscurrent = insl | insr | inst | insb;
|
||||
|
||||
extentsall = !!extentsall;
|
||||
extentscurrent = !!extentscurrent;
|
||||
if ((!e_comp_object_frame_exists(ec->frame)) &&
|
||||
(( extentsall && extentscurrent) ||
|
||||
(!extentsall && extentscurrent) ||
|
||||
( extentsall && !extentscurrent)))
|
||||
{
|
||||
e_comp_object_frame_geometry_set(ec->frame,
|
||||
-extents[0],
|
||||
-extents[1],
|
||||
-extents[2],
|
||||
-extents[3]);
|
||||
if (ec->override &&
|
||||
(ec->x == ec->comp_data->initial_attributes.x) &&
|
||||
(ec->y == ec->comp_data->initial_attributes.y))
|
||||
e_comp_object_frame_xy_adjust(ec->frame, ec->x, ec->y, &ec->x, &ec->y);
|
||||
}
|
||||
// printf("GTK-FRM: get %i %i %i %i\n",
|
||||
// extents[0], extents[1], extents[2], extents[3]);
|
||||
_e_comp_x_frame_extents_adjust
|
||||
(ec, extents[0], extents[1], extents[2], extents[3]);
|
||||
}
|
||||
free(extents);
|
||||
}
|
||||
else
|
||||
{
|
||||
// printf("GTK-FRM: get fail\n");
|
||||
_e_comp_x_frame_extents_adjust(ec, 0, 0, 0, 0);
|
||||
}
|
||||
cd->fetch_gtk_frame_extents = 0;
|
||||
}
|
||||
ec->changes.prop = 0;
|
||||
|
@ -5193,6 +5254,11 @@ _e_comp_x_hook_client_del(void *d EINA_UNUSED, E_Client *ec)
|
|||
else
|
||||
#endif
|
||||
{
|
||||
// work around broken clients that withdraw windows and don't
|
||||
// remove WM_STATE themselves... like qt6 + telegram and media
|
||||
// window popups.
|
||||
ecore_x_window_prop_property_del(e_client_util_win_get(ec),
|
||||
ECORE_X_ATOM_WM_STATE);
|
||||
if (e_pixmap_free(ec->pixmap))
|
||||
e_pixmap_client_set(ec->pixmap, NULL);
|
||||
ec->pixmap = NULL;
|
||||
|
@ -5754,6 +5820,9 @@ _e_comp_x_manage_windows(void)
|
|||
evas_object_geometry_set(ec->frame, ec->client.x, ec->client.y, ec->client.w, ec->client.h);
|
||||
}
|
||||
ec->ignore_first_unmap = 1;
|
||||
E_FREE_FUNC(ec->ignore_first_unmap_clear_timer, ecore_timer_del);
|
||||
ec->ignore_first_unmap_clear_timer = ecore_timer_add
|
||||
(0.2, _cb_e_comp_x_ignore_first_unmap_clear_timer, ec);
|
||||
if (ec->override || (!ec->icccm.fetch.hints))
|
||||
evas_object_show(ec->frame);
|
||||
_e_comp_x_client_stack(ec);
|
||||
|
|
|
@ -200,28 +200,35 @@ _handle_dev_prop(int dev_slot, const char *dev, const char *prop, Device_Flags d
|
|||
{
|
||||
// 7 val, 8 bit bit 0 = off, >0 mouse button reported
|
||||
// TR, BR, TL, BL, F1, F2, F3
|
||||
// 0, 0, 0, 0, 1, 2, 3 <- tap to click
|
||||
// 1, 1, 1, 0, 1, 3, 2 <- tap to click
|
||||
unsigned char *val = ecore_x_input_device_property_get
|
||||
(dev_slot, prop, &num, &fmt, &size);
|
||||
const char tapval[7] = { 1, 1, 1, 0, 1, 3, 2 };
|
||||
const char notapval[7] = { 0, 0, 0, 0, 0, 0, 0 };
|
||||
Eina_Bool have_tapval = EINA_FALSE;
|
||||
Eina_Bool have_notapval = EINA_FALSE;
|
||||
int i;
|
||||
|
||||
if (num >= 7)
|
||||
{
|
||||
have_tapval = EINA_TRUE;
|
||||
for (i = 0; i < 7; i++) if (val[i] != tapval[i]) have_tapval = EINA_FALSE;
|
||||
have_notapval = EINA_TRUE;
|
||||
for (i = 0; i < 7; i++) if (val[i] != notapval[i]) have_notapval = EINA_FALSE;
|
||||
}
|
||||
if ((val) && (size == 8) && (num >= 7) &&
|
||||
(((e_config->touch_tap_to_click) &&
|
||||
((val[4] != 1) || (val[5] != 2) || (val[6] != 3))) ||
|
||||
((!e_config->touch_tap_to_click) &&
|
||||
((val[4] != 0) || (val[5] != 0) || (val[6] != 0)))))
|
||||
(((e_config->touch_tap_to_click) && (!have_tapval)) ||
|
||||
((!e_config->touch_tap_to_click) && (!have_notapval))))
|
||||
{
|
||||
if (e_config->touch_tap_to_click)
|
||||
{
|
||||
val[4] = 1;
|
||||
val[5] = 2;
|
||||
val[6] = 3;
|
||||
for (i = 0; i < 7; i++) val[i] = tapval[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
val[4] = 0;
|
||||
val[5] = 0;
|
||||
val[6] = 0;
|
||||
for (i = 0; i < 7; i++) val[i] = notapval[i];
|
||||
}
|
||||
printf("DEV: change [%s] [%s] -> %i %i %i\n", dev, prop, val[4], val[5], val[6]);
|
||||
printf("DEV: change [%s] [%s] -> %i %i %i %i %i %i %i\n", dev, prop, val[0], val[1], val[2], val[3], val[4], val[5], val[6]);
|
||||
ecore_x_input_device_property_set
|
||||
(dev_slot, prop, val, num, fmt, size);
|
||||
}
|
||||
|
|
|
@ -122,6 +122,24 @@ _e_config_profile_name_get(Eet_File *ef)
|
|||
s = eina_stringshare_add_length(data, data_len);
|
||||
free(data);
|
||||
}
|
||||
if (s)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
char buf2[PATH_MAX];
|
||||
|
||||
e_user_dir_snprintf(buf, sizeof(buf), "config/%s", s);
|
||||
if (!ecore_file_is_dir(buf))
|
||||
{
|
||||
snprintf(buf2, sizeof(buf2), "config/%s", s);
|
||||
e_prefix_data_concat_static(buf, buf2);
|
||||
if (!ecore_file_is_dir(buf))
|
||||
{
|
||||
printf("CF: warning - profile [%s] dir does not exist in user or system dirs\n", s);
|
||||
eina_stringshare_del(s);
|
||||
s = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
|
@ -879,6 +897,8 @@ _e_config_edd_init(Eina_Bool old)
|
|||
|
||||
E_CONFIG_VAL(D, T, thumb_nice, INT);
|
||||
|
||||
E_CONFIG_VAL(D, T, gesture_open_input_devices, UCHAR);
|
||||
|
||||
E_CONFIG_VAL(D, T, menu_icons_hide, UCHAR);
|
||||
E_CONFIG_VAL(D, T, menu_favorites_show, INT);
|
||||
E_CONFIG_VAL(D, T, menu_apps_show, INT);
|
||||
|
@ -942,6 +962,7 @@ _e_config_edd_init(Eina_Bool old)
|
|||
E_CONFIG_VAL(D, T, backlight.battery_timer, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, backlight.sysdev, STR);
|
||||
E_CONFIG_VAL(D, T, backlight.idle_dim, UCHAR);
|
||||
E_CONFIG_VAL(D, T, backlight.ddc, UCHAR);
|
||||
|
||||
E_CONFIG_VAL(D, T, deskenv.load_xrdb, UCHAR);
|
||||
E_CONFIG_VAL(D, T, deskenv.load_xmodmap, UCHAR);
|
||||
|
@ -1042,19 +1063,24 @@ e_config_init(void)
|
|||
|
||||
for (i = 1; i <= _e_config_revisions; i++)
|
||||
{
|
||||
e_user_dir_snprintf(buf, sizeof(buf), "config/profile.%i.cfg", i);
|
||||
e_user_dir_snprintf(buf, sizeof(buf), "config/profile.cfg.%i", i);
|
||||
ef = eet_open(buf, EET_FILE_MODE_READ);
|
||||
if (ef)
|
||||
{
|
||||
printf("CF: warning - falling back to %s\n", buf);
|
||||
_e_config_profile = _e_config_profile_name_get(ef);
|
||||
eet_close(ef);
|
||||
ef = NULL;
|
||||
if (_e_config_profile) break;
|
||||
printf("CF: warning - fallback to %s can't read profile\n", buf);
|
||||
}
|
||||
else if (ecore_file_exists(buf))
|
||||
printf("CF: warning - fallback to %s failing to open\n", buf);
|
||||
}
|
||||
if (!_e_config_profile)
|
||||
{
|
||||
/* use system if no user profile config */
|
||||
printf("CF: fallback to system profile config file\n");
|
||||
e_prefix_data_concat_static(buf, "data/config/profile.cfg");
|
||||
ef = eet_open(buf, EET_FILE_MODE_READ);
|
||||
}
|
||||
|
@ -1064,6 +1090,8 @@ e_config_init(void)
|
|||
_e_config_profile = _e_config_profile_name_get(ef);
|
||||
eet_close(ef);
|
||||
ef = NULL;
|
||||
if (!_e_config_profile)
|
||||
printf("CF: warning - can't read profile\n");
|
||||
}
|
||||
if (!_e_config_profile)
|
||||
{
|
||||
|
@ -1624,52 +1652,10 @@ e_config_load(void)
|
|||
e_config_save_queue();
|
||||
}
|
||||
CONFIG_VERSION_CHECK(22)
|
||||
{
|
||||
Eina_List *l;
|
||||
E_Config_Module *em, *module;
|
||||
Eina_Bool ibar_en = EINA_FALSE, luncher_en = EINA_FALSE;
|
||||
|
||||
CONFIG_VERSION_UPDATE_INFO(22);
|
||||
|
||||
EINA_LIST_FOREACH(e_config->modules, l, em)
|
||||
{
|
||||
if (!em->enabled) continue;
|
||||
if (eina_streq(em->name, "ibar"))
|
||||
ibar_en = EINA_TRUE;
|
||||
else if (eina_streq(em->name, "luncher"))
|
||||
luncher_en = EINA_TRUE;
|
||||
}
|
||||
if (ibar_en && !luncher_en)
|
||||
{
|
||||
module = E_NEW(E_Config_Module, 1);
|
||||
module->name = eina_stringshare_add("luncher");
|
||||
module->enabled = 1;
|
||||
e_config->modules = eina_list_append(e_config->modules, module);
|
||||
}
|
||||
e_config_save_queue();
|
||||
{ // added luncher - not around anymore
|
||||
}
|
||||
CONFIG_VERSION_CHECK(23)
|
||||
{
|
||||
Eina_List *l;
|
||||
E_Config_Module *em, *module;
|
||||
Eina_Bool sysinfo_en = EINA_FALSE;
|
||||
|
||||
CONFIG_VERSION_UPDATE_INFO(23);
|
||||
|
||||
EINA_LIST_FOREACH(e_config->modules, l, em)
|
||||
{
|
||||
if (!em->enabled) continue;
|
||||
if (eina_streq(em->name, "sysinfo"))
|
||||
sysinfo_en = EINA_TRUE;
|
||||
}
|
||||
if (!sysinfo_en)
|
||||
{
|
||||
module = E_NEW(E_Config_Module, 1);
|
||||
module->name = eina_stringshare_add("sysinfo");
|
||||
module->enabled = 1;
|
||||
e_config->modules = eina_list_append(e_config->modules, module);
|
||||
}
|
||||
e_config_save_queue();
|
||||
{ // added sysinfo - not around anymore
|
||||
}
|
||||
CONFIG_VERSION_CHECK(24)
|
||||
{
|
||||
|
@ -1808,6 +1794,12 @@ e_config_load(void)
|
|||
e_config->scale.set_xapp_dpi = 1;
|
||||
e_config_save_queue();
|
||||
}
|
||||
CONFIG_VERSION_CHECK(35)
|
||||
{
|
||||
CONFIG_VERSION_UPDATE_INFO(35);
|
||||
e_config->backlight.ddc = 1;
|
||||
e_config_save_queue();
|
||||
}
|
||||
}
|
||||
elm_config_profile_set(_e_config_profile);
|
||||
if (!e_config->remember_internal_fm_windows)
|
||||
|
@ -1912,6 +1904,8 @@ e_config_load(void)
|
|||
E_CONFIG_LIMIT(e_config->desk_auto_switch, 0, 1);
|
||||
|
||||
E_CONFIG_LIMIT(e_config->screen_limits, 0, 2);
|
||||
E_CONFIG_LIMIT(e_config->thumb_nice, -20, 20);
|
||||
E_CONFIG_LIMIT(e_config->gesture_open_input_devices, 0, 1);
|
||||
|
||||
E_CONFIG_LIMIT(e_config->dpms_enable, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->dpms_standby_enable, 0, 1);
|
||||
|
@ -1992,6 +1986,7 @@ e_config_load(void)
|
|||
E_CONFIG_LIMIT(e_config->backlight.normal, 0.05, 1.0);
|
||||
E_CONFIG_LIMIT(e_config->backlight.dim, 0.05, 1.0);
|
||||
E_CONFIG_LIMIT(e_config->backlight.idle_dim, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->backlight.ddc, 0, 1);
|
||||
|
||||
E_CONFIG_LIMIT(e_config->keyboard.repeat_delay, -1, 1000); // 1 second
|
||||
E_CONFIG_LIMIT(e_config->keyboard.repeat_rate, -1, 1000); // 1 second
|
||||
|
@ -2205,16 +2200,21 @@ e_config_domain_load(const char *domain, E_Config_DD *edd)
|
|||
|
||||
for (i = 1; i <= _e_config_revisions; i++)
|
||||
{
|
||||
e_user_dir_snprintf(buf, sizeof(buf), "config/%s/%s.%i.cfg",
|
||||
e_user_dir_snprintf(buf, sizeof(buf), "config/%s/%s.cfg.%i",
|
||||
_e_config_profile, domain, i);
|
||||
ef = eet_open(buf, EET_FILE_MODE_READ);
|
||||
if (ef)
|
||||
{
|
||||
printf("CF: warning - falling back to %s\n", buf);
|
||||
data = eet_data_read(ef, edd, "config");
|
||||
eet_close(ef);
|
||||
if (data) return data;
|
||||
printf("CF: warning - fallback to %s can't read config\n", buf);
|
||||
}
|
||||
else if (ecore_file_exists(buf))
|
||||
printf("CF: warning - fallback to %s failing to open\n", buf);
|
||||
}
|
||||
printf("CF: fallback to system config config file for [%s]\n", domain);
|
||||
return e_config_domain_system_load(domain, edd);
|
||||
}
|
||||
|
||||
|
@ -2234,6 +2234,7 @@ e_config_domain_system_load(const char *domain, E_Config_DD *edd)
|
|||
eet_close(ef);
|
||||
return data;
|
||||
}
|
||||
printf("CF: system config load for %s failed\n", buf);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ typedef enum
|
|||
/* increment this whenever a new set of config values are added but the users
|
||||
* config doesn't need to be wiped - simply new values need to be put in
|
||||
*/
|
||||
#define E_CONFIG_FILE_GENERATION 34
|
||||
#define E_CONFIG_FILE_GENERATION 35
|
||||
#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH * 1000000) + E_CONFIG_FILE_GENERATION)
|
||||
|
||||
#define E_CONFIG_BINDINGS_VERSION 0 // DO NOT INCREMENT UNLESS YOU WANT TO WIPE ALL BINDINGS!!!!!
|
||||
|
@ -291,6 +291,8 @@ struct _E_Config
|
|||
|
||||
int thumb_nice;
|
||||
|
||||
unsigned char gesture_open_input_devices; // GUI
|
||||
|
||||
int ping_clients_interval; // GUI
|
||||
|
||||
int thumbscroll_enable; // GUI
|
||||
|
@ -371,6 +373,7 @@ struct _E_Config
|
|||
double battery_timer; // GUI
|
||||
const char *sysdev; // GUI
|
||||
unsigned char idle_dim; // GUI
|
||||
unsigned char ddc; // GUI
|
||||
} backlight;
|
||||
|
||||
struct
|
||||
|
|
|
@ -454,8 +454,9 @@ e_desk_last_focused_focus(E_Desk *desk)
|
|||
evas_object_raise(ecs->frame);
|
||||
return ecs;
|
||||
}
|
||||
if (e_client_focused_get())
|
||||
if (e_client_focused_get()) {
|
||||
evas_object_focus_set(e_client_focused_get()->frame, 0);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -79,6 +79,7 @@ _e_deskmirror_visible_get(E_Smart_Data *sd, Mirror *m)
|
|||
*/
|
||||
if (m->sd->handlers && m->ec->iconic)
|
||||
visible = evas_object_visible_get(m->ec->frame);
|
||||
if (m->ec->iconic) visible = EINA_FALSE;
|
||||
if (visible)
|
||||
{
|
||||
visible = (sd->desk == m->ec->desk) || (m->ec->sticky && (!m->ec->hidden));
|
||||
|
@ -592,7 +593,7 @@ _e_deskmirror_mirror_setup(Mirror *m)
|
|||
evas_object_pass_events_set(m->mirror, !m->ec);
|
||||
}
|
||||
if (m->ec) evas_object_data_set(m->mirror, "E_Client", m->ec);
|
||||
evas_object_precise_is_inside_set(m->mirror, m->ec && (m->ec->shaped || m->ec->shaped_input));
|
||||
evas_object_precise_is_inside_set(m->mirror, m->ec && (m->ec->shaped));
|
||||
e_layout_pack(m->sd->layout, m->mirror);
|
||||
_e_deskmirror_mirror_reconfigure(m);
|
||||
if (m->sd->handlers) // no handlers = we're setting up = there's no possible listeners
|
||||
|
|
|
@ -104,6 +104,7 @@ _e_exec_recent_exists_filter(void)
|
|||
{
|
||||
_e_exec_recent->files =
|
||||
eina_list_remove_list(_e_exec_recent->files, l);
|
||||
eina_stringshare_del(fl->file);
|
||||
free(fl);
|
||||
}
|
||||
}
|
||||
|
@ -160,7 +161,7 @@ _e_exec_recent_load(void)
|
|||
}
|
||||
fl->file = eina_stringshare_add(buf);
|
||||
fl->timestamp = (double)timi / 100.0;
|
||||
_e_exec_recent->files = eina_list_prepend(_e_exec_recent->files, fl);
|
||||
_e_exec_recent->files = eina_list_append(_e_exec_recent->files, fl);
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
|
|
|
@ -35,8 +35,9 @@ e_focus_event_mouse_out(E_Client *ec)
|
|||
{
|
||||
if (!ec->lock_focus_in)
|
||||
{
|
||||
if (ec->focused)
|
||||
evas_object_focus_set(ec->frame, 0);
|
||||
if (ec->focused) {
|
||||
e_client_revert_focus(ec);
|
||||
}
|
||||
}
|
||||
}
|
||||
E_FREE_FUNC(ec->raise_timer, ecore_timer_del);
|
||||
|
|
|
@ -1821,7 +1821,6 @@ e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu_gadget
|
|||
else if ((!gcc->style) &&
|
||||
(!e_util_strcmp(gcc->client_class->default_style, E_GADCON_CLIENT_STYLE_PLAIN)))
|
||||
e_menu_item_toggle_set(mi, 1);
|
||||
e_menu_item_disabled_set(mi, mi->toggle);
|
||||
e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_style_plain, gcc);
|
||||
|
||||
mi = e_menu_item_new(mo);
|
||||
|
@ -1834,7 +1833,6 @@ e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu_gadget
|
|||
else if ((!gcc->style) &&
|
||||
(!e_util_strcmp(gcc->client_class->default_style, E_GADCON_CLIENT_STYLE_INSET)))
|
||||
e_menu_item_toggle_set(mi, 1);
|
||||
e_menu_item_disabled_set(mi, mi->toggle);
|
||||
e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_style_inset, gcc);
|
||||
|
||||
mi = e_menu_item_new(menu_gadget);
|
||||
|
|
|
@ -22,6 +22,7 @@ typedef struct {
|
|||
static int gesture_capable_devices = 0;
|
||||
static E_Bindings_Swipe_Live_Update live_update;
|
||||
static void* live_update_data;
|
||||
static Eina_List *handlers = NULL;
|
||||
|
||||
static Swipe_Stats*
|
||||
_find_swipe_gesture_recognizition(Elput_Device *dev)
|
||||
|
@ -208,10 +209,41 @@ _shutdown_for_x11(void)
|
|||
elput_shutdown();
|
||||
}
|
||||
|
||||
static int
|
||||
_detect_vm(void)
|
||||
{
|
||||
static int on_vm = -1;
|
||||
int ret;
|
||||
|
||||
if (on_vm >= 0) return on_vm;
|
||||
ret = system("systemd-detect-virt");
|
||||
if (ret == 0) on_vm = 1;
|
||||
else if (ret == 1) on_vm = 0;
|
||||
else
|
||||
{
|
||||
ret = system("hostnamectl status | grep 'Chassis: vm'");
|
||||
if (ret == 0) on_vm = 1;
|
||||
else if (ret == 1) on_vm = 0;
|
||||
// fallback to assuming not on vm
|
||||
else on_vm = 0;
|
||||
}
|
||||
return on_vm;
|
||||
}
|
||||
|
||||
E_API int
|
||||
e_gesture_init(void)
|
||||
{
|
||||
// we have some bizarre bug on vbox -> this causes xorg to stop displaying
|
||||
// the screen output even though it's rendered and you can grab it through
|
||||
// screenshots, xrandr reports a perfectly well configured display.
|
||||
// somehow using elput to get input devices from logind causes xorg
|
||||
// internally to not handle e's first restart after wizard - as if
|
||||
// the xserver goes into some bixarre internal state - it doesn't report
|
||||
// any errors though. this works around that by just avoiding the gesture
|
||||
// support on vm's - they wont have touchpads anyway as they will emulate
|
||||
// a normal mouse mostly... :)
|
||||
if (_detect_vm()) return 1;
|
||||
|
||||
if (e_comp->comp_type == E_PIXMAP_TYPE_X)
|
||||
{
|
||||
_init_for_x11();
|
||||
|
@ -219,10 +251,10 @@ e_gesture_init(void)
|
|||
|
||||
active_gestures = eina_hash_pointer_new(_stats_free);
|
||||
|
||||
ecore_event_handler_add(ELPUT_EVENT_SWIPE_BEGIN, _swipe_cb, NULL);
|
||||
ecore_event_handler_add(ELPUT_EVENT_SWIPE_UPDATE, _swipe_cb, NULL);
|
||||
ecore_event_handler_add(ELPUT_EVENT_SWIPE_END, _swipe_cb, NULL);
|
||||
ecore_event_handler_add(ELPUT_EVENT_SEAT_CAPS, _debug, NULL);
|
||||
E_LIST_HANDLER_APPEND(handlers, ELPUT_EVENT_SWIPE_BEGIN, _swipe_cb, NULL);
|
||||
E_LIST_HANDLER_APPEND(handlers, ELPUT_EVENT_SWIPE_UPDATE, _swipe_cb, NULL);
|
||||
E_LIST_HANDLER_APPEND(handlers, ELPUT_EVENT_SWIPE_END, _swipe_cb, NULL);
|
||||
E_LIST_HANDLER_APPEND(handlers, ELPUT_EVENT_SEAT_CAPS, _debug, NULL);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -230,6 +262,21 @@ e_gesture_init(void)
|
|||
E_API int
|
||||
e_gesture_shutdown(void)
|
||||
{
|
||||
Ecore_Event_Handler *hand;
|
||||
|
||||
if (_detect_vm()) return 1;
|
||||
|
||||
if (active_gestures)
|
||||
{
|
||||
eina_hash_free(active_gestures);
|
||||
active_gestures = NULL;
|
||||
}
|
||||
|
||||
EINA_LIST_FREE(handlers, hand)
|
||||
{
|
||||
ecore_event_handler_del(hand);
|
||||
}
|
||||
|
||||
if (e_comp->comp_type == E_PIXMAP_TYPE_X)
|
||||
{
|
||||
_shutdown_for_x11();
|
||||
|
|
|
@ -174,6 +174,7 @@ e_icon_file_set(Evas_Object *obj, const char *file)
|
|||
|
||||
if ((sd->url) && (!strcmp(sd->url, file))) return;
|
||||
/* smart code here */
|
||||
sd->edje = EINA_FALSE;
|
||||
_e_icon_obj_prepare(obj, sd);
|
||||
/* FIXME: 64x64 - unhappy about this. use icon size */
|
||||
sd->loading = 0;
|
||||
|
|
|
@ -1059,10 +1059,13 @@ main(int argc, char **argv)
|
|||
e_comp_canvas_keys_grab();
|
||||
TS("E_Comp_Canvas Keys Grab Done");
|
||||
#ifdef HAVE_ELPUT
|
||||
if (e_config->gesture_open_input_devices)
|
||||
{
|
||||
TS("E_Gesture Init");
|
||||
e_gesture_init();
|
||||
TS("E_Gesture Init Done");
|
||||
_e_main_shutdown_push(e_gesture_shutdown);
|
||||
}
|
||||
#endif
|
||||
|
||||
TS("Run Startup Apps");
|
||||
|
@ -1247,7 +1250,7 @@ _e_main_parse_arguments(int argc, char **argv)
|
|||
(!strcmp(argv[i], "--version")))
|
||||
{
|
||||
printf(_("Version: %s\n"), PACKAGE_VERSION);
|
||||
_e_main_shutdown(0);
|
||||
_e_main_shutdown(11);
|
||||
}
|
||||
else if ((!strcmp(argv[i], "-h")) ||
|
||||
(!strcmp(argv[i], "-help")) ||
|
||||
|
@ -1280,7 +1283,7 @@ _e_main_parse_arguments(int argc, char **argv)
|
|||
"\t-version\n"
|
||||
)
|
||||
);
|
||||
_e_main_shutdown(0);
|
||||
_e_main_shutdown(11);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -786,6 +786,7 @@ _e_module_whitelist_check(void)
|
|||
"policy_mobile",
|
||||
"geolocation",
|
||||
"xwayland",
|
||||
"procstats",
|
||||
NULL // end marker
|
||||
};
|
||||
|
||||
|
|
|
@ -16,10 +16,13 @@ static Eina_Bool init = EINA_FALSE;
|
|||
static inline void
|
||||
_e_pointer_theme_buf(E_Pointer *ptr, char cursor[1024])
|
||||
{
|
||||
const char *type = ptr->type;
|
||||
|
||||
if (!type) type = "default";
|
||||
if (ptr->color)
|
||||
snprintf(cursor, 1024, "e/pointer/enlightenment/%s/color", ptr->type);
|
||||
snprintf(cursor, 1024, "e/pointer/enlightenment/%s/color", type);
|
||||
else
|
||||
snprintf(cursor, 1024, "e/pointer/enlightenment/%s/mono", ptr->type);
|
||||
snprintf(cursor, 1024, "e/pointer/enlightenment/%s/mono", type);
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
@ -922,7 +925,9 @@ e_pointer_reset(E_Pointer *ptr)
|
|||
E_FREE_LIST(ptr->stack, _e_pointer_stack_free);
|
||||
|
||||
eina_stringshare_del(ptr->type);
|
||||
ptr->type = NULL;
|
||||
eina_stringshare_del(ptr->deferred_type);
|
||||
ptr->deferred_type = NULL;
|
||||
|
||||
/* reset pointer to default */
|
||||
e_pointer_type_push(ptr, ptr, "default");
|
||||
|
|
|
@ -358,6 +358,19 @@ main(int argc,
|
|||
|
||||
/* local subsystem functions */
|
||||
#ifdef HAVE_EEZE_MOUNT
|
||||
|
||||
static Eina_Bool
|
||||
check_is_num_to_comma(const char *s)
|
||||
{
|
||||
const char *p;
|
||||
|
||||
for (p = s; *p && (*p != ','); p++)
|
||||
{
|
||||
if (!((*p >= '0') && (*p <= '9'))) return EINA_FALSE;
|
||||
}
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
mountopts_check(const char *opts)
|
||||
{
|
||||
|
@ -400,6 +413,8 @@ mountopts_check(const char *opts)
|
|||
{
|
||||
p += 4;
|
||||
errno = 0;
|
||||
|
||||
if (!check_is_num_to_comma(p)) return EINA_FALSE;
|
||||
muid = strtoul(p, &end, 10);
|
||||
if (muid == ULONG_MAX) return EINA_FALSE;
|
||||
if (errno) return EINA_FALSE;
|
||||
|
@ -414,13 +429,53 @@ mountopts_check(const char *opts)
|
|||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
check_is_alpha_num(char c)
|
||||
{
|
||||
if (((c >= '0') && (c <= '9')) ||
|
||||
((c >= 'a') && (c <= 'z')) ||
|
||||
((c >= 'A') && (c <= 'Z'))) return EINA_TRUE;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
check_uuid(const char *uuid)
|
||||
{
|
||||
const char *p;
|
||||
|
||||
for (p = uuid; p[0]; p++)
|
||||
if ((!isalnum(*p)) && (*p != '-')) return EINA_FALSE;
|
||||
{
|
||||
if ((!check_is_alpha_num(*p)) && (*p != '-')) return EINA_FALSE;
|
||||
}
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
check_sane_path(const char *path)
|
||||
{
|
||||
const char *forbidden_ch = "`~!#$%^&*()[]{}|\\;'\"<>?";
|
||||
const char *p;
|
||||
|
||||
if (strstr(path, "..")) return EINA_FALSE; // just don't allow .. anywhere
|
||||
for (p = forbidden_ch; *p; p++) // no invalid chars like above
|
||||
{
|
||||
if (strchr(path, *p)) return EINA_FALSE;
|
||||
}
|
||||
for (p = path; *p; p++) // nothing in lower ascii ctrl chars or high ascii
|
||||
{
|
||||
if ((*p <= ' ') || (*p >= 0x7f)) return EINA_FALSE;
|
||||
}
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
check_sane_dev(const char *dev)
|
||||
{
|
||||
struct stat st;
|
||||
|
||||
if (strncmp(dev, "/dev/", 5)) return EINA_FALSE; // not a /dev file
|
||||
if (!check_sane_path(dev)) return EINA_FALSE;
|
||||
if (stat(dev, &st)) return EINA_FALSE; // must actually exist
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
|
@ -428,9 +483,9 @@ static Eina_Bool
|
|||
mount_args_check(int argc, char **argv, const char *action)
|
||||
{
|
||||
Eina_Bool opts = EINA_FALSE;
|
||||
struct stat st;
|
||||
const char *node;
|
||||
char buf[PATH_MAX];
|
||||
struct stat st;
|
||||
|
||||
if (!strcmp(action, "mount"))
|
||||
{
|
||||
|
@ -451,9 +506,9 @@ mount_args_check(int argc, char **argv, const char *action)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (strncmp(argv[4], "/dev/", 5)) return EINA_FALSE;
|
||||
if (stat(argv[4], &st)) return EINA_FALSE;
|
||||
if (!check_sane_dev(argv[4])) return EINA_FALSE;
|
||||
}
|
||||
if (!check_sane_path(argv[5])) return EINA_FALSE;
|
||||
|
||||
node = strrchr(argv[5], '/');
|
||||
if (!node) return EINA_FALSE;
|
||||
|
@ -468,8 +523,7 @@ mount_args_check(int argc, char **argv, const char *action)
|
|||
/path/to/umount /dev/$devnode
|
||||
*/
|
||||
if (argc != 3) return EINA_FALSE;
|
||||
if (strncmp(argv[2], "/dev/", 5)) return EINA_FALSE;
|
||||
if (stat(argv[2], &st)) return EINA_FALSE;
|
||||
if (!check_sane_dev(argv[2])) return EINA_FALSE;
|
||||
node = strrchr(argv[2], '/');
|
||||
if (!node) return EINA_FALSE;
|
||||
if (!node[1]) return EINA_FALSE;
|
||||
|
@ -488,8 +542,7 @@ mount_args_check(int argc, char **argv, const char *action)
|
|||
/path/to/eject /dev/$devnode
|
||||
*/
|
||||
if (argc != 3) return EINA_FALSE;
|
||||
if (strncmp(argv[2], "/dev/", 5)) return EINA_FALSE;
|
||||
if (stat(argv[2], &st)) return EINA_FALSE;
|
||||
if (!check_sane_dev(argv[2])) return EINA_FALSE;
|
||||
node = strrchr(argv[2], '/');
|
||||
if (!node) return EINA_FALSE;
|
||||
if (!node[1]) return EINA_FALSE;
|
||||
|
@ -545,10 +598,8 @@ auth_action_ok(char *a,
|
|||
*/
|
||||
ret = auth_etc_enlightenment_sysactions(a, usr, grp);
|
||||
if (ret == 1) return 1;
|
||||
else if (ret == -1)
|
||||
return 0;
|
||||
/* the DEFAULT - allow */
|
||||
return 1;
|
||||
else if (ret == -1) return 0;
|
||||
return 0; // no sysactions.conf file found - just say no. bad system
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
|
@ -134,7 +134,23 @@ e_theme_border_find(const char *border)
|
|||
E_API Eina_List *
|
||||
e_theme_border_list(void)
|
||||
{
|
||||
return e_theme_collection_items_find(NULL, "e/widgets/border");
|
||||
Eina_List *list, *l;
|
||||
const char *s;
|
||||
|
||||
list = e_theme_collection_items_find(NULL, "e/widgets/border");
|
||||
// XXX: a horrible hack due to history and bad group naming choices
|
||||
// but filter out volume as a border because it is the volume gadget
|
||||
// thing not a border
|
||||
EINA_LIST_FOREACH(list, l, s)
|
||||
{
|
||||
if (!strcmp(s, "volume"))
|
||||
{
|
||||
list = eina_list_remove_list(list, l);
|
||||
eina_stringshare_del(s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
E_API int
|
||||
|
|
|
@ -153,7 +153,7 @@ _cb_worker_message(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED, void *m
|
|||
|
||||
if (lig->max > 0)
|
||||
{
|
||||
val = ((1000 * lig->val) + 500) / lig->max;
|
||||
val = (1000 * lig->val) / lig->max;
|
||||
if (val < 0) val = 0;
|
||||
else if (val > 1000) val = 1000;
|
||||
}
|
||||
|
|
|
@ -3,13 +3,13 @@ Encoding=UTF-8
|
|||
Type=Application
|
||||
Name=Fingerprint Password Settings
|
||||
Name[de]=Fingerprint Passwort Einstellungen
|
||||
Name[fr]=Reconnaissance des empreintes digitales
|
||||
Name[fr]=Reconnaissance par empreinte digitale
|
||||
Name[it]=Impostazioni impronte digitali
|
||||
Name[pt]=Definições de palavras-passe de impressão digital
|
||||
Icon=enlightenment_fprint
|
||||
Exec=enlightenment_fprint
|
||||
Comment=Tool to set up or modify fingerprint authentication
|
||||
Comment[fr]=Outil pour configurer ou modifier l'authentification par empreintes digitales.
|
||||
Comment[fr]=Outil pour configurer ou modifier l'authentification par empreintes digitales
|
||||
Comment[it]=Utilità per impostare o modificare l'autenticazione mediante sensore di impronte digitali
|
||||
Comment[pt]=Ferramenta para configurar ou modificar a autenticação das impressões digitais
|
||||
GenericName=GUI for Fingerprint Authentication
|
||||
|
|
|
@ -508,7 +508,7 @@ main(int argc, char *argv[])
|
|||
ECORE_GETOPT_VALUE_NONE
|
||||
};
|
||||
int args;
|
||||
char **cmds;
|
||||
char **cmds = NULL;
|
||||
|
||||
args = ecore_getopt_parse(&options, values, argc, argv);
|
||||
if (args < 0)
|
||||
|
|
|
@ -36,7 +36,10 @@ cb_obj_prop_entry(void *data, const void *key, Eldbus_Message_Iter *var)
|
|||
{
|
||||
Eina_Bool val = EINA_FALSE;
|
||||
if (eldbus_message_iter_arguments_get(var, "b", &val))
|
||||
{
|
||||
o->connected = val;
|
||||
printf("BZ: change connected for %s to %i\n", o->address, o->connected);
|
||||
}
|
||||
}
|
||||
else if (!strcmp(skey, "Trusted"))
|
||||
{
|
||||
|
|
|
@ -294,7 +294,7 @@ ebluez5_instances_update(void)
|
|||
static void
|
||||
_device_prop_clean(Config_Device *dev)
|
||||
{
|
||||
if ((!dev->unlock) && (!dev->force_connect))
|
||||
if (!dev->unlock)
|
||||
{
|
||||
ebluez5_config->devices = eina_list_remove(ebluez5_config->devices, dev);
|
||||
eina_stringshare_del(dev->addr);
|
||||
|
@ -332,27 +332,6 @@ ebluez5_device_prop_find(const char *address)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ebluez5_device_prop_force_connect_set(const char *address, Eina_Bool enable)
|
||||
{
|
||||
Config_Device *dev;
|
||||
|
||||
if (!address) return;
|
||||
dev = ebluez5_device_prop_find(address);
|
||||
if (dev)
|
||||
{
|
||||
dev->force_connect = enable;
|
||||
_device_prop_clean(dev);
|
||||
return;
|
||||
}
|
||||
if (enable)
|
||||
{
|
||||
dev = _device_prop_new(address);
|
||||
dev->force_connect = enable;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
ebluez5_device_prop_unlock_set(const char *address, Eina_Bool enable)
|
||||
{
|
||||
|
@ -405,7 +384,6 @@ e_modapi_init(E_Module *m)
|
|||
#define T Config_Device
|
||||
#define D conf_device_edd
|
||||
E_CONFIG_VAL(D, T, addr, STR);
|
||||
E_CONFIG_VAL(D, T, force_connect, UCHAR);
|
||||
E_CONFIG_VAL(D, T, unlock, UCHAR);
|
||||
|
||||
conf_edd = E_CONFIG_DD_NEW("Config", Config);
|
||||
|
@ -438,6 +416,7 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
|
|||
Config_Adapter *ad;
|
||||
Config_Device *dev;
|
||||
|
||||
e_gadcon_provider_unregister(&_gc_class);
|
||||
if (zero_adapters_check_timer)
|
||||
{
|
||||
ecore_timer_del(zero_adapters_check_timer);
|
||||
|
|
|
@ -32,7 +32,6 @@ typedef struct _Config_Device Config_Device;
|
|||
struct _Config_Device
|
||||
{
|
||||
const char *addr;
|
||||
Eina_Bool force_connect;
|
||||
Eina_Bool unlock;
|
||||
};
|
||||
|
||||
|
|
|
@ -43,21 +43,12 @@ _devices_eval(void)
|
|||
if (o->paired)
|
||||
{
|
||||
Eina_Bool need_ping = EINA_FALSE;
|
||||
Obj *adapter = bz_obj_find(o->adapter);
|
||||
|
||||
dev = _devices_conifg_find(o->address);
|
||||
if (dev)
|
||||
if ((dev) && (adapter) && (adapter->powered))
|
||||
{
|
||||
printf("=== dev: %s|%s [%s]\n", dev->addr, o->address, o->name);
|
||||
if ((dev->force_connect) && (!o->connected))
|
||||
{
|
||||
printf("=== %s force con, not conn, ping ok=%i\n", o->address, o->ping_ok);
|
||||
if (o->ping_ok)
|
||||
{
|
||||
printf("=== %s force con, not conn, ping ok=%i\n", o->address, o->ping_ok);
|
||||
bz_obj_connect(o);
|
||||
}
|
||||
else need_ping = EINA_TRUE;
|
||||
}
|
||||
if (dev->unlock)
|
||||
{
|
||||
printf("=== unlock...\n");
|
||||
|
@ -303,24 +294,6 @@ _cb_unlock_stop(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|||
_unflip(o, obj);
|
||||
}
|
||||
|
||||
static void
|
||||
_cb_force_connect_start(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Obj *o = data;
|
||||
ebluez5_device_prop_force_connect_set(o->address, EINA_TRUE);
|
||||
ebluez5_popup_adapter_change(o);
|
||||
_unflip(o, obj);
|
||||
}
|
||||
|
||||
static void
|
||||
_cb_force_connect_stop(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Obj *o = data;
|
||||
ebluez5_device_prop_force_connect_set(o->address, EINA_FALSE);
|
||||
ebluez5_popup_adapter_change(o);
|
||||
_unflip(o, obj);
|
||||
}
|
||||
|
||||
static void
|
||||
_cb_flip(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
|
@ -582,23 +555,6 @@ _cb_dev_content_get(void *data, Evas_Object *obj,
|
|||
}
|
||||
elm_box_pack_end(bx, bt);
|
||||
evas_object_show(bt);
|
||||
|
||||
if ((dev) && (dev->force_connect))
|
||||
{
|
||||
bt = util_button_icon_add(obj, "bt-force-connect-off",
|
||||
_("Stop this device from being forcefully connected"));
|
||||
evas_object_data_set(bt, "genlist", obj);
|
||||
evas_object_smart_callback_add(bt, "clicked", _cb_force_connect_stop, o);
|
||||
}
|
||||
else
|
||||
{
|
||||
bt = util_button_icon_add(obj, "bt-force-connect-on",
|
||||
_("Force this device to be connected when detected"));
|
||||
evas_object_data_set(bt, "genlist", obj);
|
||||
evas_object_smart_callback_add(bt, "clicked", _cb_force_connect_start, o);
|
||||
}
|
||||
elm_box_pack_end(bx, bt);
|
||||
evas_object_show(bt);
|
||||
}
|
||||
if (o->connected)
|
||||
{
|
||||
|
|
|
@ -24,6 +24,7 @@ struct _E_Config_Dialog_Data
|
|||
double error;
|
||||
double length;
|
||||
unsigned int fingers;
|
||||
int gesture_open_input_devices;
|
||||
} locals;
|
||||
struct
|
||||
{
|
||||
|
@ -75,6 +76,15 @@ _auto_apply_changes(E_Config_Dialog_Data *cfdata)
|
|||
E_Action_Group *actg;
|
||||
E_Action_Description *actd;
|
||||
|
||||
if (cfdata->locals.gesture_open_input_devices != e_config->gesture_open_input_devices)
|
||||
{
|
||||
E_Action *act;
|
||||
|
||||
e_config->gesture_open_input_devices = cfdata->locals.gesture_open_input_devices;
|
||||
act = e_action_find("restart");
|
||||
if ((act) && (act->func.go)) act->func.go(NULL, NULL);
|
||||
}
|
||||
|
||||
if ((!cfdata->locals.cur) || (!cfdata->locals.cur[0]) ||
|
||||
(!cfdata->locals.action) || (!cfdata->locals.action[0])) return;
|
||||
|
||||
|
@ -133,6 +143,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
|||
cfdata->locals.source = eina_stringshare_add("");
|
||||
cfdata->locals.cur = NULL;
|
||||
cfdata->locals.dia = NULL;
|
||||
cfdata->locals.gesture_open_input_devices = e_config->gesture_open_input_devices;
|
||||
cfdata->binding.swipe = NULL;
|
||||
|
||||
EINA_LIST_FOREACH(e_bindings->swipe_bindings, l, bi)
|
||||
|
@ -912,7 +923,7 @@ _help_swipe_bindings_cb(void *data EINA_UNUSED, void *data2 EINA_UNUSED)
|
|||
static Evas_Object *
|
||||
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
Evas_Object *o, *ol, *ot, *of, *ob;
|
||||
Evas_Object *o, *ol, *ot, *of, *ob, *oc;
|
||||
|
||||
cfdata->evas = evas;
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
@ -963,6 +974,9 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
|
||||
e_widget_list_object_append(o, ol, 1, 1, 0.5);
|
||||
|
||||
oc = e_widget_check_add(evas, _("Open input devices"), &(cfdata->locals.gesture_open_input_devices));
|
||||
e_widget_list_object_append(o, oc, 1, 1, 0.5);
|
||||
|
||||
_update_swipe_binding_list(cfdata);
|
||||
_fill_actions_list(cfdata);
|
||||
|
||||
|
|
|
@ -289,7 +289,7 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
|||
grp++;
|
||||
}
|
||||
e_widget_toolbook_page_append(otb, NULL, _("Keyboard Layout"), ol,
|
||||
1, 1, 1, 0, 0.0, 0.0);
|
||||
1, 1, 1, 1, 0.0, 0.0);
|
||||
|
||||
/* Login */
|
||||
ol = e_widget_list_add(evas, 0, 0);
|
||||
|
|
|
@ -17,6 +17,7 @@ struct _E_Config_Dialog_Data
|
|||
Evas_Object *backlight_slider_fade;
|
||||
|
||||
int enable_idle_dim;
|
||||
int ddc;
|
||||
|
||||
double backlight_normal;
|
||||
double backlight_dim;
|
||||
|
@ -56,6 +57,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
|||
cfdata->backlight_dim = e_config->backlight.dim * 100.0;
|
||||
cfdata->backlight_transition = e_config->backlight.transition;
|
||||
cfdata->enable_idle_dim = e_config->backlight.idle_dim;
|
||||
cfdata->ddc = e_config->backlight.ddc;
|
||||
cfdata->backlight_timeout = e_config->backlight.timer;
|
||||
cfdata->backlight_battery_timeout = e_config->backlight.battery_timer;
|
||||
}
|
||||
|
@ -87,6 +89,7 @@ _apply_data(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
|
|||
e_config->backlight.timer = lround(cfdata->backlight_timeout);
|
||||
e_config->backlight.battery_timer = lround(cfdata->backlight_battery_timeout);
|
||||
e_config->backlight.idle_dim = cfdata->enable_idle_dim;
|
||||
e_config->backlight.ddc = cfdata->ddc;
|
||||
|
||||
e_backlight_mode_set(NULL, E_BACKLIGHT_MODE_NORMAL);
|
||||
e_backlight_level_set(NULL, e_config->backlight.normal, -1.0);
|
||||
|
@ -121,7 +124,8 @@ _advanced_check_changed(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *
|
|||
(!EINA_DBL_EQ(e_config->backlight.transition, cfdata->backlight_transition)) ||
|
||||
(!EINA_DBL_EQ(e_config->backlight.timer, cfdata->backlight_timeout)) ||
|
||||
(!EINA_DBL_EQ(e_config->backlight.battery_timer, cfdata->backlight_battery_timeout)) ||
|
||||
(e_config->backlight.idle_dim != cfdata->enable_idle_dim);
|
||||
(e_config->backlight.idle_dim != cfdata->enable_idle_dim) ||
|
||||
(e_config->backlight.ddc != cfdata->ddc);
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -152,6 +156,9 @@ _advanced_create_widgets(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_
|
|||
&(cfdata->backlight_dim), NULL, 100);
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
|
||||
ob = e_widget_check_add(evas, _("Desktop Monitor Support (DDC)"), &(cfdata->ddc));
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
|
||||
ob = e_widget_check_add(evas, _("Idle Fade Time"), &(cfdata->enable_idle_dim));
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f second(s)"), 5.0, 300.0, 1.0, 0,
|
||||
|
|
|
@ -1078,7 +1078,7 @@ _e_fwin_page_favorites_add(E_Fwin_Page *page)
|
|||
e_widget_scrollframe_focus_object_set(o, page->flist);
|
||||
|
||||
page->flist_frame = o;
|
||||
evas_object_size_hint_min_set(o, 128, 0);
|
||||
evas_object_size_hint_min_set(o, 128 * e_scale, 0);
|
||||
edje_object_part_swallow(page->fwin->bg_obj, "e.swallow.favorites", o);
|
||||
}
|
||||
|
||||
|
|
|
@ -163,7 +163,10 @@ _e_mod_menu_populate_item(void *data, Eio_File *handler EINA_UNUSED, const Eina_
|
|||
return;
|
||||
}
|
||||
}
|
||||
mime = efreet_mime_type_get(mi->label);
|
||||
mime = efreet_mime_special_type_get(path);
|
||||
|
||||
if (!mime) mime = efreet_mime_globs_type_get(path);
|
||||
if (!mime) mime = efreet_mime_fallback_type_get(path);
|
||||
if (!mime) return;
|
||||
if (!strncmp(mime, "image/", 6))
|
||||
{
|
||||
|
@ -406,7 +409,10 @@ _e_mod_menu_recent_cb(void *data EINA_UNUSED,
|
|||
|
||||
if (file)
|
||||
{
|
||||
const char *mime = efreet_mime_type_get(file);
|
||||
const char *mime = efreet_mime_special_type_get(file);
|
||||
|
||||
if (!mime) mime = efreet_mime_globs_type_get(file);
|
||||
if (!mime) mime = efreet_mime_fallback_type_get(file);
|
||||
|
||||
if (mime)
|
||||
{
|
||||
|
@ -437,13 +443,12 @@ _e_mod_menu_recent_cb(void *data EINA_UNUSED,
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
_e_mod_menu_populate_recent_cb(void *data EINA_UNUSED,
|
||||
E_Menu *m EINA_UNUSED,
|
||||
E_Menu_Item *mi EINA_UNUSED)
|
||||
{
|
||||
Eina_List *l;
|
||||
Eina_List *l, *ll;
|
||||
Eina_List *files = (Eina_List *)e_exec_recent_files_get();
|
||||
E_Exec_Recent_File *fl;
|
||||
E_Menu *subm;
|
||||
|
@ -459,7 +464,10 @@ _e_mod_menu_populate_recent_cb(void *data EINA_UNUSED,
|
|||
fname = ecore_file_file_get(fl->file);
|
||||
if (fname)
|
||||
{
|
||||
const char *mime = efreet_mime_type_get(fl->file);
|
||||
const char *mime = efreet_mime_special_type_get(fl->file);
|
||||
|
||||
if (!mime) mime = efreet_mime_globs_type_get(fl->file);
|
||||
if (!mime) mime = efreet_mime_fallback_type_get(fl->file);
|
||||
|
||||
mi2 = e_menu_item_new(subm);
|
||||
e_menu_item_label_set(mi2, fname);
|
||||
|
@ -469,19 +477,25 @@ _e_mod_menu_populate_recent_cb(void *data EINA_UNUSED,
|
|||
e_menu_item_callback_set(mi2, _e_mod_menu_recent_cb, NULL);
|
||||
if (mime)
|
||||
{
|
||||
const char *icon = NULL;
|
||||
char buf[1024];
|
||||
const char *icon_file, *edje_file;
|
||||
const E_Config_Mime_Icon *minf;
|
||||
|
||||
snprintf(buf, sizeof(buf), "e/icons/fileman/mime/%s", mime);
|
||||
edje_file = e_theme_edje_file_get("base/theme/icons", buf);
|
||||
if (edje_file)
|
||||
EINA_LIST_FOREACH(e_config->mime_icons, ll, minf)
|
||||
{
|
||||
e_menu_item_icon_edje_set(mi2, edje_file, buf);
|
||||
if (!strcmp(minf->mime, mime))
|
||||
{
|
||||
icon = minf->icon;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((icon) && (!strcmp(icon, "THUMB")))
|
||||
e_menu_item_icon_file_set(mi2, fl->file);
|
||||
else
|
||||
{
|
||||
icon_file = efreet_mime_type_icon_get(mime, e_config->icon_theme, 48);
|
||||
e_menu_item_icon_file_set(mi2, icon_file);
|
||||
snprintf(buf, sizeof(buf), "fileman/mime/%s", mime);
|
||||
if (!e_util_menu_item_theme_icon_set(mi2, buf))
|
||||
e_util_menu_item_theme_icon_set(mi2, "fileman/mime/unknown");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -489,7 +503,6 @@ _e_mod_menu_populate_recent_cb(void *data EINA_UNUSED,
|
|||
e_menu_thaw(subm);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
_e_mod_fileman_add_recent(E_Menu *m,
|
||||
Eina_Bool need_separator)
|
||||
|
|
|
@ -1948,10 +1948,21 @@ _ibar_cb_icon_move(void *data, Evas *e, Evas_Object *obj, void *event_info EINA_
|
|||
if (!zone)
|
||||
zone = eina_list_data_get(e_comp->zones);
|
||||
}
|
||||
if ((ic->ibar->inst->orient == E_GADCON_ORIENT_LEFT) ||
|
||||
(ic->ibar->inst->orient == E_GADCON_ORIENT_CORNER_LT) ||
|
||||
(ic->ibar->inst->orient == E_GADCON_ORIENT_CORNER_LB))
|
||||
sig = "e,origin,left";
|
||||
else if ((ic->ibar->inst->orient == E_GADCON_ORIENT_RIGHT) ||
|
||||
(ic->ibar->inst->orient == E_GADCON_ORIENT_CORNER_RT) ||
|
||||
(ic->ibar->inst->orient == E_GADCON_ORIENT_CORNER_RB))
|
||||
sig = "e,origin,right";
|
||||
else
|
||||
{
|
||||
if (chx - (len / 2) < zone->x)
|
||||
sig = "e,origin,left";
|
||||
else if ((chx + (len / 2) > cw) || ((chx + (len / 2) > zone->x + zone->w)))
|
||||
sig = "e,origin,right";
|
||||
}
|
||||
_ibar_icon_signal_emit(ic, sig, "e");
|
||||
}
|
||||
|
||||
|
|
|
@ -62,12 +62,15 @@ _e_msgbus_window_list_cb(const Eldbus_Service_Interface *iface EINA_UNUSED,
|
|||
EINA_LIST_FOREACH(e_comp->clients, l, ec)
|
||||
{
|
||||
Eldbus_Message_Iter *s;
|
||||
const char *name;
|
||||
|
||||
if (e_client_util_ignored_get(ec)) continue;
|
||||
|
||||
eldbus_message_iter_arguments_append(array, "(si)", &s);
|
||||
if (!s) continue;
|
||||
eldbus_message_iter_arguments_append(s, "si", ec->icccm.name,
|
||||
name = ec->icccm.name;
|
||||
if (!name) name = "";
|
||||
eldbus_message_iter_arguments_append(s, "si", name,
|
||||
e_client_util_win_get(ec));
|
||||
eldbus_message_iter_container_close(array, s);
|
||||
}
|
||||
|
|
|
@ -63,8 +63,9 @@ _notification_popup_merge(E_Notification_Notify *n)
|
|||
len = strlen(popup->notif->body);
|
||||
len += strlen(n->body);
|
||||
len += 5; /* \xE2\x80\xA9 or <PS/> */
|
||||
if (len < 8192) body_final = alloca(len + 1);
|
||||
else body_final = malloc(len + 1);
|
||||
body_final = malloc(len + 1);
|
||||
if (body_final)
|
||||
{
|
||||
/* Hack to allow e to include markup */
|
||||
snprintf(body_final, len + 1, "%s<ps/>%s", popup->notif->body, n->body);
|
||||
|
||||
|
@ -74,7 +75,8 @@ _notification_popup_merge(E_Notification_Notify *n)
|
|||
|
||||
e_object_del(E_OBJECT(popup->notif));
|
||||
popup->notif = n;
|
||||
if (len >= 8192) free(body_final);
|
||||
free(body_final);
|
||||
}
|
||||
|
||||
return popup;
|
||||
}
|
||||
|
@ -271,7 +273,6 @@ static Popup_Data *
|
|||
_notification_popup_new(E_Notification_Notify *n, unsigned id)
|
||||
{
|
||||
Popup_Data *popup;
|
||||
char buf[PATH_MAX];
|
||||
Eina_List *l;
|
||||
int pos = next_pos;
|
||||
E_Zone *zone = NULL;
|
||||
|
@ -305,10 +306,7 @@ _notification_popup_new(E_Notification_Notify *n, unsigned id)
|
|||
popup->e = e_comp->evas;
|
||||
|
||||
/* Setup the theme */
|
||||
snprintf(buf, sizeof(buf), "%s/e-module-notification.edj",
|
||||
notification_mod->dir);
|
||||
popup->theme = edje_object_add(popup->e);
|
||||
|
||||
e_theme_edje_object_set(popup->theme,
|
||||
"base/theme/modules/notification",
|
||||
"e/modules/notification/main");
|
||||
|
@ -342,6 +340,7 @@ _notification_popup_new(E_Notification_Notify *n, unsigned id)
|
|||
if (zone == e_comp_object_util_zone_get(popup->win)) continue;
|
||||
o = e_comp_object_util_mirror_add(popup->theme);
|
||||
o = e_comp_object_util_add(o, E_COMP_OBJECT_TYPE_POPUP);
|
||||
edje_object_signal_emit(o, "e,state,shadow,off", "e");
|
||||
evas_object_name_set(o, "notification_mirror");
|
||||
evas_object_data_set(o, "zone", zone);
|
||||
evas_object_geometry_get(popup->win, NULL, NULL, &w, &h);
|
||||
|
@ -488,19 +487,10 @@ _notification_popup_refresh(Popup_Data *popup)
|
|||
|
||||
if (!popup->app_icon)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s/e-module-notification.edj",
|
||||
notification_mod->dir);
|
||||
popup->app_icon = edje_object_add(popup->e);
|
||||
if (!e_theme_edje_object_set(popup->app_icon,
|
||||
e_theme_edje_object_set(popup->app_icon,
|
||||
"base/theme/modules/notification",
|
||||
"e/modules/notification/logo"))
|
||||
if (!e_theme_edje_object_set(popup->app_icon,
|
||||
"base/theme/modules/notification",
|
||||
"modules/notification/logo"))
|
||||
edje_object_file_set(popup->app_icon, buf,
|
||||
"modules/notification/logo");
|
||||
"e/modules/notification/logo");
|
||||
w = width;
|
||||
h = height;
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@ packagekit_icon_update(E_PackageKit_Module_Context *ctxt,
|
|||
count++;
|
||||
break;
|
||||
default:
|
||||
count++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1158,12 +1158,13 @@ _pager_cb_event_desk_show(void *data EINA_UNUSED, int type EINA_UNUSED, void *ev
|
|||
{
|
||||
E_Event_Desk_Show *ev = event;
|
||||
Eina_List *l;
|
||||
Pager *p;
|
||||
Pager *p = NULL;
|
||||
Pager_Popup *pp;
|
||||
Pager_Desk *pd;
|
||||
|
||||
if (!eina_list_count(pagers)) return ECORE_CALLBACK_PASS_ON;
|
||||
|
||||
current_desk = ev->desk;
|
||||
EINA_LIST_FOREACH(pagers, l, p)
|
||||
{
|
||||
if (p->zone != ev->desk->zone) continue;
|
||||
|
@ -1172,20 +1173,29 @@ _pager_cb_event_desk_show(void *data EINA_UNUSED, int type EINA_UNUSED, void *ev
|
|||
|
||||
if (p->popup)
|
||||
edje_object_part_text_set(p->popup->o_bg, "e.text.label", ev->desk->name);
|
||||
break;
|
||||
}
|
||||
|
||||
if ((pager_config->popup) && (!act_popup) &&
|
||||
((ecore_time_get() - _pager_start_time) > 0.5)) //. not at start
|
||||
{
|
||||
if ((pp = _pager_popup_find(ev->desk->zone)))
|
||||
{
|
||||
evas_object_show(pp->popup);
|
||||
pd = _pager_desk_find(pp->pager, current_desk);
|
||||
if (pd) _pager_desk_select(pd);
|
||||
}
|
||||
else
|
||||
{
|
||||
pp = _pager_popup_new(ev->desk->zone, 0, EINA_TRUE);
|
||||
}
|
||||
if (pp->timer)
|
||||
ecore_timer_loop_reset(pp->timer);
|
||||
else
|
||||
pp->timer = ecore_timer_add(pager_config->popup_speed,
|
||||
_pager_popup_cb_timeout, pp);
|
||||
if (p)
|
||||
p->popup = pp;
|
||||
}
|
||||
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
|
@ -1853,6 +1863,17 @@ static Eina_Bool
|
|||
_pager_popup_cb_timeout(void *data)
|
||||
{
|
||||
Pager_Popup *pp = data;
|
||||
Eina_List *l;
|
||||
Pager *p;
|
||||
|
||||
EINA_LIST_FOREACH(pagers, l, p)
|
||||
{
|
||||
if (p->popup == pp)
|
||||
{
|
||||
p->popup = NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
pp->timer = NULL;
|
||||
_pager_popup_free(pp);
|
||||
|
@ -1883,7 +1904,6 @@ static int
|
|||
_pager_popup_show(void)
|
||||
{
|
||||
E_Zone *zone;
|
||||
int x, y, w, h;
|
||||
Pager_Popup *pp;
|
||||
|
||||
if ((act_popup) || (input_window)) return 0;
|
||||
|
@ -1916,7 +1936,6 @@ _pager_popup_show(void)
|
|||
(ECORE_EVENT_MOUSE_WHEEL, _pager_popup_cb_mouse_wheel, NULL));
|
||||
|
||||
act_popup = _pager_popup_new(zone, 1, EINA_FALSE);
|
||||
evas_object_geometry_get(act_popup->pager->o_table, &x, &y, &w, &h);
|
||||
current_desk = e_desk_current_get(zone);
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
#define POLL_INTERVAL 2.0
|
||||
|
||||
static Ecore_Event_Handler *_proc_stats_handler_fullscreen = NULL;
|
||||
|
||||
static int64_t _mem_total;
|
||||
|
||||
typedef struct
|
||||
|
@ -32,6 +34,7 @@ typedef struct
|
|||
uint64_t mem_size;
|
||||
uint64_t cpu_time;
|
||||
uint64_t cpu_time_prev;
|
||||
Eina_Bool was_maximized;
|
||||
} Proc_Stats_Client;
|
||||
|
||||
static void _proc_stats_client_add(E_Client *ec);
|
||||
|
@ -42,6 +45,8 @@ static void _proc_stats_client_del(Proc_Stats_Client *client);
|
|||
static Eina_Bool _proc_stats_client_gone(Proc_Stats_Client *client);
|
||||
static void _proc_stats_client_children_update(Eina_List *children, Proc_Stats_Client *client);
|
||||
static void _proc_stats_client_update(Eina_List *procs, Proc_Stats_Client *client);
|
||||
static void _proc_stats_client_popup_add(Proc_Stats_Client *client);
|
||||
static void _proc_stats_client_popup_del(Proc_Stats_Client *client);
|
||||
|
||||
static Eina_Bool
|
||||
_memory_total(void)
|
||||
|
@ -74,6 +79,28 @@ _memory_total(void)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_proc_stats_handler_fullscreen_check_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
|
||||
{
|
||||
Proc_Stats_Client *client;
|
||||
E_Event_Client *ev;
|
||||
Eina_List *l;
|
||||
Proc_Stats_Module *module = _this_module;
|
||||
|
||||
ev = event;
|
||||
|
||||
EINA_LIST_FOREACH(module->clients, l, client)
|
||||
{
|
||||
if (client->ec == ev->ec)
|
||||
{
|
||||
_proc_stats_client_remove(client);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_proc_stats_client_exists(E_Client *ec)
|
||||
{
|
||||
|
@ -91,8 +118,7 @@ _proc_stats_client_exists(E_Client *ec)
|
|||
static void
|
||||
_proc_stats_client_del(Proc_Stats_Client *client)
|
||||
{
|
||||
if (client->popup) evas_object_del(client->popup);
|
||||
client->popup = NULL;
|
||||
_proc_stats_client_popup_del(client);
|
||||
edje_object_signal_emit(client->frame_obj, "e,state,procstats,off", "e");
|
||||
evas_object_del(client->obj);
|
||||
e_object_delfn_del(E_OBJECT(client->ec), client->delfn);
|
||||
|
@ -110,47 +136,11 @@ _proc_stats_client_del_cb(void *data, void *obj EINA_UNUSED)
|
|||
}
|
||||
|
||||
static void
|
||||
_proc_stats_client_move_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
_proc_stats_client_popup_add(Proc_Stats_Client *client)
|
||||
{
|
||||
Proc_Stats_Client *client;
|
||||
Evas_Coord ox, oy, ow, oh;
|
||||
|
||||
client = data;
|
||||
|
||||
if ((!client) || (!client->popup)) return;
|
||||
|
||||
evas_object_geometry_get(client->obj, &ox, &oy, &ow, &oh);
|
||||
evas_object_move(client->popup, ox + (ow / 2), oy);
|
||||
|
||||
if ((client->ec->hidden) || (client->ec->iconic))
|
||||
evas_object_hide(client->popup);
|
||||
else
|
||||
evas_object_show(client->popup);
|
||||
}
|
||||
|
||||
static void
|
||||
_proc_stats_icon_clicked_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
|
||||
{
|
||||
Evas_Event_Mouse_Up *ev;
|
||||
Proc_Stats_Client *client;
|
||||
Evas_Object *o, *tb;
|
||||
Evas_Object *pb;
|
||||
Evas_Coord ox, oy, ow, oh;
|
||||
|
||||
ev = event_info;
|
||||
client = data;
|
||||
|
||||
if (ev->button != 1) return;
|
||||
|
||||
if (!client) return;
|
||||
|
||||
if (client->popup)
|
||||
{
|
||||
evas_object_del(client->popup);
|
||||
client->popup = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
evas_object_geometry_get(client->obj, &ox, &oy, &ow, &oh);
|
||||
|
||||
client->popup = o = elm_ctxpopup_add(e_comp->elm);
|
||||
|
@ -179,14 +169,94 @@ _proc_stats_icon_clicked_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj
|
|||
|
||||
_proc_stats_client_display_update(client);
|
||||
|
||||
if (client->ec->maximized)
|
||||
{
|
||||
elm_ctxpopup_direction_priority_set(o, ELM_CTXPOPUP_DIRECTION_DOWN,
|
||||
ELM_CTXPOPUP_DIRECTION_UP,
|
||||
ELM_CTXPOPUP_DIRECTION_LEFT,
|
||||
ELM_CTXPOPUP_DIRECTION_RIGHT);
|
||||
evas_object_move(o, ox + (ow / 2), oy + ow);
|
||||
}
|
||||
else
|
||||
{
|
||||
elm_ctxpopup_direction_priority_set(o, ELM_CTXPOPUP_DIRECTION_UP,
|
||||
ELM_CTXPOPUP_DIRECTION_DOWN,
|
||||
ELM_CTXPOPUP_DIRECTION_LEFT,
|
||||
ELM_CTXPOPUP_DIRECTION_RIGHT);
|
||||
evas_object_move(o, ox + (ow / 2), oy);
|
||||
}
|
||||
evas_object_show(o);
|
||||
}
|
||||
|
||||
static void
|
||||
_proc_stats_client_popup_del(Proc_Stats_Client *client)
|
||||
{
|
||||
if (!client) return;
|
||||
|
||||
if (client->popup)
|
||||
evas_object_del(client->popup);
|
||||
client->popup = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
_proc_stats_client_resize_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Proc_Stats_Client *client;
|
||||
|
||||
client = data;
|
||||
|
||||
if ((!client) || (!client->popup)) return;
|
||||
|
||||
if (client->was_maximized != client->ec->maximized)
|
||||
{
|
||||
_proc_stats_client_popup_del(client);
|
||||
_proc_stats_client_popup_add(client);
|
||||
}
|
||||
|
||||
client->was_maximized = client->ec->maximized;
|
||||
}
|
||||
|
||||
static void
|
||||
_proc_stats_client_move_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Proc_Stats_Client *client;
|
||||
Evas_Coord ox, oy, ow, oh;
|
||||
|
||||
client = data;
|
||||
|
||||
if ((!client) || (!client->popup)) return;
|
||||
|
||||
evas_object_geometry_get(client->obj, &ox, &oy, &ow, &oh);
|
||||
evas_object_move(client->popup, ox + (ow / 2), oy);
|
||||
|
||||
if ((client->ec->hidden) || (client->ec->iconic))
|
||||
evas_object_hide(client->popup);
|
||||
else
|
||||
evas_object_show(client->popup);
|
||||
}
|
||||
|
||||
static void
|
||||
_proc_stats_icon_clicked_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
|
||||
{
|
||||
Evas_Event_Mouse_Up *ev;
|
||||
Proc_Stats_Client *client;
|
||||
|
||||
ev = event_info;
|
||||
client = data;
|
||||
|
||||
if (ev->button != 1) return;
|
||||
|
||||
if (!client) return;
|
||||
|
||||
if (client->popup)
|
||||
{
|
||||
_proc_stats_client_popup_del(client);
|
||||
return;
|
||||
}
|
||||
|
||||
_proc_stats_client_popup_add(client);
|
||||
}
|
||||
|
||||
static void
|
||||
_proc_stats_client_add(E_Client *ec)
|
||||
{
|
||||
|
@ -229,6 +299,7 @@ _proc_stats_client_add(E_Client *ec)
|
|||
client->delfn = e_object_delfn_add(E_OBJECT(ec), _proc_stats_client_del_cb, client);
|
||||
evas_object_event_callback_add(client->obj, EVAS_CALLBACK_MOVE, _proc_stats_client_move_cb, client);
|
||||
evas_object_event_callback_add(client->obj, EVAS_CALLBACK_MOUSE_UP, _proc_stats_icon_clicked_cb, client);
|
||||
evas_object_event_callback_add(client->frame_obj, EVAS_CALLBACK_RESIZE, _proc_stats_client_resize_cb, client);
|
||||
|
||||
module->clients = eina_list_append(module->clients, client);
|
||||
}
|
||||
|
@ -458,6 +529,8 @@ e_modapi_init(E_Module *m)
|
|||
//module->sleeper = e_powersave_sleeper_new();
|
||||
module->poll_interval = POLL_INTERVAL;
|
||||
|
||||
_proc_stats_handler_fullscreen = ecore_event_handler_add
|
||||
(E_EVENT_CLIENT_FULLSCREEN, _proc_stats_handler_fullscreen_check_cb, NULL);
|
||||
_proc_stats_thread_feedback_cb(module, NULL, proc_info_all_children_get());
|
||||
|
||||
module->thread = ecore_thread_feedback_run(_proc_stats_thread,
|
||||
|
@ -477,6 +550,9 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
|
|||
|
||||
//e_powersave_sleeper_free(module->sleeper);
|
||||
|
||||
ecore_event_handler_del(_proc_stats_handler_fullscreen);
|
||||
_proc_stats_handler_fullscreen = NULL;
|
||||
|
||||
EINA_LIST_FREE(module->clients, client)
|
||||
_proc_stats_client_del(client);
|
||||
|
||||
|
|
|
@ -89,10 +89,11 @@ _img_write_end_cb(void *data EINA_UNUSED, int ev_type EINA_UNUSED, void *event)
|
|||
|
||||
if (ev->exe != img_write_exe) return EINA_TRUE;
|
||||
_share_done();
|
||||
if (cnp)
|
||||
if ((cnp) && (cnp_file))
|
||||
{
|
||||
_cnp_file(cnp_file);
|
||||
eina_stringshare_replace(&cnp_file, NULL);
|
||||
cnp = EINA_FALSE;
|
||||
}
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
|
|
@ -78,6 +78,7 @@ image_load(const char *name, const char *path, uint32_t *imgdata, int w, int h,
|
|||
{
|
||||
const char **ext, *exts[] =
|
||||
{
|
||||
".svg",
|
||||
".png",
|
||||
".jpg",
|
||||
NULL
|
||||
|
@ -103,7 +104,11 @@ image_load(const char *name, const char *path, uint32_t *imgdata, int w, int h,
|
|||
};
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s/%s", path, *theme);
|
||||
if (!ecore_file_is_dir(buf)) continue;
|
||||
if (!ecore_file_is_dir(buf))
|
||||
{
|
||||
printf("SYSTRAY: icon theme dir [%s] does not exist\n", buf);
|
||||
continue;
|
||||
}
|
||||
for (i = sizes; *i; i++)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/%s/%ux%u", path, *theme, *i, *i);
|
||||
|
@ -113,15 +118,19 @@ image_load(const char *name, const char *path, uint32_t *imgdata, int w, int h,
|
|||
snprintf(buf, sizeof(buf), "%s/%s/%ux%u/status/%s%s", path, *theme, *i, *i, name, *ext);
|
||||
if (ecore_file_exists(buf))
|
||||
{
|
||||
printf("SYSTRAY: actually load [%s] size=%lli\n", buf, ecore_file_size(buf));
|
||||
e_icon_file_set(image, buf);
|
||||
return;
|
||||
}
|
||||
printf("SYSTRAY: image [%s] does not exist\n", buf);
|
||||
snprintf(buf, sizeof(buf), "%s/%s/%ux%u/apps/%s%s", path, *theme, *i, *i, name, *ext);
|
||||
if (ecore_file_exists(buf))
|
||||
{
|
||||
printf("SYSTRAY: actually load [%s] size=%lli\n", buf, ecore_file_size(buf));
|
||||
e_icon_file_set(image, buf);
|
||||
return;
|
||||
}
|
||||
printf("SYSTRAY: image [%s] does not exist\n", buf);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -130,16 +139,23 @@ image_load(const char *name, const char *path, uint32_t *imgdata, int w, int h,
|
|||
snprintf(buf, sizeof(buf), "%s/%s%s", path, name, *ext);
|
||||
if (ecore_file_exists(buf))
|
||||
{
|
||||
printf("SYSTRAY: actually load [%s] size=%lli\n", buf, ecore_file_size(buf));
|
||||
e_icon_file_set(image, buf);
|
||||
return;
|
||||
}
|
||||
printf("SYSTRAY: image [%s] does not exist\n", buf);
|
||||
}
|
||||
}
|
||||
if (name && name[0] && e_util_icon_theme_set(image, name)) return;
|
||||
if (name && name[0] && e_util_icon_theme_set(image, name))
|
||||
{
|
||||
printf("SYSTRAY: set icon theme %s\n", name);
|
||||
return;
|
||||
}
|
||||
if (imgdata)
|
||||
{
|
||||
Evas_Object *o;
|
||||
|
||||
printf("SYSTRAY: set icon custom data %ix%i\n", w, h);
|
||||
o = evas_object_image_filled_add(evas_object_evas_get(image));
|
||||
evas_object_image_alpha_set(o, 1);
|
||||
evas_object_image_size_set(o, w, h);
|
||||
|
@ -147,7 +163,10 @@ image_load(const char *name, const char *path, uint32_t *imgdata, int w, int h,
|
|||
e_icon_image_object_set(image, o);
|
||||
}
|
||||
else
|
||||
{
|
||||
e_util_icon_theme_set(image, "dialog-error");
|
||||
printf("SYSTRAY: icon requested just does not exist - error in client\n");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -778,7 +778,7 @@ _e_winlist_large_item_height_set(Evas_Coord h)
|
|||
edje_object_size_min_calc(ww->bg_object, &mw, &mh);
|
||||
evas_object_size_hint_min_set(ww->bg_object, mw, mh);
|
||||
rowlen += mw;
|
||||
if (rowlen > lw)
|
||||
if ((rowlen > lw) && (mw != rowlen))
|
||||
{
|
||||
rowlen = 0;
|
||||
boxes = elm_box_children_get(bl->data);
|
||||
|
|
|
@ -232,9 +232,7 @@ _create_data(E_Config_Dialog *cfd)
|
|||
static void
|
||||
_list_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
|
||||
{
|
||||
Evas_Object **o;
|
||||
|
||||
o = data;
|
||||
Evas_Object **o = data;
|
||||
|
||||
*o = NULL;
|
||||
}
|
||||
|
@ -246,12 +244,29 @@ _free_data(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
|
|||
|
||||
_xkb.cfd = NULL;
|
||||
|
||||
if (cfdata->compose_list)
|
||||
evas_object_event_callback_del(cfdata->compose_list, EVAS_CALLBACK_DEL, _list_del);
|
||||
if (cfdata->lv3_list)
|
||||
evas_object_event_callback_del(cfdata->lv3_list, EVAS_CALLBACK_DEL, _list_del);
|
||||
if (cfdata->switch_list)
|
||||
evas_object_event_callback_del(cfdata->switch_list, EVAS_CALLBACK_DEL, _list_del);
|
||||
#define FRAME_DEL(list) \
|
||||
if (list) { \
|
||||
evas_object_del(list); \
|
||||
list = NULL; \
|
||||
}
|
||||
FRAME_DEL(cfdata->compose_list);
|
||||
FRAME_DEL(cfdata->lv3_list);
|
||||
FRAME_DEL(cfdata->switch_list);
|
||||
FRAME_DEL(cfdata->led_list);
|
||||
FRAME_DEL(cfdata->ctrl_list);
|
||||
FRAME_DEL(cfdata->keypad_list);
|
||||
FRAME_DEL(cfdata->delkeypad_list);
|
||||
FRAME_DEL(cfdata->capslock_list);
|
||||
FRAME_DEL(cfdata->altwin_list);
|
||||
FRAME_DEL(cfdata->currency_list);
|
||||
FRAME_DEL(cfdata->lv5_list);
|
||||
FRAME_DEL(cfdata->spacebar_list);
|
||||
FRAME_DEL(cfdata->japan_list);
|
||||
FRAME_DEL(cfdata->korean_list);
|
||||
FRAME_DEL(cfdata->esperanto_list);
|
||||
FRAME_DEL(cfdata->solaris_list);
|
||||
FRAME_DEL(cfdata->terminate_list);
|
||||
FRAME_DEL(cfdata->misc_list);
|
||||
|
||||
EINA_LIST_FREE(cfdata->cfg_layouts, cl)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue