func TestHidden(t *testing.T) { SetLogger(liblog.NewLog(liblog.Logs)) altConfigPath := "" confdir := cdglobal.ConfigDirDock(altConfigPath) hidden := loadHidden(confdir) fmt.Println(hidden.DefaultBackend) fmt.Println(hidden.LastVersion) fmt.Println(hidden.LastYear) fmt.Println(hidden.SessionWasUsed) }
// Init is the first step to initialize the dock. // func (settings *DockSettings) Init() { confdir := cdglobal.ConfigDirDock(settings.UserDefinedDataDir) settings.isFirstLaunch = !files.IsExist(confdir) // TODO: need test is dir. hidden := loadHidden(confdir) settings.isNewVersion = hidden.LastVersion != globals.Version() settings.sessionWasUsed = hidden.SessionWasUsed // MISSING // //\___________________ build the command line used to respawn, and check if we have been launched from another life. // mute all output messages if CD is not launched from a terminal // if (getenv("TERM") == NULL) /// why not isatty(stdout) ?... // g_set_print_handler(PrintMuteFunc); gldi.DbusGThreadInit() // it's a wrapper: it will use dbus_threads_init_default (); gtk.Init(nil) //\___________________ C dock log. if settings.Verbosity != "" { gldi.LogSetLevelFromName(settings.Verbosity) } if settings.ForceColor { gldi.LogForceUseColor() } //\___________________ delay the startup if specified. if settings.Delay > 0 { <-time.After(time.Duration(settings.Delay) * time.Second) } //\___________________ initialize libgldi. var rendering gldi.RenderingMethod switch { case settings.ForceOpenGL: rendering = gldi.RenderingOpenGL case settings.ForceCairo: rendering = gldi.RenderingCairo default: rendering = gldi.RenderingDefault } gldi.Init(int(rendering)) //\___________________ set custom user options. if settings.KeepAbove { gldi.ForceDocksAbove() } if settings.NoSticky { gldi.SetContainersNonSticky() } if settings.MetacityWorkaround { gldi.DisableContainersOpacity() } env := DesktopEnvironment(settings.Env) if env != gldi.DeskEnvUnknown { gldi.FMForceDeskEnv(env) } if settings.IndirectOpenGL { gldi.GLBackendForceIndirectRendering() } if settings.ThemeServer == "" { settings.ThemeServer = cdglobal.DownloadServerURL } gldi.SetPaths(confdir, // will later be available as DirDockData (g_cCairoDockDataDir) cdglobal.ConfigDirExtras, cdglobal.ConfigDirDockThemes, cdglobal.ConfigDirCurrentTheme, cdglobal.CairoDockShareThemesDir, cdglobal.DockThemeServerTag, settings.ThemeServer) about.Img = globals.DirShareData(cdglobal.ConfigDirDockImages, cdglobal.FileCairoDockLogo) //\___________________ Check that OpenGL is safely usable, if not ask the user what to do. // Unsafe OpenGL requires to be confirmed to use (need forced in conf or user validation). if settings.AskBackend || (gldi.GLBackendIsUsed() && !gldi.GLBackendIsSafe() && !settings.ForceOpenGL && !settings.IndirectOpenGL) { if settings.AskBackend || hidden.DefaultBackend == "" { // no backend defined. dialogAskBackend() } else if hidden.DefaultBackend != "opengl" { // disable opengl if unused, revert to cairo. gldi.GLBackendDeactivate() } } // Remove excluded applets. for _, name := range settings.Exclude { cdtype.Applets.Unregister(name) } //\___________________ load plug-ins (must be done after everything is initialized). if !settings.SafeMode { err := gldi.ModulesNewFromDirectory("") log.Err(err, "no module will be available") if settings.ModulesDir != "" { err := gldi.ModulesNewFromDirectory(settings.ModulesDir) log.Err(err, "no additionnal module will be available") } } }