not1mm 23.5.24__tar.gz → 23.5.26.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. {not1mm-23.5.24 → not1mm-23.5.26.1}/PKG-INFO +27 -17
  2. {not1mm-23.5.24 → not1mm-23.5.26.1}/README.md +26 -16
  3. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/__main__.py +10 -56
  4. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/bandmap.py +0 -3
  5. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/main.ui +0 -2
  6. not1mm-23.5.26.1/not1mm/lib/version.py +2 -0
  7. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/logwindow.py +0 -2
  8. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/PKG-INFO +27 -17
  9. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/SOURCES.txt +0 -1
  10. {not1mm-23.5.24 → not1mm-23.5.26.1}/pyproject.toml +1 -1
  11. not1mm-23.5.24/not1mm/data/Combinear.qss +0 -995
  12. not1mm-23.5.24/not1mm/lib/version.py +0 -2
  13. {not1mm-23.5.24 → not1mm-23.5.26.1}/LICENSE +0 -0
  14. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/__init__.py +0 -0
  15. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
  16. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/MASTER.SCP +0 -0
  17. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/about.ui +0 -0
  18. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  19. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/bandmap.ui +0 -0
  20. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/check.png +0 -0
  21. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/configuration.ui +0 -0
  22. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/contests.sql +0 -0
  23. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/cty.json +0 -0
  24. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/cwmacros.txt +0 -0
  25. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/donors.html +0 -0
  26. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/editcontact.ui +0 -0
  27. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/editmacro.ui +0 -0
  28. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/greendot.png +0 -0
  29. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/k6gte-not1mm.desktop +0 -0
  30. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/k6gte.not1mm-128.png +0 -0
  31. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/k6gte.not1mm-32.png +0 -0
  32. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/k6gte.not1mm-64.png +0 -0
  33. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/logwindow.ui +0 -0
  34. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/new_contest.ui +0 -0
  35. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/opon.ui +0 -0
  36. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/0.wav +0 -0
  37. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/1.wav +0 -0
  38. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/2.wav +0 -0
  39. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/3.wav +0 -0
  40. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/4.wav +0 -0
  41. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/5.wav +0 -0
  42. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/6.wav +0 -0
  43. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/7.wav +0 -0
  44. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/73.wav +0 -0
  45. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/8.wav +0 -0
  46. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/9.wav +0 -0
  47. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/a.wav +0 -0
  48. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/again.wav +0 -0
  49. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/b.wav +0 -0
  50. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/c.wav +0 -0
  51. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/contest.wav +0 -0
  52. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/cq.wav +0 -0
  53. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/d.wav +0 -0
  54. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/e.wav +0 -0
  55. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/f.wav +0 -0
  56. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/g.wav +0 -0
  57. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/h.wav +0 -0
  58. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/i.wav +0 -0
  59. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/j.wav +0 -0
  60. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/k.wav +0 -0
  61. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/k6gte.wav +0 -0
  62. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/l.wav +0 -0
  63. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/m.wav +0 -0
  64. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/mynumber.wav +0 -0
  65. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/n.wav +0 -0
  66. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/nil.wav +0 -0
  67. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/o.wav +0 -0
  68. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/p.wav +0 -0
  69. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/q.wav +0 -0
  70. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/r.wav +0 -0
  71. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/roger.wav +0 -0
  72. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/s.wav +0 -0
  73. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/space.wav +0 -0
  74. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/t.wav +0 -0
  75. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/thankyou.wav +0 -0
  76. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  77. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/u.wav +0 -0
  78. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/v.wav +0 -0
  79. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/w.wav +0 -0
  80. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/x.wav +0 -0
  81. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/y.wav +0 -0
  82. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/yourcall.wav +0 -0
  83. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/phonetics/z.wav +0 -0
  84. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/pickcontest.ui +0 -0
  85. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/reddot.png +0 -0
  86. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/settings.ui +0 -0
  87. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/data/ssbmacros.txt +0 -0
  88. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/__init__.py +0 -0
  89. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/about.py +0 -0
  90. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/cat_interface.py +0 -0
  91. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/cwinterface.py +0 -0
  92. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/database.py +0 -0
  93. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/edit_contact.py +0 -0
  94. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/edit_macro.py +0 -0
  95. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/edit_opon.py +0 -0
  96. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/edit_station.py +0 -0
  97. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/ham_utility.py +0 -0
  98. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/lookup.py +0 -0
  99. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/multicast.py +0 -0
  100. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/n1mm.py +0 -0
  101. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/new_contest.py +0 -0
  102. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/select_contest.py +0 -0
  103. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/settings.py +0 -0
  104. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/lib/versiontest.py +0 -0
  105. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/10_10_fall_cw.py +0 -0
  106. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/10_10_spring_cw.py +0 -0
  107. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/10_10_summer_phone.py +0 -0
  108. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/10_10_winter_phone.py +0 -0
  109. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/__init__.py +0 -0
  110. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_dx_cw.py +0 -0
  111. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  112. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_field_day.py +0 -0
  113. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  114. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_ss_cw.py +0 -0
  115. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/arrl_ss_phone.py +0 -0
  116. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/cq_wpx_cw.py +0 -0
  117. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  118. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/cq_ww_cw.py +0 -0
  119. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/cq_ww_ssb.py +0 -0
  120. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/cwt.py +0 -0
  121. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/general_logging.py +0 -0
  122. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/jidx_cw.py +0 -0
  123. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/jidx_ph.py +0 -0
  124. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/plugins/winter_field_day.py +0 -0
  125. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/testing/fakeflrig.py +0 -0
  126. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/testing/flrigclient.py +0 -0
  127. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/testing/n1mm_listener.py +0 -0
  128. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm/testing/test.py +0 -0
  129. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/dependency_links.txt +0 -0
  130. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/entry_points.txt +0 -0
  131. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/requires.txt +0 -0
  132. {not1mm-23.5.24 → not1mm-23.5.26.1}/not1mm.egg-info/top_level.txt +0 -0
  133. {not1mm-23.5.24 → not1mm-23.5.26.1}/setup.cfg +0 -0
  134. {not1mm-23.5.24 → not1mm-23.5.26.1}/testing/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 23.5.24
3
+ Version: 23.5.26.1
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/mbridak/not1mm
@@ -38,10 +38,11 @@ License-File: LICENSE
38
38
  - [Ubuntu 23.04](#ubuntu-2304)
39
39
  - [Fedora 38](#fedora-38)
40
40
  - [You may or may not get a warning message like](#you-may-or-may-not-get-a-warning-message-like)
41
+ - [Or this fan favorite](#or-this-fan-favorite)
41
42
  - [Updating with pip/pipx](#updating-with-pippipx)
42
43
  - [Other Libraries](#other-libraries)
43
- - [Running on Ubuntu LTS 22.04](#running-on-ubuntu-lts-2204)
44
44
  - [Dark mode on Ubuntu](#dark-mode-on-ubuntu)
45
+ - [Wayland Compositor](#wayland-compositor)
45
46
  - [Running from source](#running-from-source)
46
47
  - [Various data file locations](#various-data-file-locations)
47
48
  - [Data](#data)
@@ -124,6 +125,7 @@ The current state is "**BETA**". I've used it for A few contests, and was able t
124
125
 
125
126
  ## Changes of note
126
127
 
128
+ - [23-5-26] Fixed Dark Mode on Ubuntu. Removed the crappy dark css theme and the code to load it.
127
129
  - [23-5-24] Added contact delete and change n1mm packets.
128
130
  - [23-5-23] Reworked N1MM packets. Can now specify multiple destinations for the packets.
129
131
  - [23-5-22] Worked on n1mm contactinfo packets. Reduced network beaconing from 100 miliseconds to 10 seconds, Unless the radio state changes.
@@ -220,7 +222,7 @@ I've included what installation steps I took to install on fresh images of Ubunt
220
222
  ```bash
221
223
  sudo apt update
222
224
  sudo apt upgrade
223
- sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy
225
+ sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy adwaita-qt
224
226
  pip install -U not1mm
225
227
  ```
226
228
 
@@ -253,21 +255,13 @@ Consider adding this directory to PATH or, if you prefer to suppress this warnin
253
255
 
254
256
  If you do, just logout and back in, or reboot.
255
257
 
256
- ### Updating with pip/pipx
257
-
258
- I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
259
-
260
- ## Other Libraries
261
-
262
- The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
263
-
264
- ## Running on Ubuntu LTS 22.04
265
-
266
- Seems Ubuntu LTS is not a big fan of wayland. When launching from the command line you'll see a message:
258
+ ### Or this fan favorite
267
259
 
268
- `Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
260
+ ```text
261
+ Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
269
262
  qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
270
- This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.`
263
+ This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
264
+ ```
271
265
 
272
266
  To avoid this you can export an environment variable and launch the app like this:
273
267
 
@@ -275,9 +269,21 @@ To avoid this you can export an environment variable and launch the app like thi
275
269
 
276
270
  For a more permanent solution you can place the line `export QT_QPA_PLATFORM=wayland` in your home directories .bashrc file. Then after logging out and back in you should be able to launch it normally.
277
271
 
272
+ ### Updating with pip/pipx
273
+
274
+ I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
275
+
276
+ ## Other Libraries
277
+
278
+ The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
279
+
278
280
  ### Dark mode on Ubuntu
279
281
 
280
- For some reason PyQt apps on Ubuntu Gnome don't respect the Dark/Light appearance settings. Fedora Gnome does. I haven't been able to figure out what secret sauce Fedora is using to make this happen. So you can go to `View`>`Force Dark Mode` to load in a dark stylesheet. I personally think it looks like ass, but ass is in the eye of the beholder.
282
+ I believe I figured out dark mode in Ubuntu and have it working on my shack PC that runs Ubuntu 22.04. The secret sauce seems to be installing adwaita-qt with apt, and setting an environment variable `QT_STYLE_OVERRIDE` to `Adwaita-Dark`. I set the environment variable in the start of the program if running on a Gnome platform. So you don't need to do that part.
283
+
284
+ ## Wayland Compositor
285
+
286
+ One side effect of Wayland is that we are not able to request for a window to regain or retain focus. So if you were to click on a spot in the bandmap window to tune to that spot, you would have to then click on the main window to continue entering contest data. I'm aware of this, but i can not change it.
281
287
 
282
288
  ## Running from source
283
289
 
@@ -398,8 +404,12 @@ Under the `CW` TAB, There are three options. `cwdaemon`, which normally uses IP
398
404
 
399
405
  ### N1MM Packets
400
406
 
407
+ Work has started on N1MM udp packets. So far just RadioInfo, contactinfo, contactreplace and contactdelete.
408
+
401
409
  ![N1MM Packet Configuration Screen](https://github.com/mbridak/not1mm/blob/master/pic/n1mm_packet_config.png?raw=true)
402
410
 
411
+ When entering IP and Ports, enter them with a colon ':' between them. You can enter multiple pairs on the same line if separated by a space ' '.
412
+
403
413
  ## Hiding screen elements
404
414
 
405
415
  You can show or hide certain buttons/indicators by checking and unchecking their boxes under the view menu. You can then resize the screen to make it more compact.
@@ -19,10 +19,11 @@
19
19
  - [Ubuntu 23.04](#ubuntu-2304)
20
20
  - [Fedora 38](#fedora-38)
21
21
  - [You may or may not get a warning message like](#you-may-or-may-not-get-a-warning-message-like)
22
+ - [Or this fan favorite](#or-this-fan-favorite)
22
23
  - [Updating with pip/pipx](#updating-with-pippipx)
23
24
  - [Other Libraries](#other-libraries)
24
- - [Running on Ubuntu LTS 22.04](#running-on-ubuntu-lts-2204)
25
25
  - [Dark mode on Ubuntu](#dark-mode-on-ubuntu)
26
+ - [Wayland Compositor](#wayland-compositor)
26
27
  - [Running from source](#running-from-source)
27
28
  - [Various data file locations](#various-data-file-locations)
28
29
  - [Data](#data)
@@ -105,6 +106,7 @@ The current state is "**BETA**". I've used it for A few contests, and was able t
105
106
 
106
107
  ## Changes of note
107
108
 
109
+ - [23-5-26] Fixed Dark Mode on Ubuntu. Removed the crappy dark css theme and the code to load it.
108
110
  - [23-5-24] Added contact delete and change n1mm packets.
109
111
  - [23-5-23] Reworked N1MM packets. Can now specify multiple destinations for the packets.
110
112
  - [23-5-22] Worked on n1mm contactinfo packets. Reduced network beaconing from 100 miliseconds to 10 seconds, Unless the radio state changes.
@@ -201,7 +203,7 @@ I've included what installation steps I took to install on fresh images of Ubunt
201
203
  ```bash
202
204
  sudo apt update
203
205
  sudo apt upgrade
204
- sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy
206
+ sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy adwaita-qt
205
207
  pip install -U not1mm
206
208
  ```
207
209
 
@@ -234,21 +236,13 @@ Consider adding this directory to PATH or, if you prefer to suppress this warnin
234
236
 
235
237
  If you do, just logout and back in, or reboot.
236
238
 
237
- ### Updating with pip/pipx
238
-
239
- I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
240
-
241
- ## Other Libraries
242
-
243
- The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
244
-
245
- ## Running on Ubuntu LTS 22.04
246
-
247
- Seems Ubuntu LTS is not a big fan of wayland. When launching from the command line you'll see a message:
239
+ ### Or this fan favorite
248
240
 
249
- `Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
241
+ ```text
242
+ Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
250
243
  qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
251
- This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.`
244
+ This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
245
+ ```
252
246
 
253
247
  To avoid this you can export an environment variable and launch the app like this:
254
248
 
@@ -256,9 +250,21 @@ To avoid this you can export an environment variable and launch the app like thi
256
250
 
257
251
  For a more permanent solution you can place the line `export QT_QPA_PLATFORM=wayland` in your home directories .bashrc file. Then after logging out and back in you should be able to launch it normally.
258
252
 
253
+ ### Updating with pip/pipx
254
+
255
+ I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
256
+
257
+ ## Other Libraries
258
+
259
+ The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
260
+
259
261
  ### Dark mode on Ubuntu
260
262
 
261
- For some reason PyQt apps on Ubuntu Gnome don't respect the Dark/Light appearance settings. Fedora Gnome does. I haven't been able to figure out what secret sauce Fedora is using to make this happen. So you can go to `View`>`Force Dark Mode` to load in a dark stylesheet. I personally think it looks like ass, but ass is in the eye of the beholder.
263
+ I believe I figured out dark mode in Ubuntu and have it working on my shack PC that runs Ubuntu 22.04. The secret sauce seems to be installing adwaita-qt with apt, and setting an environment variable `QT_STYLE_OVERRIDE` to `Adwaita-Dark`. I set the environment variable in the start of the program if running on a Gnome platform. So you don't need to do that part.
264
+
265
+ ## Wayland Compositor
266
+
267
+ One side effect of Wayland is that we are not able to request for a window to regain or retain focus. So if you were to click on a spot in the bandmap window to tune to that spot, you would have to then click on the main window to continue entering contest data. I'm aware of this, but i can not change it.
262
268
 
263
269
  ## Running from source
264
270
 
@@ -379,8 +385,12 @@ Under the `CW` TAB, There are three options. `cwdaemon`, which normally uses IP
379
385
 
380
386
  ### N1MM Packets
381
387
 
388
+ Work has started on N1MM udp packets. So far just RadioInfo, contactinfo, contactreplace and contactdelete.
389
+
382
390
  ![N1MM Packet Configuration Screen](https://github.com/mbridak/not1mm/blob/master/pic/n1mm_packet_config.png?raw=true)
383
391
 
392
+ When entering IP and Ports, enter them with a colon ':' between them. You can enter multiple pairs on the same line if separated by a space ' '.
393
+
384
394
  ## Hiding screen elements
385
395
 
386
396
  You can show or hide certain buttons/indicators by checking and unchecking their boxes under the view menu. You can then resize the screen to make it more compact.
@@ -61,27 +61,27 @@ from not1mm.lib.n1mm import N1MM
61
61
  from not1mm.lib.version import __version__
62
62
  from not1mm.lib.versiontest import VersionTest
63
63
 
64
- os.environ["QT_QPA_PLATFORMTHEME"] = "gnome"
65
- # os.environ["QT_STYLE_OVERRIDE"] = "adwaita"
64
+ # gsettings get org.gnome.desktop.interface color-scheme
65
+ # os.environ["QT_QPA_PLATFORM"] = "wayland"
66
+
67
+ if os.environ.get("XDG_CURRENT_DESKTOP", False) == "GNOME":
68
+ os.environ["QT_QPA_PLATFORMTHEME"] = "gnome"
69
+ os.environ["QT_STYLE_OVERRIDE"] = "Adwaita-Dark"
66
70
 
67
71
  loader = pkgutil.get_loader("not1mm")
68
72
  WORKING_PATH = os.path.dirname(loader.get_filename())
69
73
 
70
- if "XDG_DATA_HOME" in os.environ:
71
- DATA_PATH = os.environ.get("XDG_DATA_HOME")
72
- else:
73
- DATA_PATH = str(Path.home() / ".local" / "share")
74
+ DATA_PATH = os.environ.get("XDG_DATA_HOME", str(Path.home() / ".local" / "share"))
74
75
  DATA_PATH += "/not1mm"
76
+
75
77
  try:
76
78
  os.mkdir(DATA_PATH)
77
79
  except FileExistsError:
78
80
  ...
79
81
 
80
- if "XDG_CONFIG_HOME" in os.environ:
81
- CONFIG_PATH = os.environ.get("XDG_CONFIG_HOME")
82
- else:
83
- CONFIG_PATH = str(Path.home() / ".config")
82
+ CONFIG_PATH = os.environ.get("XDG_CONFIG_HOME", str(Path.home() / ".config"))
84
83
  CONFIG_PATH += "/not1mm"
84
+
85
85
  try:
86
86
  os.mkdir(CONFIG_PATH)
87
87
  except FileExistsError:
@@ -92,11 +92,6 @@ CTYFILE = {}
92
92
  with open(WORKING_PATH + "/data/cty.json", "rt", encoding="utf-8") as c_file:
93
93
  CTYFILE = loads(c_file.read())
94
94
 
95
- DARK_STYLESHEET = ""
96
-
97
- with open(WORKING_PATH + "/data/Combinear.qss", encoding="utf-8") as stylefile:
98
- DARK_STYLESHEET = stylefile.read()
99
-
100
95
  poll_time = datetime.now()
101
96
 
102
97
 
@@ -135,7 +130,6 @@ class MainWindow(QtWidgets.QMainWindow):
135
130
  "lookupusername": "username",
136
131
  "lookuppassword": "password",
137
132
  "run_state": True,
138
- "dark_mode": False,
139
133
  "command_buttons": False,
140
134
  "cw_macros": True,
141
135
  "bands_modes": True,
@@ -215,7 +209,6 @@ class MainWindow(QtWidgets.QMainWindow):
215
209
 
216
210
  self.actionCW_Macros.triggered.connect(self.cw_macros_state_changed)
217
211
  self.actionCommand_Buttons.triggered.connect(self.command_buttons_state_change)
218
- self.actionDark_Mode.triggered.connect(self.dark_mode_state_change)
219
212
  self.actionLog_Window.triggered.connect(self.launch_log_window)
220
213
  self.actionBandmap.triggered.connect(self.launch_bandmap_window)
221
214
  self.actionRecalculate_Mults.triggered.connect(self.recalculate_mults)
@@ -373,8 +366,6 @@ class MainWindow(QtWidgets.QMainWindow):
373
366
  def show_about_dialog(self):
374
367
  """Show about dialog"""
375
368
  self.about_dialog = About(WORKING_PATH)
376
- if self.pref.get("dark_mode"):
377
- self.about_dialog.setStyleSheet(DARK_STYLESHEET)
378
369
  self.about_dialog.donors.setSource(
379
370
  QtCore.QUrl.fromLocalFile(WORKING_PATH + "/data/donors.html")
380
371
  )
@@ -383,8 +374,6 @@ class MainWindow(QtWidgets.QMainWindow):
383
374
  def edit_configuration_settings(self):
384
375
  """Configuration Settings was clicked"""
385
376
  self.configuration_dialog = Settings(WORKING_PATH, CONFIG_PATH, self.pref)
386
- if self.pref.get("dark_mode"):
387
- self.configuration_dialog.setStyleSheet(DARK_STYLESHEET)
388
377
  self.configuration_dialog.usehamdb_radioButton.hide()
389
378
  self.configuration_dialog.show()
390
379
  self.configuration_dialog.accepted.connect(self.edit_configuration_return)
@@ -452,8 +441,6 @@ class MainWindow(QtWidgets.QMainWindow):
452
441
 
453
442
  if contests:
454
443
  self.contest_dialog = SelectContest(WORKING_PATH)
455
- if self.pref.get("dark_mode"):
456
- self.contest_dialog.setStyleSheet(DARK_STYLESHEET)
457
444
  self.contest_dialog.contest_list.setRowCount(0)
458
445
  self.contest_dialog.contest_list.setColumnCount(4)
459
446
  self.contest_dialog.contest_list.verticalHeader().setVisible(False)
@@ -511,14 +498,9 @@ class MainWindow(QtWidgets.QMainWindow):
511
498
  if self.contest_settings is None:
512
499
  return
513
500
  self.contest_dialog = NewContest(WORKING_PATH)
514
- if self.pref.get("dark_mode"):
515
- self.contest_dialog.setStyleSheet(DARK_STYLESHEET)
516
501
  self.contest_dialog.setWindowTitle("Edit Contest")
517
502
  self.contest_dialog.title.setText("")
518
503
  self.contest_dialog.accepted.connect(self.save_edited_contest)
519
- if self.pref.get("dark_mode"):
520
- self.contest_dialog.setStyleSheet(DARK_STYLESHEET)
521
-
522
504
  value = self.contest_settings.get("ContestName").upper().replace("_", " ")
523
505
  if value == "GENERAL LOGGING":
524
506
  value = "General Logging"
@@ -1090,8 +1072,6 @@ class MainWindow(QtWidgets.QMainWindow):
1090
1072
  logger.debug("New contest Dialog")
1091
1073
  self.contest_dialog = NewContest(WORKING_PATH)
1092
1074
  self.contest_dialog.accepted.connect(self.save_contest)
1093
- if self.pref.get("dark_mode"):
1094
- self.contest_dialog.setStyleSheet(DARK_STYLESHEET)
1095
1075
  self.contest_dialog.dateTimeEdit.setDate(QtCore.QDate.currentDate())
1096
1076
  self.contest_dialog.dateTimeEdit.setCalendarPopup(True)
1097
1077
  self.contest_dialog.dateTimeEdit.setTime(QtCore.QTime(0, 0))
@@ -1134,12 +1114,7 @@ class MainWindow(QtWidgets.QMainWindow):
1134
1114
  """Show settings dialog"""
1135
1115
  logger.debug("Station Settings selected")
1136
1116
  self.settings_dialog = EditStation(WORKING_PATH)
1137
- if self.pref.get("dark_mode"):
1138
- self.settings_dialog.setStyleSheet(DARK_STYLESHEET)
1139
1117
  self.settings_dialog.accepted.connect(self.save_settings)
1140
- # if self.pref.get("dark_mode"):
1141
- # self.settings_dialog.setStyleSheet(DARK_STYLESHEET)
1142
-
1143
1118
  self.settings_dialog.Call.setText(self.station.get("Call", ""))
1144
1119
  self.settings_dialog.Name.setText(self.station.get("Name", ""))
1145
1120
  self.settings_dialog.Address1.setText(self.station.get("Street1", ""))
@@ -1205,8 +1180,6 @@ class MainWindow(QtWidgets.QMainWindow):
1205
1180
  """Show edit macro dialog"""
1206
1181
  self.edit_macro_dialog = EditMacro(function_key, WORKING_PATH)
1207
1182
  self.edit_macro_dialog.accepted.connect(self.edited_macro)
1208
- if self.pref.get("dark_mode"):
1209
- self.edit_macro_dialog.setStyleSheet(DARK_STYLESHEET)
1210
1183
  self.edit_macro_dialog.open()
1211
1184
 
1212
1185
  def edited_macro(self):
@@ -1545,11 +1518,6 @@ class MainWindow(QtWidgets.QMainWindow):
1545
1518
  else:
1546
1519
  self.radioButton_sp.setChecked(True)
1547
1520
 
1548
- if self.pref.get("dark_mode"):
1549
- self.actionDark_Mode.setChecked(True)
1550
- else:
1551
- self.actionDark_Mode.setChecked(False)
1552
-
1553
1521
  if self.pref.get("command_buttons"):
1554
1522
  self.actionCommand_Buttons.setChecked(True)
1555
1523
  else:
@@ -1625,7 +1593,6 @@ class MainWindow(QtWidgets.QMainWindow):
1625
1593
  self.n1mm.send_score_packets = self.pref.get("send_n1mm_score", False)
1626
1594
  self.n1mm.radio_info["StationName"] = self.pref.get("n1mm_station_name", "")
1627
1595
 
1628
- self.dark_mode()
1629
1596
  self.show_command_buttons()
1630
1597
  self.show_CW_macros()
1631
1598
  # self.show_band_mode()
@@ -1678,19 +1645,6 @@ class MainWindow(QtWidgets.QMainWindow):
1678
1645
  self.callsign.activateWindow()
1679
1646
  window.raise_()
1680
1647
 
1681
- def dark_mode_state_change(self):
1682
- """darkmode dropdown checkmark changed"""
1683
- self.pref["dark_mode"] = self.actionDark_Mode.isChecked()
1684
- self.write_preference()
1685
- self.dark_mode()
1686
-
1687
- def dark_mode(self):
1688
- """change display mode"""
1689
- if self.pref.get("dark_mode"):
1690
- self.setStyleSheet(DARK_STYLESHEET)
1691
- else:
1692
- self.setStyleSheet("")
1693
-
1694
1648
  def cw_macros_state_changed(self):
1695
1649
  """Menu item to show/hide macro buttons"""
1696
1650
  self.pref["cw_macros"] = self.actionCW_Macros.isChecked()
@@ -46,9 +46,6 @@ CONFIG_PATH += "/not1mm"
46
46
 
47
47
  DARK_STYLESHEET = ""
48
48
 
49
- with open(WORKING_PATH + "/data/Combinear.qss", encoding="utf-8") as stylefile:
50
- DARK_STYLESHEET = stylefile.read()
51
-
52
49
  MULTICAST_PORT = 2239
53
50
  MULTICAST_GROUP = "224.1.1.1"
54
51
  INTERFACE_IP = "0.0.0.0"
@@ -1060,9 +1060,7 @@
1060
1060
  <property name="title">
1061
1061
  <string>View</string>
1062
1062
  </property>
1063
- <addaction name="actionCommand_Buttons"/>
1064
1063
  <addaction name="actionCW_Macros"/>
1065
- <addaction name="actionDark_Mode"/>
1066
1064
  </widget>
1067
1065
  <widget class="QMenu" name="menuWindow">
1068
1066
  <property name="title">
@@ -0,0 +1,2 @@
1
+ """It's the version"""
2
+ __version__ = "23.5.26.1"
@@ -48,8 +48,6 @@ CONFIG_PATH += "/not1mm"
48
48
 
49
49
  DARK_STYLESHEET = ""
50
50
 
51
- with open(WORKING_PATH + "/data/Combinear.qss", encoding="utf-8") as stylefile:
52
- DARK_STYLESHEET = stylefile.read()
53
51
 
54
52
  MULTICAST_PORT = 2239
55
53
  MULTICAST_GROUP = "224.1.1.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 23.5.24
3
+ Version: 23.5.26.1
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/mbridak/not1mm
@@ -38,10 +38,11 @@ License-File: LICENSE
38
38
  - [Ubuntu 23.04](#ubuntu-2304)
39
39
  - [Fedora 38](#fedora-38)
40
40
  - [You may or may not get a warning message like](#you-may-or-may-not-get-a-warning-message-like)
41
+ - [Or this fan favorite](#or-this-fan-favorite)
41
42
  - [Updating with pip/pipx](#updating-with-pippipx)
42
43
  - [Other Libraries](#other-libraries)
43
- - [Running on Ubuntu LTS 22.04](#running-on-ubuntu-lts-2204)
44
44
  - [Dark mode on Ubuntu](#dark-mode-on-ubuntu)
45
+ - [Wayland Compositor](#wayland-compositor)
45
46
  - [Running from source](#running-from-source)
46
47
  - [Various data file locations](#various-data-file-locations)
47
48
  - [Data](#data)
@@ -124,6 +125,7 @@ The current state is "**BETA**". I've used it for A few contests, and was able t
124
125
 
125
126
  ## Changes of note
126
127
 
128
+ - [23-5-26] Fixed Dark Mode on Ubuntu. Removed the crappy dark css theme and the code to load it.
127
129
  - [23-5-24] Added contact delete and change n1mm packets.
128
130
  - [23-5-23] Reworked N1MM packets. Can now specify multiple destinations for the packets.
129
131
  - [23-5-22] Worked on n1mm contactinfo packets. Reduced network beaconing from 100 miliseconds to 10 seconds, Unless the radio state changes.
@@ -220,7 +222,7 @@ I've included what installation steps I took to install on fresh images of Ubunt
220
222
  ```bash
221
223
  sudo apt update
222
224
  sudo apt upgrade
223
- sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy
225
+ sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy adwaita-qt
224
226
  pip install -U not1mm
225
227
  ```
226
228
 
@@ -253,21 +255,13 @@ Consider adding this directory to PATH or, if you prefer to suppress this warnin
253
255
 
254
256
  If you do, just logout and back in, or reboot.
255
257
 
256
- ### Updating with pip/pipx
257
-
258
- I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
259
-
260
- ## Other Libraries
261
-
262
- The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
263
-
264
- ## Running on Ubuntu LTS 22.04
265
-
266
- Seems Ubuntu LTS is not a big fan of wayland. When launching from the command line you'll see a message:
258
+ ### Or this fan favorite
267
259
 
268
- `Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
260
+ ```text
261
+ Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
269
262
  qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
270
- This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.`
263
+ This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
264
+ ```
271
265
 
272
266
  To avoid this you can export an environment variable and launch the app like this:
273
267
 
@@ -275,9 +269,21 @@ To avoid this you can export an environment variable and launch the app like thi
275
269
 
276
270
  For a more permanent solution you can place the line `export QT_QPA_PLATFORM=wayland` in your home directories .bashrc file. Then after logging out and back in you should be able to launch it normally.
277
271
 
272
+ ### Updating with pip/pipx
273
+
274
+ I've been posting updates just about everyday. Sometimes multiple times a day. It's early days, so there is much to do. You can check for and install updates with `pip install -U not1mm` or if installed with pipx `pipx upgrade not1mm`.
275
+
276
+ ## Other Libraries
277
+
278
+ The audio library used, uses pipewire/portaudio. You may need to install portaudio. Ubuntu: `sudo apt install libportaudio2`
279
+
278
280
  ### Dark mode on Ubuntu
279
281
 
280
- For some reason PyQt apps on Ubuntu Gnome don't respect the Dark/Light appearance settings. Fedora Gnome does. I haven't been able to figure out what secret sauce Fedora is using to make this happen. So you can go to `View`>`Force Dark Mode` to load in a dark stylesheet. I personally think it looks like ass, but ass is in the eye of the beholder.
282
+ I believe I figured out dark mode in Ubuntu and have it working on my shack PC that runs Ubuntu 22.04. The secret sauce seems to be installing adwaita-qt with apt, and setting an environment variable `QT_STYLE_OVERRIDE` to `Adwaita-Dark`. I set the environment variable in the start of the program if running on a Gnome platform. So you don't need to do that part.
283
+
284
+ ## Wayland Compositor
285
+
286
+ One side effect of Wayland is that we are not able to request for a window to regain or retain focus. So if you were to click on a spot in the bandmap window to tune to that spot, you would have to then click on the main window to continue entering contest data. I'm aware of this, but i can not change it.
281
287
 
282
288
  ## Running from source
283
289
 
@@ -398,8 +404,12 @@ Under the `CW` TAB, There are three options. `cwdaemon`, which normally uses IP
398
404
 
399
405
  ### N1MM Packets
400
406
 
407
+ Work has started on N1MM udp packets. So far just RadioInfo, contactinfo, contactreplace and contactdelete.
408
+
401
409
  ![N1MM Packet Configuration Screen](https://github.com/mbridak/not1mm/blob/master/pic/n1mm_packet_config.png?raw=true)
402
410
 
411
+ When entering IP and Ports, enter them with a colon ':' between them. You can enter multiple pairs on the same line if separated by a space ' '.
412
+
403
413
  ## Hiding screen elements
404
414
 
405
415
  You can show or hide certain buttons/indicators by checking and unchecking their boxes under the view menu. You can then resize the screen to make it more compact.
@@ -11,7 +11,6 @@ not1mm.egg-info/dependency_links.txt
11
11
  not1mm.egg-info/entry_points.txt
12
12
  not1mm.egg-info/requires.txt
13
13
  not1mm.egg-info/top_level.txt
14
- not1mm/data/Combinear.qss
15
14
  not1mm/data/JetBrainsMono-Regular.ttf
16
15
  not1mm/data/MASTER.SCP
17
16
  not1mm/data/about.ui
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "not1mm"
7
- version = "23.5.24"
7
+ version = "23.5.26.1"
8
8
  description = "NOT1MM Logger"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"