mconnect - KDE Connect protocol implementation in Vala/C
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.0 KiB

  1. // Licensed under the Apache License, Version 2.0 (the "License");
  2. // you may not use this file except in compliance with the License.
  3. // You may obtain a copy of the License at
  4. //
  5. // http://www.apache.org/licenses/LICENSE-2.0
  6. //
  7. // Unless required by applicable law or agreed to in writing, software
  8. // distributed under the License is distributed on an "AS IS" BASIS,
  9. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. // See the License for the specific language governing permissions and
  11. // limitations under the License.
  12. package dirs
  13. import (
  14. "os/user"
  15. "path"
  16. )
  17. var userHome string
  18. func UserHome() string {
  19. if userHome == "" {
  20. user, _ := user.Current()
  21. if user != nil {
  22. userHome = user.HomeDir
  23. }
  24. }
  25. return userHome
  26. }
  27. func UserCache() string {
  28. return path.Join(UserHome(), ".cache", "mconnect")
  29. }
  30. func UserConfig() string {
  31. return path.Join(UserHome(), ".config", "mconnect")
  32. }
  33. func UserData() string {
  34. return path.Join(UserHome(), ".local", "share", "mconnect")
  35. }