summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_config_global.eo
blob: 2114036039fd9038c118a3c55bc03b35e15c1e59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
class Efl.Config.Global (Efl.Object, Efl.Config)
{
   [[This class is a singleton representing the global configuration for the
     running application.
   ]]
   data: null;
   eo_prefix: efl_config;
   methods {
      save @protected {
         [[Saves Elementary configuration to disk.

           This function will take effect (does I/O) immediately. Use it when
           you want to save all configuration changes at once. The current
           configuration set will get saved onto the current profile
           configuration file.

           If $profile is $null, this will flush all settings to all
           applications running on the same profile.

           If $profile is not $null, this will take the current in-memory
           config and write it out to the named $profile. This will not
           change profile for the application or make other processes switch
           profile.
         ]]
         params {
            profile: string @optional; [[The profile name.]]
         }
         return: bool; [[$true on success, $false otherwise]]
      }
      @property profile {
         [[The profile for the running application.

           Profiles are pre-set options that affect the whole look-and-feel of
           Elementary-based applications. There are, for example, profiles
           aimed at desktop computer applications and others aimed at mobile,
           touchscreen-based ones. You most probably don't want to use the
           functions in this group unless you're writing an elementary
           configuration manager.

           This gets or sets the global profile that is applied to all
           Elementary applications.
         ]]
         values {
            profile: string; [[Profile name]]
         }
      }
      profile_iterate {
         [[Returns the list of available profiles.]]
         params {
            hidden: bool @optional; [[If $true, gets the full list of profiles,
                                      including those stored in hidden files.]]
         }
         return: iterator<string> @owned; [[Iterator to profiles]]
      }
      profile_exists {
         [[Returns whether a profile exists or not.]]
         params {
            profile: string; [[Profile name]]
         }
         return: bool; [[$true if profile exists, $false otherwise]]
      }
      profile_dir_get {
         [[Returns the directory where a profile is stored.]]
         params {
            profile: string; [[Profile name]]
            is_user: bool; [[$true to lookup for a user profile or $false for
                             a system one.]]
         }
         return: stringshare @owned; [[Directory of the profile, free after use.]]
      }
      profile_derived_add @protected {
         [[Add a new profile of the given name to be derived from the current
           profile.

           This creates a new profile of name $profile that will be derived
           from the currently used profile using the modification commands
           encoded in the $options string.

           At this point it is not expected that anyone would generally use
           this API except if you are a destktop environment and so the user
           base of this API will be enlightenment itself.

           @since 1.17
         ]]
         params {
            profile: string; [[The new profile's name.]]
            options: string; [[Derive options detailing how to modify.]]
         }
      }
      profile_derived_del @protected {
         [[Deletes a profile that is derived from the current one.

           This deletes a derived profile added by @.profile_derived_add.
           This will delete the profile of the given name $profile that is
           derived from the current profile.

           At this point it is not expected that anyone would generally use
           this API except if you are a destktop environment and so the user
           base of this API will be enlightenment itself.

           @since 1.17
         ]]
         params {
            profile: string; [[The name of the profile that is to be deleted.]]
         }
      }
   }
   implements {
      Efl.Config.config { get; set; }
   }
}